-
Notifications
You must be signed in to change notification settings - Fork 50
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
kvs: fold watch into flux_kvs_lookup() interface with new flag #1556
Comments
Thinking about this, we could maybe implement this in a new So if The new module would monitor the Eventually we would remove the old KVS watch code from the |
Just an update here: The What's left to do is to implement the ability a |
We're almost there. Closing this and will track remaining work in individual issues. |
The KVS watch API has still not been reworked to fit with the rest of the KVS API.
Here is one proposal. Since the bindings and a lot of tests depend on the current semantics of kvs_watch, develop a new interface based on adding a watch flag to
flux_kvs_lookup()
, then move bindings and tests to it gradually.Since we now have
flux_future_reset()
(#1503) and have defined semantics for "streaming" responses to RPCs in RFC 6, it seems appropriate to have a lookup request that can receive multiple responses.As suggested in #803, we could dramatically reduce the cost of a KVS watch by listing the modified keys (from txn ops) in the
kvs.setroot
event. If a watched key appears on a setroot event, this can trigger a lookup relative to the root blobref in the event, and a lookup response for its value.Doing things this way would have the following effects on watch semantics:
The text was updated successfully, but these errors were encountered: