Skip to content

QUEUE-144: Legacy listener source; deliver through #1746 [do not merge] - #1725

Draft
peter-lawrey wants to merge 5 commits into
feature/QUEUE-144-queue-default-time-providerfrom
feature/QUEUE-144-queue-context-listener-core-split-base
Draft

peter-lawrey wants to merge 5 commits into
feature/QUEUE-144-queue-default-time-providerfrom
feature/QUEUE-144-queue-context-listener-core-split-base

Conversation

@peter-lawrey

@peter-lawrey peter-lawrey commented Aug 7, 2026 •

Copy link
Copy Markdown
Member

Deliver the complete listener lifecycle once through #1746, based on #1745 and the merged Wire #1280 implementation. Preserve this older branch as a comparison/reference; do not split its API, helper and integration into incomplete children.

There is a substantive semantic difference. This branch's ContextListenerCoreTest.indexedWriteDoesNotNotifyButStartsAppender consumes ordinary registration through an indexed write. #1746 instead tests indexedWriteDoesNotNotifyOrConsumeListenerRegistration and exactHistoricalRecoveryDoesNotChangeOrdinaryContext. The modern policy keeps exact recovery from consuming ordinary registration and includes stronger callback escape/failure handling.

Builder configuration, appender-local state, first notification, retained writers, nested/held documents, rollback and re-entry must agree on that modern contract. The old default-clock prerequisite #1729 remains part of the reference history; no second listener delivery is created on it.

Retained source 71c9db2f3c9f6a55a4cc5bc487802253df83930c includes current develop and the updated old prerequisite. The refresh's full test pass remains evidence for that older tree, not evidence that the two lifecycle policies are interchangeable.

@peter-lawrey
peter-lawrey force-pushed the feature/QUEUE-143-queue-integration-points branch from 41a6ae9 to 90bbd3c Compare August 7, 2026 09:05
@peter-lawrey
peter-lawrey force-pushed the feature/QUEUE-144-queue-context-listener-core-split-base branch from b858453 to e3a9ebe Compare August 7, 2026 09:07
@peter-lawrey
peter-lawrey changed the base branch from feature/QUEUE-143-queue-integration-points to feature/QUEUE-144-queue-default-time-provider August 10, 2026 08:01
@peter-lawrey
peter-lawrey force-pushed the feature/QUEUE-144-queue-context-listener-core-split-base branch from 627ea1f to 7bdb6b6 Compare August 10, 2026 11:40
@peter-lawrey
peter-lawrey marked this pull request as ready for review August 10, 2026 11:45
@peter-lawrey peter-lawrey self-assigned this Aug 10, 2026
@peter-lawrey
peter-lawrey requested review from tgd and a balanced review from Copilot August 10, 2026 11:45

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds per-appender context listeners that emit context before the first data document of each queue roll.

Changes:

  • Adds queue- and appender-level listener configuration.
  • Supports retained/progressive writers and rejects incompatible buffering.
  • Adds lifecycle and rollover tests.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
ContextListenerCoreTest.java Tests listener lifecycle and rollover behavior.
StoreTailer.java Exposes the current cycle as context count.
StoreAppender.java Integrates listener invocation into writes.
SingleChronicleQueueBuilder.java Adds listener configuration and validation.
SingleChronicleQueue.java Propagates listener state to appenders.
ContextListenerState.java Implements listener state and writer handling.
ExcerptAppender.java Documents and exposes listener configuration.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread src/main/java/net/openhft/chronicle/queue/ExcerptAppender.java Outdated
@peter-lawrey
peter-lawrey force-pushed the feature/QUEUE-144-queue-context-listener-core-split-base branch from 47be341 to e2c7a28 Compare August 10, 2026 13:05
@tgd
tgd requested a review from benbonavia August 10, 2026 16:59
@peter-lawrey peter-lawrey changed the title QUEUE-144: Add Queue context listener core on split base QUEUE-144: Legacy listener source; deliver through #1746 [do not merge] Sep 12, 2026
@peter-lawrey
peter-lawrey marked this pull request as draft September 12, 2026 08:10

This branch has not been deployed

No deployments
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.

3 participants