Alexey Serbin has submitted this change and it was merged. ( 
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
Reviewed-on: http://gerrit.cloudera.org:8080/10141
Tested-by: Alexey Serbin <[email protected]>
Reviewed-by: Mike Percy <[email protected]>
---
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(-)

Approvals:
  Alexey Serbin: Verified
  Mike Percy: Looks good to me, approved

--
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: merged
Gerrit-Change-Id: Id266dd72ef5e44e9b4e2ce9df10694bce8cfe2fb
Gerrit-Change-Number: 10141
Gerrit-PatchSet: 2
Gerrit-Owner: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Mike Percy <[email protected]>

Reply via email to