Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AutoConfigure detects protocol failure HeartBeats allow ReplicaReconfig #2779

Closed
wants to merge 1 commit into from

Conversation

leachdaniel-clark
Copy link

When connecting to a Redis Cluster and enabling the HeartbeatConsistencyChecks this prevents CheckInfoReplication() from ever being called and ConfigCheckSeconds is no longer respected.

This change will do the replication check but adds the RecordConnectionFailed like the TracerProcessor was doing for HeartbeatConsistencyChecks.

I haven't been able to run all the tests locally so I'm not sure if this change breaks anything, but was able to build the package and use it successfully.

The main thing I would be concerned about is if there are scenarios that AutoConfigureProcessor shouldn't parse anything, this would be recorded as a protocol failure.

This should fix the issue mentioned in #2778.

NickCraver added a commit that referenced this pull request Sep 3, 2024
This is an issue identified in ##2778 and #2779 where we're not updating replication topology if heartbeat consistency checks are enabled because we exit the `if` structure early. This still runs that check if it's due in both cases, without changing the behavior of the result processor.
@NickCraver
Copy link
Collaborator

We looked at this in the weekly call - I agree with the issue, but am very hesitant to change the result processor behavior. I've pitched an alternative solution in #2784.

The problem with failing on the result processor is that we get some invalid responses from some servers and proxies that today would fall back to using the configured state, but this would change that situation into looping on connection fails, so I'd rather not shift any on that front :)

NickCraver added a commit that referenced this pull request Sep 3, 2024
…cks (#2784)

* Fix #2778: Run CheckInfoReplication even with HeartbeatConsistencyChecks

This is an issue identified in ##2778 and #2779 where we're not updating replication topology if heartbeat consistency checks are enabled because we exit the `if` structure early. This still runs that check if it's due in both cases, without changing the behavior of the result processor.

* Add release notes
@NickCraver
Copy link
Collaborator

Closing this out as a PR, but will be fixed in a release we're cutting shortly.

Thanks a ton for raising this to our attention, and included you in the release notes on this as well (can remove if you'd rather not, but we're big on credit for things).

Cheers!

@NickCraver NickCraver closed this Sep 3, 2024
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.

2 participants