decaton icon indicating copy to clipboard operation
decaton copied to clipboard

Narrow the scope of waiting pending task count upon dynamic property reload

Open ocadaruma opened this issue 1 year ago • 0 comments

  • Currently, Decaton's dynamic property reload is implemented like below:
    • When dynamic-property change is detected, up "reloadRequested" flag: https://github.com/line/decaton/blob/v5.0.1/processor/src/main/java/com/linecorp/decaton/processor/runtime/internal/PartitionContexts.java#L74
  • Wait all pending tasks are processed
  • After that, recreating partition contexts with new concurrency count

Though this "safepoint"-like mechanism was to preserve per-key process ordering guarantee even on concurrency change, at least, we can narrow down the scope of safepoint to per-partition instead of global without violating per-key ordering guarantee.

ocadaruma avatar Sep 22 '22 08:09 ocadaruma