Skip to content

[refactor][broker] Decouple delayed delivery trackers from dispatcher#24

Open
Denovo1998 wants to merge 9 commits into
masterfrom
bucket_delivery_tracker_prep
Open

[refactor][broker] Decouple delayed delivery trackers from dispatcher#24
Denovo1998 wants to merge 9 commits into
masterfrom
bucket_delivery_tracker_prep

Conversation

@Denovo1998

Copy link
Copy Markdown
Owner

Motivation

PR apache#24739 currently mixes correctness and threading changes with benchmark and testability refactors, which makes the review difficult to scope. This preparatory PR extracts the delayed delivery tracker context that is needed to construct trackers without a real dispatcher, so the benchmark and test scaffolding can be reviewed separately. The goal is to keep the existing production behavior intact while making the tracker setup reusable from microbench code.

Modifications

  • introduce DelayedDeliveryContext plus dispatcher-backed and no-op implementations for delayed delivery trackers
  • add context-based and name+cursor-based constructors to the delayed delivery trackers, while keeping the existing dispatcher-based production entry points intact
  • update the delayed delivery tracker factories to expose benchmark/test construction helpers without changing the production factory flow
  • make MockManagedCursor public for microbench usage and switch the JMH benchmark setup to the new context-based tracker construction
  • add MockBucketSnapshotStorage, add the new BucketDelayedDeliveryTrackerBenchmark, and remove the old simple benchmark

Verifying this change

  • Make sure that the change passes the CI checks.

(Please pick either of the following options)

This change is a trivial rework / code cleanup without any test coverage.

(or)

This change is already covered by existing tests, such as (please describe tests).

(or)

This change added tests and can be verified as follows:

(example:)

  • Added integration tests for end-to-end deployment with large payloads (10MB)
  • Extended integration test for recovery after broker failure

Documentation

  • doc
  • doc-required
  • doc-not-needed
  • doc-complete

Matching PR in forked repository

PR in forked repository: apache#25384

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant