You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@kudu.apache.org by "Adar Dembo (Code Review)" <ge...@cloudera.org> on 2017/08/19 08:28:57 UTC

[kudu-CR] raft consensus-itest: robust fix for asynchronous kill

Hello Kudu Jenkins,

I'd like you to reexamine a change.  Please visit

    http://gerrit.cloudera.org:8080/7561

to look at the new patch set (#2).

Change subject: raft_consensus-itest: robust fix for asynchronous kill
......................................................................

raft_consensus-itest: robust fix for asynchronous kill

Another x1000 loop of raft_consensus-itest yielded the following failure in
TestElectPendingVoter:

  /data/1/adar/kudu/src/kudu/integration-tests/raft_consensus-itest.cc:2035: Failure
  Value of: s.IsTimedOut()
    Actual: false
  Expected: true
  Expected AddServer() to time out. Result: OK

The fix from commit 27435da doesn't work well for AddServer because it's not
an idempotent operation. Instead, let's take a more robust tack and
repeatedly ping the paused server until it stops responding.

I rolled this out to other places in raft_consensus-itest where we expect an
operation to time out shortly after sending a signal via kill(2). It may
even be necessary after Subprocess::Shutdown; even though that includes a
waitpid() call, I saw one test failure where RemoveServer did not time out
after the followers were both shut down.

Change-Id: I99d400e971d6f9b22cc7b4483db94a98ec306e10
---
M src/kudu/integration-tests/raft_consensus-itest.cc
1 file changed, 34 insertions(+), 12 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/61/7561/2
-- 
To view, visit http://gerrit.cloudera.org:8080/7561
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I99d400e971d6f9b22cc7b4483db94a98ec306e10
Gerrit-PatchSet: 2
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: David Ribeiro Alves <da...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon <to...@apache.org>