Todd Lipcon has posted comments on this change.

Change subject: Create ConsensusMetadataManager
......................................................................


Patch Set 7:

(1 comment)

just looked at the manager impl for starters

http://gerrit.cloudera.org:8080/#/c/7191/7/src/kudu/consensus/consensus_meta_manager.cc
File src/kudu/consensus/consensus_meta_manager.cc:

Line 44:     // Ensure we don't interleave with other ops on this tablet.
Isn't interleaving on Create() already a disallowed operation?

Even with this locking, if you had interleaved with another Create or Load, 
you'd just crash on the InsertOrDie, right?

And if you are concurrent with a Delete(), then you wouldn't crash but still 
seems like invalid usage of the API.

What are the legal interleavings that actually could/should happen in practice? 
Maybe something simpler is possible here, eg allowing concurrent Load() to 
potentially do extra work and "first loader wins" in the case of a race?


-- 
To view, visit http://gerrit.cloudera.org:8080/7191
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ia30c05dd0feec2b7530205f4d17dfc079a1c3451
Gerrit-PatchSet: 7
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <mpe...@apache.org>
Gerrit-Reviewer: Alexey Serbin <aser...@cloudera.com>
Gerrit-Reviewer: David Ribeiro Alves <davidral...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy <mpe...@apache.org>
Gerrit-Reviewer: Tidy Bot
Gerrit-Reviewer: Todd Lipcon <t...@apache.org>
Gerrit-HasComments: Yes

Reply via email to