Alexey Serbin has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/10141


Change subject: [consensus] update UnsafeChangeConfig() signature
......................................................................

[consensus] update UnsafeChangeConfig() signature

While testing various scenarios involving kudu CLI's
'remote_replica unsafe_change_config' sub-command, it turned out that
tserver might end up trying to respond with invalid value of
TabletServerErrorPB::Code.  In that case, a tserver built in DEBUG
configuration would crash with the following stack trace:

      ../nptl/sysdeps/unix/sysv/linux/raise.c:64
    assertion=0x7fb4eab7c4f8
      "::kudu::tserver::TabletServerErrorPB_Code_IsValid(value)",
    file=0x7fb4eab7c531 "src/kudu/tserver/tserver.pb.h",
    line=<value optimized out>, function=<value optimized out>) at assert.c:96
    assertion=0x7fb4eab7c4f8
      "::kudu::tserver::TabletServerErrorPB_Code_IsValid(value)",
    file=0x7fb4eab7c531 "src/kudu/tserver/tserver.pb.h", line=2623,
    function=0x7fb4eab7c586 "void kudu::tserver::TabletServerErrorPB::set_code(
      ::kudu::tserver::TabletServerErrorPB_Code)") at assert.c:105
      kudu::tserver::TabletServerErrorPB_Code) ()
    at src/kudu/tserver/tserver.pb.h:2623
      kudu::tserver::TabletServerErrorPB*,
      kudu::Status const&, kudu::tserver::TabletServerErrorPB_Code,
      kudu::rpc::RpcContext*) ()
    at src/kudu/tserver/tablet_service.cc:370
      kudu::consensus::UnsafeChangeConfigRequestPB const*,
      kudu::consensus::UnsafeChangeConfigResponsePB*,
      kudu::rpc::RpcContext*) () at src/kudu/tserver/tablet_service.cc:1060

This changelist fixes the issue, 'unifying' the signatures of the
RaftConsensus::{ChangeConfig,BulkChangeConfig,UpdateChangeConfig}()
methods.

Change-Id: Id266dd72ef5e44e9b4e2ce9df10694bce8cfe2fb
---
M src/kudu/consensus/raft_consensus.cc
M src/kudu/consensus/raft_consensus.h
M src/kudu/tserver/tablet_service.cc
3 files changed, 17 insertions(+), 17 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/41/10141/1
--
To view, visit http://gerrit.cloudera.org:8080/10141
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Id266dd72ef5e44e9b4e2ce9df10694bce8cfe2fb
Gerrit-Change-Number: 10141
Gerrit-PatchSet: 1
Gerrit-Owner: Alexey Serbin <[email protected]>

Reply via email to