-
Notifications
You must be signed in to change notification settings - Fork 89
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add Transport Package with Event Publishing Components (#4721)
## Overview This PR introduces a new `transport` package that bridges BoltDB event logs with NATS messaging: - `Dispatcher`: Ensures reliable delivery of events from compute nodes to orchestrator - Links BoltDB local event log with NATS publisher - Provides ordering and durability guarantees - Handles recovery and retries during network issues - `Forwarder`: Best-effort publishing from orchestrator to compute nodes - Temporary solution until proper node join handshake is implemented - Prevents single compute node from blocking event flow to others - Simple pass-through without reliability guarantees ## Key Aspects - Dispatcher maintains sequence tracking between BoltDB and NATS - Forwarder is deliberately simple to avoid complexity in orchestrator->compute path - Both components share common utilities but serve different reliability needs ## Next Steps - Implement proper compute node join handshake protocol - Replace forwarder with more robust solution once handshake is in place <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Release Notes - **New Features** - Introduced a new term `Lenf` in the spell checker dictionary for enhanced recognition. - Added a centralized error handling mechanism in message processing for improved logging and error management. - Implemented a `ProtocolRouter` for better protocol management and routing of commands. - Added a `Forwarder` for forwarding events without delivery guarantees. - **Bug Fixes** - Improved error handling in event processing to ensure consistent behavior and logging. - **Tests** - Comprehensive test suites created for the `NCLMessageCreator`, `ProtocolRouter`, and `Forwarder` to validate functionality and error handling. - Enhanced existing tests for robustness and clarity in error reporting. - **Documentation** - Updated configuration structures and validation methods for the dispatcher to improve setup and error handling. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
- Loading branch information
1 parent
a294c3c
commit e04a386
Showing
56 changed files
with
4,353 additions
and
1,407 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -438,3 +438,4 @@ buildvcs | |
Nilf | ||
IMDS | ||
tlsca | ||
Lenf |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.