Todd Lipcon has posted comments on this change. ( http://gerrit.cloudera.org:8080/8134 )
Change subject: consensus: disarm failure detector around elections ...................................................................... Patch Set 3: (1 comment) http://gerrit.cloudera.org:8080/#/c/8134/1//COMMIT_MSG Commit Message: http://gerrit.cloudera.org:8080/#/c/8134/1//COMMIT_MSG@20 PS1, Line 20: I'm still not convinced this is the cleanest approach, but it seems to work. > That should already be guaranteed by virtue of using a one-shot timer (i.e. The one-shot guarantees that 'FailureDetected' is called when it's not armed, but it's still possible for the election callback to get called when it's been re-armed, right? eg this sequence: - is follower (fd armed) - fd fires -- start pre-election term=1 (fd disarmed) - term changed, still follower (fd re-armed) - fd fires -- start pre-election term=2 (fd disarmed) - term=1 election callback: -- notices that it is for an out-of-date term --- rearms (fd armed) - term=2 election callback: -- election callback called with FD armed. (is this a problem)? (not sure if the term change is _supposed_ to re-arm the FD if there is already a pending pre-election but it seems it currently does). Do we expect an invariant that, if there is any election pending that the FD is _not_ armed? Or just that, if the node is a follower and there is not an election, then it _is_ armed? -- To view, visit http://gerrit.cloudera.org:8080/8134 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Idcd311cee028c48e908f290d60c474e8a4557d97 Gerrit-Change-Number: 8134 Gerrit-PatchSet: 3 Gerrit-Owner: Adar Dembo <[email protected]> Gerrit-Reviewer: Adar Dembo <[email protected]> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot Gerrit-Reviewer: Todd Lipcon <[email protected]> Gerrit-Comment-Date: Thu, 26 Oct 2017 21:15:58 +0000 Gerrit-HasComments: Yes
