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

implement async `kvs_fence()` call #707

Closed
garlick opened this Issue Jun 24, 2016 · 0 comments

Comments

Projects
None yet
1 participant
@garlick
Copy link
Member

garlick commented Jun 24, 2016

As noted in #706, we need a version of kvs_fence() that is non-blocking, and allows the response to be handled via an RPC continuation.

The KVS API is due for a rework anyway. I propose we go ahead and take a step in this direction by reworking kvs_fence(). Where I've been stuck before is in naming the two halves, especially when we'll have to split kvs_get(), since the second half might naturally have a _get suffix to match flux_rpc_get(). Her's a tentaive proposal:

Current blocking prototype:

int kvs_fence (flux_t h, const char *name, int nprocs);

Proposed new prototypes:

// calls flux_rpc()
flux_rpc_t *flux_kvs_fence_start (flux_t h, const char *name, int nprocs);

// calls flux_rpc_get()
int flux_kvs_fence_finish (flux_rpc_t *rpc);

// calls flux_kvs_fence_start() then flux_kvs_fence_finish()
int flux_kvs_fence (flux_t h, const char *name, int nprocs);

garlick added a commit to garlick/flux-core that referenced this issue Jun 24, 2016

modules/kvs: add async fence operations
Split kvs_fence() into kvs_fence_begin() and kvs_fence_finish().
Fixes flux-framework#707.

garlick added a commit to garlick/flux-core that referenced this issue Jun 28, 2016

modules/kvs: add async fence operations
Split kvs_fence() into kvs_fence_begin() and kvs_fence_finish().
Fixes flux-framework#707.

@grondo grondo closed this in ae2eb13 Jun 28, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.