You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by ad...@apache.org on 2016/07/07 18:33:32 UTC

[3/7] incubator-kudu git commit: Add a way to include request ids in log-dump

Add a way to include request ids in log-dump

This adds a way to output the request ids, if they exist, in log-dump.cc.
This is helpful when debugging as it allows to see which writes the
request ids get associated with.

Change-Id: I0ec824461d9753ab3726d4a06156e32d5515a12a
Reviewed-on: http://gerrit.cloudera.org:8080/3570
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/998414ca
Tree: http://git-wip-us.apache.org/repos/asf/incubator-kudu/tree/998414ca
Diff: http://git-wip-us.apache.org/repos/asf/incubator-kudu/diff/998414ca

Branch: refs/heads/master
Commit: 998414caa2bc09df40d963a6112ad9c826010176
Parents: 070ea6b
Author: David Alves <da...@cloudera.com>
Authored: Mon Jul 4 14:58:53 2016 -0700
Committer: David Ribeiro Alves <dr...@apache.org>
Committed: Thu Jul 7 04:21:36 2016 +0000

----------------------------------------------------------------------
 src/kudu/consensus/log-dump.cc | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kudu/blob/998414ca/src/kudu/consensus/log-dump.cc
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/log-dump.cc b/src/kudu/consensus/log-dump.cc
index e26d778..8bab8fc 100644
--- a/src/kudu/consensus/log-dump.cc
+++ b/src/kudu/consensus/log-dump.cc
@@ -28,6 +28,7 @@
 #include "kudu/consensus/log_reader.h"
 #include "kudu/gutil/stl_util.h"
 #include "kudu/gutil/strings/numbers.h"
+#include "kudu/rpc/rpc_header.pb.h"
 #include "kudu/util/env.h"
 #include "kudu/util/flags.h"
 #include "kudu/util/logging.h"
@@ -104,7 +105,8 @@ void PrintIdOnly(const LogEntryPB& entry) {
 
 Status PrintDecodedWriteRequestPB(const string& indent,
                                   const Schema& tablet_schema,
-                                  const WriteRequestPB& write) {
+                                  const WriteRequestPB& write,
+                                  const rpc::RequestIdPB* request_id) {
   Schema request_schema;
   RETURN_NOT_OK(SchemaFromPB(write.schema(), &request_schema));
 
@@ -114,6 +116,8 @@ Status PrintDecodedWriteRequestPB(const string& indent,
   RETURN_NOT_OK(dec.DecodeOperations(&ops));
 
   cout << indent << "Tablet: " << write.tablet_id() << endl;
+  cout << indent << "RequestId: "
+      << (request_id ? request_id->ShortDebugString() : "None") << endl;
   cout << indent << "Consistency: "
        << ExternalConsistencyMode_Name(write.external_consistency_mode()) << endl;
   if (write.has_propagated_timestamp()) {
@@ -139,7 +143,11 @@ Status PrintDecoded(const LogEntryPB& entry, const Schema& tablet_schema) {
 
     const ReplicateMsg& replicate = entry.replicate();
     if (replicate.op_type() == consensus::WRITE_OP) {
-      RETURN_NOT_OK(PrintDecodedWriteRequestPB(indent, tablet_schema, replicate.write_request()));
+      RETURN_NOT_OK(PrintDecodedWriteRequestPB(
+          indent,
+          tablet_schema,
+          replicate.write_request(),
+          replicate.has_request_id() ? &replicate.request_id() : nullptr));
     } else {
       cout << indent << replicate.ShortDebugString() << endl;
     }