Skip to content

Wb/ralph test 2#76

Draft
williamboxhall wants to merge 11 commits intomasterfrom
wb/ralph_test_2
Draft

Wb/ralph test 2#76
williamboxhall wants to merge 11 commits intomasterfrom
wb/ralph_test_2

Conversation

@williamboxhall
Copy link
Copy Markdown
Contributor

No description provided.

williamboxhall and others added 8 commits February 4, 2026 14:16
Implements Phase 1 of synchronous event processor enhancement.

- Added endOfSinkTransactionHook parameter to constructor and create() method
- Hook called within database transaction before commit
- Added error handling to ensure transaction rollback on hook failures
- Maintains backward compatibility with default empty implementation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The try-catch block that caught and immediately re-threw exceptions
served no purpose - transaction rollback occurs naturally when
endOfSinkTransactionHook throws an exception.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Verify backward compatibility with existing tests and add comprehensive
tests for new endOfSinkTransactionHook functionality:
- Confirm hook called within transaction before afterSinkHook
- Verify transaction rollback when hook throws exception

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Phase 2 implementation:
- Create BlockingSyncEventProcessorUpdater class accepting list of BookmarkedEventProcessor<M>
- Implement event filtering logic using domainEventClasses() pattern from BlockingAsyncEventProcessorWaiter
- Add comprehensive tests for event type filtering with multiple processors
- Tests verify correct filtering, multiple processors with same event type, empty cases

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
williamboxhall and others added 3 commits February 4, 2026 15:36
Update BlockingSyncEventProcessorUpdater to include EventSource parameter and
implement catch-up mechanism that checks processor bookmarks against new events.
When processors are behind, fetches missed events using EventSource.getAfter()
and processes them before handling new events.

- Added EventSource parameter to constructor for fetching missed events
- Implemented catch-up logic that compares bookmark sequence to new event sequences
- Added comprehensive tests covering catch-up and no-op scenarios when already caught up
- Updated existing tests to pass new EventSource parameter

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
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