You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by mp...@apache.org on 2016/03/08 22:11:44 UTC
incubator-kudu git commit: Include error code in log message when
consensus peer gets an error from the remote
Repository: incubator-kudu
Updated Branches:
refs/heads/master ebb371335 -> 044b2c1bd
Include error code in log message when consensus peer gets an error from the remote
Currently we only log the Status. We should also log the
TabletServerErrorPB::Code.
Change-Id: I4db3ca666aee0202b3e4a024bfbad70f80b144ce
Reviewed-on: http://gerrit.cloudera.org:8080/2487
Reviewed-by: Todd Lipcon <to...@apache.org>
Tested-by: Kudu Jenkins
Project: http://git-wip-us.apache.org/repos/asf/incubator-kudu/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-kudu/commit/044b2c1b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-kudu/tree/044b2c1b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-kudu/diff/044b2c1b
Branch: refs/heads/master
Commit: 044b2c1bd34f61f84d740549a888f79a4b609342
Parents: ebb3713
Author: Mike Percy <mp...@apache.org>
Authored: Mon Mar 7 15:08:45 2016 +0200
Committer: Mike Percy <mp...@apache.org>
Committed: Tue Mar 8 21:11:12 2016 +0000
----------------------------------------------------------------------
src/kudu/consensus/consensus_peers.cc | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-kudu/blob/044b2c1b/src/kudu/consensus/consensus_peers.cc
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/consensus_peers.cc b/src/kudu/consensus/consensus_peers.cc
index 2d49939..76f82da 100644
--- a/src/kudu/consensus/consensus_peers.cc
+++ b/src/kudu/consensus/consensus_peers.cc
@@ -72,6 +72,7 @@ using std::shared_ptr;
using rpc::Messenger;
using rpc::RpcController;
using strings::Substitute;
+using tserver::TabletServerErrorPB;
Status Peer::NewRemotePeer(const RaftPeerPB& peer_pb,
const string& tablet_id,
@@ -245,7 +246,7 @@ void Peer::ProcessResponse() {
// Pass through errors we can respond to, like not found, since in that case
// we will need to remotely bootstrap. TODO: Handle DELETED response once implemented.
if ((response_.has_error() &&
- response_.error().code() != tserver::TabletServerErrorPB::TABLET_NOT_FOUND) ||
+ response_.error().code() != TabletServerErrorPB::TABLET_NOT_FOUND) ||
(response_.status().has_error() &&
response_.status().error().code() == consensus::ConsensusErrorPB::CANNOT_PREPARE)) {
// Again, let the queue know that the remote is still responsive, since we
@@ -304,7 +305,7 @@ void Peer::ProcessRemoteBootstrapResponse() {
if (controller_.status().ok() && rb_response_.has_error()) {
// ALREADY_INPROGRESS is expected, so we do not log this error.
if (rb_response_.error().code() ==
- kudu::tserver::TabletServerErrorPB::TabletServerErrorPB::ALREADY_INPROGRESS) {
+ TabletServerErrorPB::TabletServerErrorPB::ALREADY_INPROGRESS) {
queue_->NotifyPeerIsResponsiveDespiteError(peer_pb_.permanent_uuid());
} else {
LOG_WITH_PREFIX_UNLOCKED(WARNING) << "Unable to begin remote bootstrap on peer: "
@@ -316,9 +317,17 @@ void Peer::ProcessRemoteBootstrapResponse() {
void Peer::ProcessResponseError(const Status& status) {
failed_attempts_++;
+ string resp_err_info;
+ if (response_.has_error()) {
+ resp_err_info = Substitute(" Error code: $0 ($1).",
+ TabletServerErrorPB::Code_Name(response_.error().code()),
+ response_.error().code());
+ }
LOG_WITH_PREFIX_UNLOCKED(WARNING) << "Couldn't send request to peer " << peer_pb_.permanent_uuid()
- << " for tablet " << tablet_id_
- << " Status: " << status.ToString() << ". Retrying in the next heartbeat period."
+ << " for tablet " << tablet_id_ << "."
+ << resp_err_info
+ << " Status: " << status.ToString() << "."
+ << " Retrying in the next heartbeat period."
<< " Already tried " << failed_attempts_ << " times.";
sem_.Release();
}