-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Avoid False Positives 409s in Thanos Receive Replication #1615
Comments
squat
added a commit
to squat/thanos
that referenced
this issue
Oct 9, 2019
This commit ensures that the `replicate` func does not falsely identify a replication error as a conflict. If the number of conflict errors during replication is less than the minimum replication threshold, then replication cannot be said to have failed due to a conflict and the request should be retried. Fixes: thanos-io#1615 xref: thanos-io#1563 Signed-off-by: Lucas Servén Marín <[email protected]>
squat
added a commit
to squat/thanos
that referenced
this issue
Oct 9, 2019
This commit ensures that the `replicate` func does not falsely identify a replication error as a conflict. If the number of conflict errors during replication is less than the minimum replication threshold, then replication cannot be said to have failed due to a conflict and the request should be retried. Fixes: thanos-io#1615 xref: thanos-io#1563 Signed-off-by: Lucas Servén Marín <[email protected]>
brancz
pushed a commit
that referenced
this issue
Oct 9, 2019
This commit ensures that the `replicate` func does not falsely identify a replication error as a conflict. If the number of conflict errors during replication is less than the minimum replication threshold, then replication cannot be said to have failed due to a conflict and the request should be retried. Fixes: #1615 xref: #1563 Signed-off-by: Lucas Servén Marín <[email protected]>
GiedriusS
pushed a commit
that referenced
this issue
Oct 28, 2019
This commit ensures that the `replicate` func does not falsely identify a replication error as a conflict. If the number of conflict errors during replication is less than the minimum replication threshold, then replication cannot be said to have failed due to a conflict and the request should be retried. Fixes: #1615 xref: #1563 Signed-off-by: Lucas Servén Marín <[email protected]> Signed-off-by: Giedrius Statkevičius <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
There is a little bit of nuance in the replication error logic that we can improve in order to avoid false positives when discovering 409s. Namely, when the replicate func checks for errors, it should only return the 409 if the number of 409s in the multi-error was greater than or equal to the minimum replication threshold. Otherwise, the replication should be retried.
In order words, let's say we have replication factor 3. This means the minimum replication threshold is 2.
xref: #1563 #1586
The text was updated successfully, but these errors were encountered: