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: refactor kvs lookup replays #1696
Conversation
Codecov Report
@@ Coverage Diff @@
## master #1696 +/- ##
==========================================
- Coverage 79.3% 79.28% -0.02%
==========================================
Files 186 185 -1
Lines 35059 35037 -22
==========================================
- Hits 27804 27780 -24
- Misses 7255 7257 +2
|
Add flux_requeue_nocopy(), equivalent to flux_requeue() but takes ownership of the message passed in by the caller.
Add msg_cb_handler_msg_aux_set() and msg_cb_handler_msg_aux_get() to msg_cb_handler to allow user to set/get aux data to the message stored within the msg cb handler.
Add wait_msg_aux_set() and wait_msg_aux_get() to internal wait_t structure to allow user to set/get aux data to the message stored within a wait_t.
When a lookup request is replayed, instead of passing the lookup handle via the additional 'arg' parameter, pass it via auxiliary data in the rpc message.
On getroot stalls, instead of calling the original callback function directly (via msg_cb_handler), instead simply replay the original message via flux_requeue_nocopy(). Fixes flux-framework#1318
Remove aux data support in a lookup_t during create time and remove lookup_get_aux_data(). aux data in lookup is no longer used.
Refactor waitqueue to internally manage msg callback handler instead of using msg_cb_handler. This commit effectively reverts 0c3dfce
rebased on master after the #1694 merge |
Nice cleanup! |
Hm, your build hit the same hangs as @SteVwonder saw in #1699 at
I'll try restarting builders for now, but we may have to reopen #1699 and follow up (now that we know it can be reproduced in a PR I guess) |
It seems to have hung again:
Time to re-open #1699? |
This looks great @chu11! |
stephen seems to have his debug logs, so restarting the builder hoping it'll pass this time |
looks like it passed this time |
Per discussion in #1318, refactor replays of lookups to use flux msg aux instead of rpc
arg
parameter.This cleans up the code a bit and IMO makes it more clear, but the big win is the removal of the
msg_cb_handler
mini-library in the KVS module.This PR follows #1694 and should be merged after it.