Skip to content

Conversation

@jiayuasu
Copy link
Member

Did you read the Contributor Guide?

Is this PR related to a ticket?

What changes were proposed in this PR?

When SedonaContext.create() is called a second time, all ~329 ST functions are re-registered. Spark's FunctionRegistry detects that each function already exists with a different builder closure and emits a WARN log for each one, producing hundreds of noisy "replaced a previously registered function" warning lines.

This PR adds functionExists() guards in AbstractCatalog.registerAll() before registering both expression functions and aggThis PR adds functionExists() guards in AbstractCatalog.registerAll() before registering both nThis PR adds functionExists() guards in `AbstractCatalog.ratch tested?

Existing uExisting uExisting uExisting uExisting uExistinge Existing uExisting uExisting uExisting uExisting uExistinge Existing uExisting uExisting uExisting uExisting uExistinge Existing uExisting uExisting uExisting uExisting uExistinge anyExisting uExisting uExisting uEe the documentation.

When SedonaContext.create() is called a second time, all ~329 ST functions
are re-registered. Spark's FunctionRegistry detects that each function
already exists with a different builder closure and emits a WARN log for
each one, producing hundreds of noisy warning lines.

Guard both expression and aggregate function registration with
functionExists() checks to skip functions that are already registered
in the session's function registry.

Closes #2640
@jiayuasu jiayuasu force-pushed the fix/2640-simplify-sedonacontext-warnings branch from 8553b05 to 61e54c9 Compare February 11, 2026 09:48
@jiayuasu jiayuasu added this to the sedona-1.9.0 milestone Feb 11, 2026
@jiayuasu jiayuasu merged commit 1a3ec79 into master Feb 11, 2026
48 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Simply the warning messages of SedonaContext.create()

1 participant