[core] make dynamic-bucket.initial-buckets immutable#7491
[core] make dynamic-bucket.initial-buckets immutable#7491jacklong319 wants to merge 1 commit intoapache:masterfrom
Conversation
|
I also hit this issue in a real cross-partition upsert job. Scenario:
It seems that changing The stack trace is like this:
|
|
One more concern is the production impact of this issue. For an already-used dynamic bucket table with a large amount of existing data, if In practice, this is a serious online risk because:
So this is not only a usability issue, but also a stability and operability issue in production environments. It would be much safer to reject changing |
Purpose
ISSUE
dynamic-bucket.initial-bucketsaffects assigner/bootstrap semantics for dynamic bucket tables.For existing tables, changing this option may break Flink recovery/checkpoint for cross-partition upsert jobs, and may finally fail during bootstrap with duplicate-key related exceptions.
This PR marks
dynamic-bucket.initial-bucketsas immutable so that users get a clear validation error earlier instead of hitting runtime failures later.Changes
@ImmutabletoCoreOptions.DYNAMIC_BUCKET_INITIAL_BUCKETSTests
API and Format
Documentation
Generative AI tooling