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

kvs: add FLUX_KVS_PEDANTIC flag for lookups #1653

Closed
garlick opened this issue Sep 11, 2018 · 0 comments
Closed

kvs: add FLUX_KVS_PEDANTIC flag for lookups #1653

garlick opened this issue Sep 11, 2018 · 0 comments
Assignees

Comments

@garlick
Copy link
Member

garlick commented Sep 11, 2018

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 changes

  1. ignore the key list in the kvs.setroot event and look up the key on every commit
  2. track the last value returned to the user, and return a response only when it has changed
@chu11 chu11 self-assigned this Nov 16, 2018
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
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
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants