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.
Coordinator and Balancer breaking API changes
Fixes lytics#100
Tasks now can have extra metadata (properties) and internally are
repesented as an interface instead of a simple string ID.
The intention is to offer a minimal amount of metadata for balancers and
handlers to use when deciding what to do with a task. It is not meant
to be used as the canonical store for task configuration as there's no
support for changing the metadata and notifying handlers of changes.
We also don't want the coordinator to consider the broker a general
purpose database. Using it as a distributed lock is already difficult
enough without piling more complexity into it.
Also fixes a tiny obscure bug in fair balancer where it might try to
release the same task more than once per
Balance()
call.Client API changes
Client.Nodes
was removed as it's not really useful enough to forceclients to implement it.
Client.DeleteTask
was removed because it was dangerous and shouldnever be used.
Client.SubmitTask
now accepts a properties map.