Skip to content

Stability fixes#127

Open
CodeDrivenMitch wants to merge 2 commits intomainfrom
feature/stability-march-2026
Open

Stability fixes#127
CodeDrivenMitch wants to merge 2 commits intomainfrom
feature/stability-march-2026

Conversation

@CodeDrivenMitch
Copy link
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
@sonarqubecloud
Copy link

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.

1 participant