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: do not generate uuid for commit transactions, use fixed algorithm for 'name' #1458

Merged
merged 3 commits into from
Apr 13, 2018

Conversation

chu11
Copy link
Member

@chu11 chu11 commented Apr 12, 2018

As discussed in #1446, do not generate a uuid for commit transactions, which is expensive. Instead, use a fixed algorithm to generate a name for each transaction, using the rank and sequence number incremented on each rank.

The commit RPC no longer needs to include the "name" field anymore as a result. As the name can be generated within the kvs module.

@coveralls
Copy link

coveralls commented Apr 12, 2018

Coverage Status

Coverage increased (+0.04%) to 79.065% when pulling 2e4877b on chu11:issue1446 into 6293cac on flux-framework:master.

@grondo
Copy link
Contributor

grondo commented Apr 12, 2018

nice improvement. Thanks!

@codecov-io
Copy link

Codecov Report

Merging #1458 into master will decrease coverage by 0.06%.
The diff coverage is 88.88%.

@@            Coverage Diff             @@
##           master    #1458      +/-   ##
==========================================
- Coverage    78.8%   78.73%   -0.07%     
==========================================
  Files         163      163              
  Lines       30220    30221       +1     
==========================================
- Hits        23814    23796      -18     
- Misses       6406     6425      +19
Impacted Files Coverage Δ
src/modules/kvs/treq.c 89.84% <100%> (+1.24%) ⬆️
src/common/libkvs/kvs_commit.c 72.22% <50%> (-5.2%) ⬇️
src/modules/kvs/kvs.c 65.81% <66.66%> (ø) ⬆️
src/common/libflux/keepalive.c 86.66% <0%> (-6.67%) ⬇️
src/modules/connector-local/local.c 72.95% <0%> (-2.87%) ⬇️
src/broker/content-cache.c 73.43% <0%> (-1.3%) ⬇️
src/broker/module.c 84.07% <0%> (-1.12%) ⬇️
src/common/libflux/rpc.c 93.38% <0%> (-0.83%) ⬇️
src/common/libflux/response.c 83.73% <0%> (-0.82%) ⬇️
src/common/libutil/base64.c 95.07% <0%> (-0.71%) ⬇️
... and 11 more

@garlick
Copy link
Member

garlick commented Apr 13, 2018

Great! Needs a rebase.

chu11 added 3 commits April 13, 2018 08:25
Remove 'name' from commit RPC and move 'name' generation internally
into the kvs module.
Add convenience function that will create a treq data structure,
and internally create a name based on a rank and sequence number
passed in.

Add unit tests appropriately.
For commit transactions, instead of generating a name using
an expensive to generate uuid, instead use a simple fixed
name involving a flux rank and a per rank sequence number.

Fixes flux-framework#1446
@chu11
Copy link
Member Author

chu11 commented Apr 13, 2018

just repushed

@grondo
Copy link
Contributor

grondo commented Apr 13, 2018

Restarted builder that hung after PASS: t4000-issues-test-driver.t 3 - t0821-kvs-segfault.sh

@grondo grondo merged commit c2502c4 into flux-framework:master Apr 13, 2018
@grondo grondo mentioned this pull request May 10, 2018
@chu11 chu11 deleted the issue1446 branch June 5, 2021 18:00
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

Successfully merging this pull request may close these issues.

5 participants