-
Notifications
You must be signed in to change notification settings - Fork 4.4k
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
Support for "tag drift" between server and client representations #1102
Comments
Interesting approach. @armon do you think this would basically just be a flag to disable tag sync during anti-entropy altogether? Sounds like the easiest way might be to just sync the tags if we are doing a registration, but not if we are ensuring later on. |
@ryanuber I think the flag would just nil-out the tags for the purpose of checking if the two service entries are the same. This way if the service registration is missing, then the client side tags are used. Otherwise, the service side tags are used. |
This is merged and will go out in the next release. |
Typically we treat the client version of a service/check as authoritative and the source of truth. This simplifies the anti-entropy story and consistency as the edges always hold the truth. However, for some use cases, remote nodes need to modify the tags without the edge being aware. This is a problem today as the edges always "correct" the changes during anti-entropy. Supporting tag drift allows the clients to still manage register/deregister and the health checks but without overriding changes to tags on the servers. This enables some of these specialized use cases.
The text was updated successfully, but these errors were encountered: