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

Projects
None yet
5 participants
@chu11
Copy link
Contributor

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

This comment has been minimized.

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

This comment has been minimized.

Copy link
Contributor

grondo commented Apr 12, 2018

nice improvement. Thanks!

@codecov-io

This comment has been minimized.

Copy link

codecov-io commented Apr 12, 2018

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

This comment has been minimized.

Copy link
Member

garlick commented Apr 13, 2018

Great! Needs a rebase.

chu11 added some commits Apr 12, 2018

common/libkvs: Remove 'name' from commit RPC
Remove 'name' from commit RPC and move 'name' generation internally
into the kvs module.
modules/kvs: Add treq_create_rank() function
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.
modules/kvs: Use rank & seq for commit txn name
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 #1446

@chu11 chu11 force-pushed the chu11:issue1446 branch from 9a58b97 to 2e4877b Apr 13, 2018

@chu11

This comment has been minimized.

Copy link
Contributor Author

chu11 commented Apr 13, 2018

just repushed

@grondo

This comment has been minimized.

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

2 checks passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details
coverage/coveralls Coverage increased (+0.04%) to 79.065%
Details

@grondo grondo referenced this pull request May 10, 2018

Closed

0.9.0 Release #1479

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.