-
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: add FLUX_KVS_PEDANTIC flag for lookups #1653
Comments
chu11
added a commit
to chu11/flux-core
that referenced
this issue
Nov 19, 2018
Support new flag that supports the more classic "kvs.watch" semantics. In particular, instead of watching for specific changes of a key, lookup a key on every setroot change to verify if the value has changed. Fixes flux-framework#1653
chu11
added a commit
to chu11/flux-core
that referenced
this issue
Nov 19, 2018
Support new flag that supports "kvs.watch" semantics. In particular, instead of watching for specific writes to a key, lookup a key on every setroot change and see if the value has changed. Fixes flux-framework#1653
This was referenced Nov 19, 2018
chu11
added a commit
to chu11/flux-core
that referenced
this issue
Nov 20, 2018
Support new flag that supports "kvs.watch" semantics. In particular, instead of watching for specific writes to a key, lookup a key on every setroot change and see if the value has changed. Fixes flux-framework#1653
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
As mentioned in #1556, the proposed lightweight KVS watch has semantic differences from the current KVS watch service, arising from fact that, in the lightweight implementation, the the key is only looked up when it is mentioned verbatim in a
kvs.setroot
event (which tracks the keys mentioned in a KVS transaction). Other actions that could affect the value that would be looked up are not detected, such as replacing its parent directory.The current KVS watch service is heavyweight because it checks the value of each watched key on each
kvs.setroot
event.Although the heavyweight design may not be desirable in the common case, there may still be cases where it is useful. Furthermore, existing tests, bindings, etc.. depend on these semantics for the moment.
To implement a flag which activates the heavyweight semantics, the
kvs-watch
module would need two changeskvs.setroot
event and look up the key on every commitThe text was updated successfully, but these errors were encountered: