Block until service/check sync is attempted from /v1/agent API's #723
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #231 by blocking the HTTP API responses until a sync has been attempted. This is still a "best-effort" mechanism in that the call to
syncChanges()
can fail. In this case, the service or check actually is registered with the agent, so it doesn't make sense for the caller to retry. Thus, if we fail asyncChanges()
, we only log a warning, but still return the 200-range response to the client. Consul's built-in anti-entropy will take care of syncing the services and checks to the catalog once it is able. This seems like the best we can do.@armon thoughts on this?