-
Notifications
You must be signed in to change notification settings - Fork 163
[api][runtime][python] Add opt-in Kafka tombstones for pruned action state #885
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
0db12a6
98b1aaa
2c033e7
e434753
a02a28a
55f7874
41c9fee
07958ff
f46cffc
2cb557c
2cb89d8
14b894f
16b44b6
d09d94c
a8bf18a
fca59c2
8b8db63
a6c68e3
298e44b
53ca826
3435e07
ad61517
69fa856
1f371bd
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -81,6 +81,19 @@ public enum ConditionEvaluationFailureStrategy { | |
| public static final ConfigOption<Integer> KAFKA_ACTION_STATE_TOPIC_REPLICATION_FACTOR = | ||
| new ConfigOption<>("kafkaActionStateTopicReplicationFactor", Integer.class, 1); | ||
|
|
||
| /** | ||
| * The config parameter determines whether pruning sends tombstone (null-valued) records to the | ||
| * Kafka action state topic so log compaction can reclaim pruned keys. Defaults to {@code | ||
| * false}: disabling this option does not invalidate older restore points through pruning, but | ||
| * the topic continues to grow. When enabled, the checkpoint whose completion triggers pruning | ||
| * remains usable, but restoring an earlier checkpoint or savepoint may replay tombstones | ||
| * written after that restore point, erasing action state the replay still needs and causing | ||
| * already completed actions to re-execute. Enable only if the job never restores from earlier | ||
| * checkpoints or savepoints, or if re-executing actions is acceptable. | ||
| */ | ||
| public static final ConfigOption<Boolean> KAFKA_ACTION_STATE_TOMBSTONE_ENABLED = | ||
| new ConfigOption<>("kafkaActionStateTombstoneEnabled", Boolean.class, false); | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Defaulting to That does leave #691's original ask — the unbounded growth — unaddressed while the option is off. Where do you see this landing: is opt-in the endpoint, or would a follow-up be worth filing so the issue has somewhere to point?
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
|
|
||
| /** The config parameter specifies the Fluss bootstrap servers. */ | ||
| public static final ConfigOption<String> FLUSS_BOOTSTRAP_SERVERS = | ||
| new ConfigOption<>("flussBootstrapServers", String.class, "localhost:9123"); | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could we also add the corresponding option to python/flink_agents/api/core_options.py? The cross-language option parity check currently fails because this field exists only on the Java side.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
added matching Python option.