Skip to content
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

Add task properties support #1

Closed
wants to merge 1 commit into from
Closed

Add task properties support #1

wants to merge 1 commit into from

Conversation

schmichael
Copy link
Owner

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 force
    clients to implement it.
  • Client.DeleteTask was removed because it was dangerous and should
    never be used.
  • Client.SubmitTask now accepts a properties map.

**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 force
  clients to implement it.
* `Client.DeleteTask` was removed because it was dangerous and should
  *never* be used.
* `Client.SubmitTask` now accepts a properties map.
@schmichael
Copy link
Owner Author

Superseded by lytics#133

@schmichael schmichael closed this Aug 5, 2015
@schmichael schmichael deleted the taskprops branch August 5, 2015 21:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant