You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While working on #8047, a boolean endpointEnteredTF was added based on the the pseudocode in A61:
if (in_transient_failure && endpoint_entered_transient_failure) {
During a discussion it was found that endpoint_entered_transient_failure condition can cause the ring hash to remain in TF in certain situations where the aggregated state is TF, but no endpoint actually enters TF:
Scenario 1: There are four endpoints in the following states: TF, TF, READY, and IDLE. If the READY endpoint fails, it transitions to IDLE, resulting in the new states: TF, TF, IDLE, IDLE.
Scenario 2: There are four endpoints in the following states: TF, TF, CONNECTING, and IDLE. If the CONNECTING endpoint is removed, the new states become: TF, TF, IDLE.
A discussion was started with other language maintainers to discuss the optimal fix. In Go, the endpoint_entered_transient_failure check was removed and new a endpoint is tried every time ringhash finds no connecting endpoints. This maintains the behaviour before dualstack changes. Depending on the discussion with other maintainers, the ringhash implementation may need to be updated.
The text was updated successfully, but these errors were encountered:
While working on #8047, a boolean
endpointEnteredTF
was added based on the the pseudocode in A61:if (in_transient_failure && endpoint_entered_transient_failure) {
During a discussion it was found that
endpoint_entered_transient_failure
condition can cause the ring hash to remain in TF in certain situations where the aggregated state is TF, but no endpoint actually enters TF:A discussion was started with other language maintainers to discuss the optimal fix. In Go, the
endpoint_entered_transient_failure
check was removed and new a endpoint is tried every time ringhash finds no connecting endpoints. This maintains the behaviour before dualstack changes. Depending on the discussion with other maintainers, the ringhash implementation may need to be updated.The text was updated successfully, but these errors were encountered: