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