Skip to content

Stability fixes#127

Merged
CodeDrivenMitch merged 7 commits intomainfrom
feature/stability-march-2026
Mar 25, 2026
Merged

Stability fixes#127
CodeDrivenMitch merged 7 commits intomainfrom
feature/stability-march-2026

Conversation

@CodeDrivenMitch
Copy link
Copy Markdown
Collaborator

Updates the AxoniqConsoleRSocketClient in various ways to improve error handling:

  • Handle heartbeat errors, so no onErrorDropped errors occur
  • Replace blocking connection logic with reactive buildConnectionMono/getOrConnectRSocket, deduplicating concurrent connection attempts via a cached pending Mono
  • Fix heartbeat tasks never being nulled in onDisconnected, which prevented them from being rescheduled after a reconnect
  • Replace createRSocket (blocking .block()) with createRSocketMono
  • Simplify disposeCurrentConnection by removing unnecessary ReentrantLock
  • Add onErrorMap + doOnError in retrieveSettings for proper error logging and propagation
  • Distinguish "Lost connection" from "Unable to connect" based on whether a successful connection was ever established
  • Fix suppressConnectMessage typo (was supressConnectMessage)
  • Call ensureConnected immediately on start() before scheduling the maintenance task

In addition, the EventSourcingConfigurerEnhancer now only is applied if the HandlerMetricRegistry is present. This removes the need to disable this enhancer in tests.

Updates the AxoniqConsoleRSocketClient in various ways to improve error handling:
- Handle heartbeat errors, so no onErrorDropped errors occur
- Replace blocking connection logic with reactive buildConnectionMono/getOrConnectRSocket, deduplicating concurrent connection attempts via a cached pending Mono
- Fix heartbeat tasks never being nulled in onDisconnected, which prevented them from being rescheduled after a reconnect
- Replace createRSocket (blocking .block()) with createRSocketMono
- Simplify disposeCurrentConnection by removing unnecessary ReentrantLock
- Add onErrorMap + doOnError in retrieveSettings for proper error logging and propagation
- Distinguish "Lost connection" from "Unable to connect" based on whether a successful connection was ever established
- Fix suppressConnectMessage typo (was supressConnectMessage)
- Call ensureConnected immediately on start() before scheduling the maintenance task

In addition, the EventSourcingConfigurerEnhancer now only is applied if the HandlerMetricRegistry is present. This removes the need to disable this enhancer in tests.
@CodeDrivenMitch CodeDrivenMitch requested a review from a team March 17, 2026 16:47
@CodeDrivenMitch CodeDrivenMitch self-assigned this Mar 17, 2026
@CodeDrivenMitch CodeDrivenMitch requested review from MartinPfeffer, alex-w0, corradom, dilgerma and stefanmirkovic and removed request for a team March 17, 2026 16:47
@CodeDrivenMitch CodeDrivenMitch force-pushed the feature/stability-march-2026 branch from be61c1c to 373ab0f Compare March 18, 2026 10:07
@CodeDrivenMitch CodeDrivenMitch force-pushed the feature/stability-march-2026 branch from 373ab0f to e4e4d7f Compare March 18, 2026 10:55
stefanmirkovic and others added 2 commits March 23, 2026 15:08
…lled multiple times by AF5's module system (once per sub-module), causing duplicate registration of AxoniqConsoleRSocketClient and all platform components - resulting in 5 parallel RSocket connections from a single application instance. Added a guard to skip enhancement when components are already registered, matching the idempotent behavior expected by AF5's ConfigurationEnhancer contract.
@sonarqubecloud
Copy link
Copy Markdown

@CodeDrivenMitch CodeDrivenMitch merged commit ae33c1d into main Mar 25, 2026
3 checks passed
@CodeDrivenMitch CodeDrivenMitch deleted the feature/stability-march-2026 branch March 25, 2026 12:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants