[ 
https://issues.apache.org/jira/browse/DRILL-6459?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16507692#comment-16507692
 ] 

ASF GitHub Bot commented on DRILL-6459:
---------------------------------------

sohami closed pull request #1301: DRILL-6459: Unable to view profile of a 
running query
URL: https://github.com/apache/drill/pull/1301
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/contrib/native/client/src/protobuf/UserBitShared.pb.cc 
b/contrib/native/client/src/protobuf/UserBitShared.pb.cc
index afab5afb95..e237669a58 100644
--- a/contrib/native/client/src/protobuf/UserBitShared.pb.cc
+++ b/contrib/native/client/src/protobuf/UserBitShared.pb.cc
@@ -341,7 +341,7 @@ void protobuf_AssignDesc_UserBitShared_2eproto() {
       ::google::protobuf::MessageFactory::generated_factory(),
       sizeof(QueryInfo));
   QueryProfile_descriptor_ = file->message_type(13);
-  static const int QueryProfile_offsets_[21] = {
+  static const int QueryProfile_offsets_[22] = {
     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(QueryProfile, id_),
     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(QueryProfile, type_),
     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(QueryProfile, start_),
@@ -363,6 +363,7 @@ void protobuf_AssignDesc_UserBitShared_2eproto() {
     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(QueryProfile, 
queuewaitend_),
     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(QueryProfile, total_cost_),
     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(QueryProfile, queue_name_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(QueryProfile, queryid_),
   };
   QueryProfile_reflection_ =
     new ::google::protobuf::internal::GeneratedMessageReflection(
@@ -701,7 +702,7 @@ void protobuf_AddDesc_UserBitShared_2eproto() {
     "exec.shared.QueryResult.QueryState\022\017\n\004us"
     "er\030\004 \001(\t:\001-\022\'\n\007foreman\030\005 
\001(\0132\026.exec.Dril"
     "lbitEndpoint\022\024\n\014options_json\030\006 \001(\t\022\022\n\nto"
-    "tal_cost\030\007 \001(\001\022\025\n\nqueue_name\030\010 
\001(\t:\001-\"\242\004"
+    "tal_cost\030\007 \001(\001\022\025\n\nqueue_name\030\010 
\001(\t:\001-\"\263\004"
     "\n\014QueryProfile\022 \n\002id\030\001 \001(\0132\024.exec.shared"
     ".QueryId\022$\n\004type\030\002 \001(\0162\026.exec.shared.Que"
     "ryType\022\r\n\005start\030\003 \001(\003\022\013\n\003end\030\004 
\001(\003\022\r\n\005qu"
@@ -715,67 +716,67 @@ void protobuf_AddDesc_UserBitShared_2eproto() {
     " \001(\t\022\020\n\010error_id\030\017 
\001(\t\022\022\n\nerror_node\030\020 \001"
     "(\t\022\024\n\014options_json\030\021 
\001(\t\022\017\n\007planEnd\030\022 \001("
     "\003\022\024\n\014queueWaitEnd\030\023 
\001(\003\022\022\n\ntotal_cost\030\024 "
-    "\001(\001\022\025\n\nqueue_name\030\025 \001(\t:\001-\"t\n\024MajorFragm"
-    "entProfile\022\031\n\021major_fragment_id\030\001 \001(\005\022A\n"
-    "\026minor_fragment_profile\030\002 \003(\0132!.exec.sha"
-    "red.MinorFragmentProfile\"\350\002\n\024MinorFragme"
-    "ntProfile\022)\n\005state\030\001 \001(\0162\032.exec.shared.F"
-    "ragmentState\022(\n\005error\030\002 \001(\0132\031.exec.share"
-    "d.DrillPBError\022\031\n\021minor_fragment_id\030\003 \001("
-    "\005\0226\n\020operator_profile\030\004 \003(\0132\034.exec.share"
-    "d.OperatorProfile\022\022\n\nstart_time\030\005 \001(\003\022\020\n"
-    "\010end_time\030\006 \001(\003\022\023\n\013memory_used\030\007 
\001(\003\022\027\n\017"
-    "max_memory_used\030\010 \001(\003\022(\n\010endpoint\030\t \001(\0132"
-    "\026.exec.DrillbitEndpoint\022\023\n\013last_update\030\n"
-    " \001(\003\022\025\n\rlast_progress\030\013 
\001(\003\"\377\001\n\017Operator"
-    "Profile\0221\n\rinput_profile\030\001 \003(\0132\032.exec.sh"
-    "ared.StreamProfile\022\023\n\013operator_id\030\003 \001(\005\022"
-    "\025\n\roperator_type\030\004 \001(\005\022\023\n\013setup_nanos\030\005 "
-    "\001(\003\022\025\n\rprocess_nanos\030\006 \001(\003\022#\n\033peak_local"
-    "_memory_allocated\030\007 \001(\003\022(\n\006metric\030\010 \003(\0132"
-    "\030.exec.shared.MetricValue\022\022\n\nwait_nanos\030"
-    "\t \001(\003\"B\n\rStreamProfile\022\017\n\007records\030\001 
\001(\003\022"
-    "\017\n\007batches\030\002 \001(\003\022\017\n\007schemas\030\003 
\001(\003\"J\n\013Met"
-    "ricValue\022\021\n\tmetric_id\030\001 \001(\005\022\022\n\nlong_valu"
-    "e\030\002 \001(\003\022\024\n\014double_value\030\003 
\001(\001\")\n\010Registr"
-    "y\022\035\n\003jar\030\001 \003(\0132\020.exec.shared.Jar\"/\n\003Jar\022"
-    "\014\n\004name\030\001 \001(\t\022\032\n\022function_signature\030\002 
\003("
-    "\t\"W\n\013SaslMessage\022\021\n\tmechanism\030\001 
\001(\t\022\014\n\004d"
-    "ata\030\002 \001(\014\022\'\n\006status\030\003 
\001(\0162\027.exec.shared."
-    "SaslStatus*5\n\nRpcChannel\022\017\n\013BIT_CONTROL\020"
-    
"\000\022\014\n\010BIT_DATA\020\001\022\010\n\004USER\020\002*V\n\tQueryType\022\007"
-    
"\n\003SQL\020\001\022\013\n\007LOGICAL\020\002\022\014\n\010PHYSICAL\020\003\022\r\n\tEX"
-    "ECUTION\020\004\022\026\n\022PREPARED_STATEMENT\020\005*\207\001\n\rFr"
-    "agmentState\022\013\n\007SENDING\020\000\022\027\n\023AWAITING_ALL"
-    
"OCATION\020\001\022\013\n\007RUNNING\020\002\022\014\n\010FINISHED\020\003\022\r\n\t"
-    "CANCELLED\020\004\022\n\n\006FAILED\020\005\022\032\n\026CANCELLATION_"
-    "REQUESTED\020\006*\360\006\n\020CoreOperatorType\022\021\n\rSING"
-    "LE_SENDER\020\000\022\024\n\020BROADCAST_SENDER\020\001\022\n\n\006FIL"
-    
"TER\020\002\022\022\n\016HASH_AGGREGATE\020\003\022\r\n\tHASH_JOIN\020\004"
-    "\022\016\n\nMERGE_JOIN\020\005\022\031\n\025HASH_PARTITION_SENDE"
-    
"R\020\006\022\t\n\005LIMIT\020\007\022\024\n\020MERGING_RECEIVER\020\010\022\034\n\030"
-    "ORDERED_PARTITION_SENDER\020\t\022\013\n\007PROJECT\020\n\022"
-    "\026\n\022UNORDERED_RECEIVER\020\013\022\020\n\014RANGE_SENDER\020"
-    "\014\022\n\n\006SCREEN\020\r\022\034\n\030SELECTION_VECTOR_REMOVE"
-    "R\020\016\022\027\n\023STREAMING_AGGREGATE\020\017\022\016\n\nTOP_N_SO"
-    
"RT\020\020\022\021\n\rEXTERNAL_SORT\020\021\022\t\n\005TRACE\020\022\022\t\n\005UN"
-    "ION\020\023\022\014\n\010OLD_SORT\020\024\022\032\n\026PARQUET_ROW_GROUP"
-    "_SCAN\020\025\022\021\n\rHIVE_SUB_SCAN\020\026\022\025\n\021SYSTEM_TAB"
-    "LE_SCAN\020\027\022\021\n\rMOCK_SUB_SCAN\020\030\022\022\n\016PARQUET_"
-    "WRITER\020\031\022\023\n\017DIRECT_SUB_SCAN\020\032\022\017\n\013TEXT_WR"
-    "ITER\020\033\022\021\n\rTEXT_SUB_SCAN\020\034\022\021\n\rJSON_SUB_SC"
-    "AN\020\035\022\030\n\024INFO_SCHEMA_SUB_SCAN\020\036\022\023\n\017COMPLE"
-    "X_TO_JSON\020\037\022\025\n\021PRODUCER_CONSUMER\020 \022\022\n\016HB"
-    "ASE_SUB_SCAN\020!\022\n\n\006WINDOW\020\"\022\024\n\020NESTED_LOO"
-    "P_JOIN\020#\022\021\n\rAVRO_SUB_SCAN\020$\022\021\n\rPCAP_SUB_"
-    "SCAN\020%\022\022\n\016KAFKA_SUB_SCAN\020&\022\021\n\rKUDU_SUB_S"
-    
"CAN\020\'\022\013\n\007FLATTEN\020(\022\020\n\014LATERAL_JOIN\020)\022\n\n\006"
-    "UNNEST\020*\022,\n(HIVE_DRILL_NATIVE_PARQUET_RO"
-    "W_GROUP_SCAN\020+*g\n\nSaslStatus\022\020\n\014SASL_UNK"
-    "NOWN\020\000\022\016\n\nSASL_START\020\001\022\024\n\020SASL_IN_PROGRE"
-    
"SS\020\002\022\020\n\014SASL_SUCCESS\020\003\022\017\n\013SASL_FAILED\020\004B"
-    ".\n\033org.apache.drill.exec.protoB\rUserBitS"
-    "haredH\001", 5167);
+    "\001(\001\022\025\n\nqueue_name\030\025 
\001(\t:\001-\022\017\n\007queryId\030\026 "
+    "\001(\t\"t\n\024MajorFragmentProfile\022\031\n\021major_fra"
+    "gment_id\030\001 \001(\005\022A\n\026minor_fragment_profile"
+    "\030\002 \003(\0132!.exec.shared.MinorFragmentProfil"
+    "e\"\350\002\n\024MinorFragmentProfile\022)\n\005state\030\001 \001("
+    "\0162\032.exec.shared.FragmentState\022(\n\005error\030\002"
+    " \001(\0132\031.exec.shared.DrillPBError\022\031\n\021minor"
+    "_fragment_id\030\003 \001(\005\0226\n\020operator_profile\030\004"
+    " \003(\0132\034.exec.shared.OperatorProfile\022\022\n\nst"
+    "art_time\030\005 \001(\003\022\020\n\010end_time\030\006 
\001(\003\022\023\n\013memo"
+    "ry_used\030\007 \001(\003\022\027\n\017max_memory_used\030\010 
\001(\003\022("
+    "\n\010endpoint\030\t \001(\0132\026.exec.DrillbitEndpoint"
+    "\022\023\n\013last_update\030\n 
\001(\003\022\025\n\rlast_progress\030\013"
+    " \001(\003\"\377\001\n\017OperatorProfile\0221\n\rinput_profil"
+    "e\030\001 \003(\0132\032.exec.shared.StreamProfile\022\023\n\013o"
+    "perator_id\030\003 \001(\005\022\025\n\roperator_type\030\004 
\001(\005\022"
+    "\023\n\013setup_nanos\030\005 \001(\003\022\025\n\rprocess_nanos\030\006 "
+    "\001(\003\022#\n\033peak_local_memory_allocated\030\007 \001(\003"
+    "\022(\n\006metric\030\010 \003(\0132\030.exec.shared.MetricVal"
+    "ue\022\022\n\nwait_nanos\030\t \001(\003\"B\n\rStreamProfile\022"
+    "\017\n\007records\030\001 \001(\003\022\017\n\007batches\030\002 
\001(\003\022\017\n\007sch"
+    "emas\030\003 \001(\003\"J\n\013MetricValue\022\021\n\tmetric_id\030\001"
+    " \001(\005\022\022\n\nlong_value\030\002 
\001(\003\022\024\n\014double_value"
+    "\030\003 \001(\001\")\n\010Registry\022\035\n\003jar\030\001 
\003(\0132\020.exec.s"
+    "hared.Jar\"/\n\003Jar\022\014\n\004name\030\001 
\001(\t\022\032\n\022functi"
+    "on_signature\030\002 \003(\t\"W\n\013SaslMessage\022\021\n\tmec"
+    "hanism\030\001 \001(\t\022\014\n\004data\030\002 
\001(\014\022\'\n\006status\030\003 \001"
+    "(\0162\027.exec.shared.SaslStatus*5\n\nRpcChanne"
+    
"l\022\017\n\013BIT_CONTROL\020\000\022\014\n\010BIT_DATA\020\001\022\010\n\004USER"
+    
"\020\002*V\n\tQueryType\022\007\n\003SQL\020\001\022\013\n\007LOGICAL\020\002\022\014\n"
+    "\010PHYSICAL\020\003\022\r\n\tEXECUTION\020\004\022\026\n\022PREPARED_S"
+    "TATEMENT\020\005*\207\001\n\rFragmentState\022\013\n\007SENDING\020"
+    
"\000\022\027\n\023AWAITING_ALLOCATION\020\001\022\013\n\007RUNNING\020\002\022"
+    
"\014\n\010FINISHED\020\003\022\r\n\tCANCELLED\020\004\022\n\n\006FAILED\020\005"
+    "\022\032\n\026CANCELLATION_REQUESTED\020\006*\360\006\n\020CoreOpe"
+    "ratorType\022\021\n\rSINGLE_SENDER\020\000\022\024\n\020BROADCAS"
+    "T_SENDER\020\001\022\n\n\006FILTER\020\002\022\022\n\016HASH_AGGREGATE"
+    
"\020\003\022\r\n\tHASH_JOIN\020\004\022\016\n\nMERGE_JOIN\020\005\022\031\n\025HAS"
+    "H_PARTITION_SENDER\020\006\022\t\n\005LIMIT\020\007\022\024\n\020MERGI"
+    "NG_RECEIVER\020\010\022\034\n\030ORDERED_PARTITION_SENDE"
+    
"R\020\t\022\013\n\007PROJECT\020\n\022\026\n\022UNORDERED_RECEIVER\020\013"
+    
"\022\020\n\014RANGE_SENDER\020\014\022\n\n\006SCREEN\020\r\022\034\n\030SELECT"
+    "ION_VECTOR_REMOVER\020\016\022\027\n\023STREAMING_AGGREG"
+    
"ATE\020\017\022\016\n\nTOP_N_SORT\020\020\022\021\n\rEXTERNAL_SORT\020\021"
+    
"\022\t\n\005TRACE\020\022\022\t\n\005UNION\020\023\022\014\n\010OLD_SORT\020\024\022\032\n\026"
+    "PARQUET_ROW_GROUP_SCAN\020\025\022\021\n\rHIVE_SUB_SCA"
+    "N\020\026\022\025\n\021SYSTEM_TABLE_SCAN\020\027\022\021\n\rMOCK_SUB_S"
+    "CAN\020\030\022\022\n\016PARQUET_WRITER\020\031\022\023\n\017DIRECT_SUB_"
+    "SCAN\020\032\022\017\n\013TEXT_WRITER\020\033\022\021\n\rTEXT_SUB_SCAN"
+    "\020\034\022\021\n\rJSON_SUB_SCAN\020\035\022\030\n\024INFO_SCHEMA_SUB"
+    "_SCAN\020\036\022\023\n\017COMPLEX_TO_JSON\020\037\022\025\n\021PRODUCER"
+    "_CONSUMER\020 \022\022\n\016HBASE_SUB_SCAN\020!\022\n\n\006WINDO"
+    "W\020\"\022\024\n\020NESTED_LOOP_JOIN\020#\022\021\n\rAVRO_SUB_SC"
+    "AN\020$\022\021\n\rPCAP_SUB_SCAN\020%\022\022\n\016KAFKA_SUB_SCA"
+    
"N\020&\022\021\n\rKUDU_SUB_SCAN\020\'\022\013\n\007FLATTEN\020(\022\020\n\014L"
+    "ATERAL_JOIN\020)\022\n\n\006UNNEST\020*\022,\n(HIVE_DRILL_"
+    "NATIVE_PARQUET_ROW_GROUP_SCAN\020+*g\n\nSaslS"
+    "tatus\022\020\n\014SASL_UNKNOWN\020\000\022\016\n\nSASL_START\020\001\022"
+    "\024\n\020SASL_IN_PROGRESS\020\002\022\020\n\014SASL_SUCCESS\020\003\022"
+    "\017\n\013SASL_FAILED\020\004B.\n\033org.apache.drill.exe"
+    "c.protoB\rUserBitSharedH\001", 5184);
   ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
     "UserBitShared.proto", &protobuf_RegisterTypes);
   UserCredentials::default_instance_ = new UserCredentials();
@@ -5562,6 +5563,7 @@ const int QueryProfile::kPlanEndFieldNumber;
 const int QueryProfile::kQueueWaitEndFieldNumber;
 const int QueryProfile::kTotalCostFieldNumber;
 const int QueryProfile::kQueueNameFieldNumber;
+const int QueryProfile::kQueryIdFieldNumber;
 #endif  // !_MSC_VER
 
 QueryProfile::QueryProfile()
@@ -5602,6 +5604,7 @@ void QueryProfile::SharedCtor() {
   queuewaitend_ = GOOGLE_LONGLONG(0);
   total_cost_ = 0;
   queue_name_ = const_cast< ::std::string*>(_default_queue_name_);
+  queryid_ = const_cast< 
::std::string*>(&::google::protobuf::internal::kEmptyString);
   ::memset(_has_bits_, 0, sizeof(_has_bits_));
 }
 
@@ -5637,6 +5640,9 @@ void QueryProfile::SharedDtor() {
   if (queue_name_ != _default_queue_name_) {
     delete queue_name_;
   }
+  if (queryid_ != &::google::protobuf::internal::kEmptyString) {
+    delete queryid_;
+  }
   if (this != default_instance_) {
     delete id_;
     delete foreman_;
@@ -5730,6 +5736,11 @@ void QueryProfile::Clear() {
         queue_name_->assign(*_default_queue_name_);
       }
     }
+    if (has_queryid()) {
+      if (queryid_ != &::google::protobuf::internal::kEmptyString) {
+        queryid_->clear();
+      }
+    }
   }
   fragment_profile_.Clear();
   ::memset(_has_bits_, 0, sizeof(_has_bits_));
@@ -6087,6 +6098,23 @@ bool QueryProfile::MergePartialFromCodedStream(
         } else {
           goto handle_uninterpreted;
         }
+        if (input->ExpectTag(178)) goto parse_queryId;
+        break;
+      }
+
+      // optional string queryId = 22;
+      case 22: {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) 
==
+            
::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+         parse_queryId:
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->mutable_queryid()));
+          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
+            this->queryid().data(), this->queryid().length(),
+            ::google::protobuf::internal::WireFormat::PARSE);
+        } else {
+          goto handle_uninterpreted;
+        }
         if (input->ExpectAtEnd()) return true;
         break;
       }
@@ -6255,6 +6283,15 @@ void QueryProfile::SerializeWithCachedSizes(
       21, this->queue_name(), output);
   }
 
+  // optional string queryId = 22;
+  if (has_queryid()) {
+    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
+      this->queryid().data(), this->queryid().length(),
+      ::google::protobuf::internal::WireFormat::SERIALIZE);
+    ::google::protobuf::internal::WireFormatLite::WriteString(
+      22, this->queryid(), output);
+  }
+
   if (!unknown_fields().empty()) {
     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
         unknown_fields(), output);
@@ -6421,6 +6458,16 @@ ::google::protobuf::uint8* 
QueryProfile::SerializeWithCachedSizesToArray(
         21, this->queue_name(), target);
   }
 
+  // optional string queryId = 22;
+  if (has_queryid()) {
+    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
+      this->queryid().data(), this->queryid().length(),
+      ::google::protobuf::internal::WireFormat::SERIALIZE);
+    target =
+      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
+        22, this->queryid(), target);
+  }
+
   if (!unknown_fields().empty()) {
     target = 
::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
         unknown_fields(), target);
@@ -6572,6 +6619,13 @@ int QueryProfile::ByteSize() const {
           this->queue_name());
     }
 
+    // optional string queryId = 22;
+    if (has_queryid()) {
+      total_size += 2 +
+        ::google::protobuf::internal::WireFormatLite::StringSize(
+          this->queryid());
+    }
+
   }
   // repeated .exec.shared.MajorFragmentProfile fragment_profile = 11;
   total_size += 1 * this->fragment_profile_size();
@@ -6672,6 +6726,9 @@ void QueryProfile::MergeFrom(const QueryProfile& from) {
     if (from.has_queue_name()) {
       set_queue_name(from.queue_name());
     }
+    if (from.has_queryid()) {
+      set_queryid(from.queryid());
+    }
   }
   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
 }
@@ -6716,6 +6773,7 @@ void QueryProfile::Swap(QueryProfile* other) {
     std::swap(queuewaitend_, other->queuewaitend_);
     std::swap(total_cost_, other->total_cost_);
     std::swap(queue_name_, other->queue_name_);
+    std::swap(queryid_, other->queryid_);
     std::swap(_has_bits_[0], other->_has_bits_[0]);
     _unknown_fields_.Swap(&other->_unknown_fields_);
     std::swap(_cached_size_, other->_cached_size_);
diff --git a/contrib/native/client/src/protobuf/UserBitShared.pb.h 
b/contrib/native/client/src/protobuf/UserBitShared.pb.h
index 66c4cf7986..c4d846fc2a 100644
--- a/contrib/native/client/src/protobuf/UserBitShared.pb.h
+++ b/contrib/native/client/src/protobuf/UserBitShared.pb.h
@@ -2172,6 +2172,18 @@ class QueryProfile : public ::google::protobuf::Message {
   inline ::std::string* release_queue_name();
   inline void set_allocated_queue_name(::std::string* queue_name);
 
+  // optional string queryId = 22;
+  inline bool has_queryid() const;
+  inline void clear_queryid();
+  static const int kQueryIdFieldNumber = 22;
+  inline const ::std::string& queryid() const;
+  inline void set_queryid(const ::std::string& value);
+  inline void set_queryid(const char* value);
+  inline void set_queryid(const char* value, size_t size);
+  inline ::std::string* mutable_queryid();
+  inline ::std::string* release_queryid();
+  inline void set_allocated_queryid(::std::string* queryid);
+
   // @@protoc_insertion_point(class_scope:exec.shared.QueryProfile)
  private:
   inline void set_has_id();
@@ -2214,6 +2226,8 @@ class QueryProfile : public ::google::protobuf::Message {
   inline void clear_has_total_cost();
   inline void set_has_queue_name();
   inline void clear_has_queue_name();
+  inline void set_has_queryid();
+  inline void clear_has_queryid();
 
   ::google::protobuf::UnknownFieldSet _unknown_fields_;
 
@@ -2240,9 +2254,10 @@ class QueryProfile : public ::google::protobuf::Message {
   double total_cost_;
   ::std::string* queue_name_;
   static ::std::string* _default_queue_name_;
+  ::std::string* queryid_;
 
   mutable int _cached_size_;
-  ::google::protobuf::uint32 _has_bits_[(21 + 31) / 32];
+  ::google::protobuf::uint32 _has_bits_[(22 + 31) / 32];
 
   friend void  protobuf_AddDesc_UserBitShared_2eproto();
   friend void protobuf_AssignDesc_UserBitShared_2eproto();
@@ -6091,6 +6106,76 @@ inline void 
QueryProfile::set_allocated_queue_name(::std::string* queue_name) {
   }
 }
 
+// optional string queryId = 22;
+inline bool QueryProfile::has_queryid() const {
+  return (_has_bits_[0] & 0x00200000u) != 0;
+}
+inline void QueryProfile::set_has_queryid() {
+  _has_bits_[0] |= 0x00200000u;
+}
+inline void QueryProfile::clear_has_queryid() {
+  _has_bits_[0] &= ~0x00200000u;
+}
+inline void QueryProfile::clear_queryid() {
+  if (queryid_ != &::google::protobuf::internal::kEmptyString) {
+    queryid_->clear();
+  }
+  clear_has_queryid();
+}
+inline const ::std::string& QueryProfile::queryid() const {
+  return *queryid_;
+}
+inline void QueryProfile::set_queryid(const ::std::string& value) {
+  set_has_queryid();
+  if (queryid_ == &::google::protobuf::internal::kEmptyString) {
+    queryid_ = new ::std::string;
+  }
+  queryid_->assign(value);
+}
+inline void QueryProfile::set_queryid(const char* value) {
+  set_has_queryid();
+  if (queryid_ == &::google::protobuf::internal::kEmptyString) {
+    queryid_ = new ::std::string;
+  }
+  queryid_->assign(value);
+}
+inline void QueryProfile::set_queryid(const char* value, size_t size) {
+  set_has_queryid();
+  if (queryid_ == &::google::protobuf::internal::kEmptyString) {
+    queryid_ = new ::std::string;
+  }
+  queryid_->assign(reinterpret_cast<const char*>(value), size);
+}
+inline ::std::string* QueryProfile::mutable_queryid() {
+  set_has_queryid();
+  if (queryid_ == &::google::protobuf::internal::kEmptyString) {
+    queryid_ = new ::std::string;
+  }
+  return queryid_;
+}
+inline ::std::string* QueryProfile::release_queryid() {
+  clear_has_queryid();
+  if (queryid_ == &::google::protobuf::internal::kEmptyString) {
+    return NULL;
+  } else {
+    ::std::string* temp = queryid_;
+    queryid_ = const_cast< 
::std::string*>(&::google::protobuf::internal::kEmptyString);
+    return temp;
+  }
+}
+inline void QueryProfile::set_allocated_queryid(::std::string* queryid) {
+  if (queryid_ != &::google::protobuf::internal::kEmptyString) {
+    delete queryid_;
+  }
+  if (queryid) {
+    set_has_queryid();
+    queryid_ = queryid;
+  } else {
+    clear_has_queryid();
+    queryid_ = const_cast< 
::std::string*>(&::google::protobuf::internal::kEmptyString);
+  }
+}
+
 // -------------------------------------------------------------------
 
 // MajorFragmentProfile
diff --git 
a/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/profile/ProfileWrapper.java
 
b/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/profile/ProfileWrapper.java
index fa45c1ba09..bf005b12ed 100644
--- 
a/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/profile/ProfileWrapper.java
+++ 
b/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/profile/ProfileWrapper.java
@@ -63,7 +63,7 @@
 
   public ProfileWrapper(final QueryProfile profile, DrillConfig drillConfig) {
     this.profile = profile;
-    this.id = profile.getId().hasText() ? profile.getId().getText() : 
QueryIdHelper.getQueryId(profile.getId());
+    this.id = profile.hasQueryId() ? profile.getQueryId() : 
QueryIdHelper.getQueryId(profile.getId());
     //Generating Operator Name map (DRILL-6140)
     String profileTextPlan = profile.hasPlan() ? profile.getPlan() : "" ;
     generateOpMap(profileTextPlan);
diff --git 
a/exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/QueryManager.java
 
b/exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/QueryManager.java
index addd8fb8ee..6288f2b2dc 100644
--- 
a/exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/QueryManager.java
+++ 
b/exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/QueryManager.java
@@ -348,6 +348,7 @@ private QueryProfile getQueryProfile(UserException ex) {
         .setUser(foreman.getQueryContext().getQueryUserName())
         .setType(runQuery.getType())
         .setId(queryId)
+        .setQueryId(QueryIdHelper.getQueryId(queryId))
         .setState(foreman.getState())
         .setForeman(foreman.getQueryContext().getCurrentEndpoint())
         .setStart(startTime)
diff --git 
a/exec/java-exec/src/main/java/org/apache/drill/exec/work/user/UserWorker.java 
b/exec/java-exec/src/main/java/org/apache/drill/exec/work/user/UserWorker.java
index 880bb98d08..9c32b5618e 100644
--- 
a/exec/java-exec/src/main/java/org/apache/drill/exec/work/user/UserWorker.java
+++ 
b/exec/java-exec/src/main/java/org/apache/drill/exec/work/user/UserWorker.java
@@ -17,7 +17,6 @@
  */
 package org.apache.drill.exec.work.user;
 
-import java.util.UUID;
 import java.util.concurrent.ThreadLocalRandom;
 
 import org.apache.drill.exec.proto.GeneralRPCProtos.Ack;
@@ -69,9 +68,7 @@ private static QueryId queryIdGenerator() {
     final long time = (int) (System.currentTimeMillis()/1000);
     final long p1 = ((Integer.MAX_VALUE - time) << 32) + r.nextInt();
     final long p2 = r.nextLong();
-    final QueryId id = QueryId.newBuilder().setPart1(p1).setPart2(p2)
-        .setText((new UUID(p1, p2)).toString())
-        .build();
+    final QueryId id = QueryId.newBuilder().setPart1(p1).setPart2(p2).build();
     return id;
   }
 
diff --git 
a/protocol/src/main/java/org/apache/drill/exec/proto/SchemaUserBitShared.java 
b/protocol/src/main/java/org/apache/drill/exec/proto/SchemaUserBitShared.java
index 35bc0860dc..7b845a4934 100644
--- 
a/protocol/src/main/java/org/apache/drill/exec/proto/SchemaUserBitShared.java
+++ 
b/protocol/src/main/java/org/apache/drill/exec/proto/SchemaUserBitShared.java
@@ -150,8 +150,6 @@ public void writeTo(com.dyuproject.protostuff.Output 
output, org.apache.drill.ex
                     output.writeSFixed64(1, message.getPart1(), false);
                 if(message.hasPart2())
                     output.writeSFixed64(2, message.getPart2(), false);
-                if(message.hasText())
-                    output.writeString(3, message.getText(), false);
             }
             public boolean 
isInitialized(org.apache.drill.exec.proto.UserBitShared.QueryId message)
             {
@@ -197,9 +195,6 @@ public void mergeFrom(com.dyuproject.protostuff.Input 
input, org.apache.drill.ex
                         case 2:
                             builder.setPart2(input.readSFixed64());
                             break;
-                        case 3:
-                            builder.setText(input.readString());
-                            break;
                         default:
                             input.handleUnknownField(number, this);
                     }
@@ -242,7 +237,6 @@ public void writeTo(com.dyuproject.protostuff.Output 
output, org.apache.drill.ex
             {
                 case 1: return "part1";
                 case 2: return "part2";
-                case 3: return "text";
                 default: return null;
             }
         }
@@ -256,7 +250,6 @@ public static int getFieldNumber(java.lang.String name)
         {
             fieldMap.put("part1", 1);
             fieldMap.put("part2", 2);
-            fieldMap.put("text", 3);
         }
     }
 
@@ -1819,6 +1812,8 @@ public void writeTo(com.dyuproject.protostuff.Output 
output, org.apache.drill.ex
                     output.writeDouble(20, message.getTotalCost(), false);
                 if(message.hasQueueName())
                     output.writeString(21, message.getQueueName(), false);
+                if(message.hasQueryId())
+                    output.writeString(22, message.getQueryId(), false);
             }
             public boolean 
isInitialized(org.apache.drill.exec.proto.UserBitShared.QueryProfile message)
             {
@@ -1924,6 +1919,9 @@ public void mergeFrom(com.dyuproject.protostuff.Input 
input, org.apache.drill.ex
                         case 21:
                             builder.setQueueName(input.readString());
                             break;
+                        case 22:
+                            builder.setQueryId(input.readString());
+                            break;
                         default:
                             input.handleUnknownField(number, this);
                     }
@@ -1985,6 +1983,7 @@ public void writeTo(com.dyuproject.protostuff.Output 
output, org.apache.drill.ex
                 case 19: return "queueWaitEnd";
                 case 20: return "totalCost";
                 case 21: return "queueName";
+                case 22: return "queryId";
                 default: return null;
             }
         }
@@ -2017,6 +2016,7 @@ public static int getFieldNumber(java.lang.String name)
             fieldMap.put("queueWaitEnd", 19);
             fieldMap.put("totalCost", 20);
             fieldMap.put("queueName", 21);
+            fieldMap.put("queryId", 22);
         }
     }
 
diff --git 
a/protocol/src/main/java/org/apache/drill/exec/proto/UserBitShared.java 
b/protocol/src/main/java/org/apache/drill/exec/proto/UserBitShared.java
index d8eef0fea1..6770cd9843 100644
--- a/protocol/src/main/java/org/apache/drill/exec/proto/UserBitShared.java
+++ b/protocol/src/main/java/org/apache/drill/exec/proto/UserBitShared.java
@@ -1422,21 +1422,6 @@ public Builder setUserNameBytes(
      * <code>optional sfixed64 part2 = 2;</code>
      */
     long getPart2();
-
-    // optional string text = 3;
-    /**
-     * <code>optional string text = 3;</code>
-     */
-    boolean hasText();
-    /**
-     * <code>optional string text = 3;</code>
-     */
-    java.lang.String getText();
-    /**
-     * <code>optional string text = 3;</code>
-     */
-    com.google.protobuf.ByteString
-        getTextBytes();
   }
   /**
    * Protobuf type {@code exec.shared.QueryId}
@@ -1499,11 +1484,6 @@ private QueryId(
               part2_ = input.readSFixed64();
               break;
             }
-            case 26: {
-              bitField0_ |= 0x00000004;
-              text_ = input.readBytes();
-              break;
-            }
           }
         }
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
@@ -1576,53 +1556,9 @@ public long getPart2() {
       return part2_;
     }
 
-    // optional string text = 3;
-    public static final int TEXT_FIELD_NUMBER = 3;
-    private java.lang.Object text_;
-    /**
-     * <code>optional string text = 3;</code>
-     */
-    public boolean hasText() {
-      return ((bitField0_ & 0x00000004) == 0x00000004);
-    }
-    /**
-     * <code>optional string text = 3;</code>
-     */
-    public java.lang.String getText() {
-      java.lang.Object ref = text_;
-      if (ref instanceof java.lang.String) {
-        return (java.lang.String) ref;
-      } else {
-        com.google.protobuf.ByteString bs = 
-            (com.google.protobuf.ByteString) ref;
-        java.lang.String s = bs.toStringUtf8();
-        if (bs.isValidUtf8()) {
-          text_ = s;
-        }
-        return s;
-      }
-    }
-    /**
-     * <code>optional string text = 3;</code>
-     */
-    public com.google.protobuf.ByteString
-        getTextBytes() {
-      java.lang.Object ref = text_;
-      if (ref instanceof java.lang.String) {
-        com.google.protobuf.ByteString b = 
-            com.google.protobuf.ByteString.copyFromUtf8(
-                (java.lang.String) ref);
-        text_ = b;
-        return b;
-      } else {
-        return (com.google.protobuf.ByteString) ref;
-      }
-    }
-
     private void initFields() {
       part1_ = 0L;
       part2_ = 0L;
-      text_ = "";
     }
     private byte memoizedIsInitialized = -1;
     public final boolean isInitialized() {
@@ -1642,9 +1578,6 @@ public void writeTo(com.google.protobuf.CodedOutputStream 
output)
       if (((bitField0_ & 0x00000002) == 0x00000002)) {
         output.writeSFixed64(2, part2_);
       }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        output.writeBytes(3, getTextBytes());
-      }
       getUnknownFields().writeTo(output);
     }
 
@@ -1662,10 +1595,6 @@ public int getSerializedSize() {
         size += com.google.protobuf.CodedOutputStream
           .computeSFixed64Size(2, part2_);
       }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(3, getTextBytes());
-      }
       size += getUnknownFields().getSerializedSize();
       memoizedSerializedSize = size;
       return size;
@@ -1786,8 +1715,6 @@ public Builder clear() {
         bitField0_ = (bitField0_ & ~0x00000001);
         part2_ = 0L;
         bitField0_ = (bitField0_ & ~0x00000002);
-        text_ = "";
-        bitField0_ = (bitField0_ & ~0x00000004);
         return this;
       }
 
@@ -1824,10 +1751,6 @@ public Builder clone() {
           to_bitField0_ |= 0x00000002;
         }
         result.part2_ = part2_;
-        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
-          to_bitField0_ |= 0x00000004;
-        }
-        result.text_ = text_;
         result.bitField0_ = to_bitField0_;
         onBuilt();
         return result;
@@ -1850,11 +1773,6 @@ public Builder 
mergeFrom(org.apache.drill.exec.proto.UserBitShared.QueryId other
         if (other.hasPart2()) {
           setPart2(other.getPart2());
         }
-        if (other.hasText()) {
-          bitField0_ |= 0x00000004;
-          text_ = other.text_;
-          onChanged();
-        }
         this.mergeUnknownFields(other.getUnknownFields());
         return this;
       }
@@ -1948,80 +1866,6 @@ public Builder clearPart2() {
         return this;
       }
 
-      // optional string text = 3;
-      private java.lang.Object text_ = "";
-      /**
-       * <code>optional string text = 3;</code>
-       */
-      public boolean hasText() {
-        return ((bitField0_ & 0x00000004) == 0x00000004);
-      }
-      /**
-       * <code>optional string text = 3;</code>
-       */
-      public java.lang.String getText() {
-        java.lang.Object ref = text_;
-        if (!(ref instanceof java.lang.String)) {
-          java.lang.String s = ((com.google.protobuf.ByteString) ref)
-              .toStringUtf8();
-          text_ = s;
-          return s;
-        } else {
-          return (java.lang.String) ref;
-        }
-      }
-      /**
-       * <code>optional string text = 3;</code>
-       */
-      public com.google.protobuf.ByteString
-          getTextBytes() {
-        java.lang.Object ref = text_;
-        if (ref instanceof String) {
-          com.google.protobuf.ByteString b = 
-              com.google.protobuf.ByteString.copyFromUtf8(
-                  (java.lang.String) ref);
-          text_ = b;
-          return b;
-        } else {
-          return (com.google.protobuf.ByteString) ref;
-        }
-      }
-      /**
-       * <code>optional string text = 3;</code>
-       */
-      public Builder setText(
-          java.lang.String value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000004;
-        text_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>optional string text = 3;</code>
-       */
-      public Builder clearText() {
-        bitField0_ = (bitField0_ & ~0x00000004);
-        text_ = getDefaultInstance().getText();
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>optional string text = 3;</code>
-       */
-      public Builder setTextBytes(
-          com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000004;
-        text_ = value;
-        onChanged();
-        return this;
-      }
-
       // @@protoc_insertion_point(builder_scope:exec.shared.QueryId)
     }
 
@@ -14029,6 +13873,21 @@ public Builder setQueueNameBytes(
      */
     com.google.protobuf.ByteString
         getQueueNameBytes();
+
+    // optional string queryId = 22;
+    /**
+     * <code>optional string queryId = 22;</code>
+     */
+    boolean hasQueryId();
+    /**
+     * <code>optional string queryId = 22;</code>
+     */
+    java.lang.String getQueryId();
+    /**
+     * <code>optional string queryId = 22;</code>
+     */
+    com.google.protobuf.ByteString
+        getQueryIdBytes();
   }
   /**
    * Protobuf type {@code exec.shared.QueryProfile}
@@ -14217,6 +14076,11 @@ private QueryProfile(
               queueName_ = input.readBytes();
               break;
             }
+            case 178: {
+              bitField0_ |= 0x00100000;
+              queryId_ = input.readBytes();
+              break;
+            }
           }
         }
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
@@ -14871,6 +14735,49 @@ public boolean hasQueueName() {
       }
     }
 
+    // optional string queryId = 22;
+    public static final int QUERYID_FIELD_NUMBER = 22;
+    private java.lang.Object queryId_;
+    /**
+     * <code>optional string queryId = 22;</code>
+     */
+    public boolean hasQueryId() {
+      return ((bitField0_ & 0x00100000) == 0x00100000);
+    }
+    /**
+     * <code>optional string queryId = 22;</code>
+     */
+    public java.lang.String getQueryId() {
+      java.lang.Object ref = queryId_;
+      if (ref instanceof java.lang.String) {
+        return (java.lang.String) ref;
+      } else {
+        com.google.protobuf.ByteString bs = 
+            (com.google.protobuf.ByteString) ref;
+        java.lang.String s = bs.toStringUtf8();
+        if (bs.isValidUtf8()) {
+          queryId_ = s;
+        }
+        return s;
+      }
+    }
+    /**
+     * <code>optional string queryId = 22;</code>
+     */
+    public com.google.protobuf.ByteString
+        getQueryIdBytes() {
+      java.lang.Object ref = queryId_;
+      if (ref instanceof java.lang.String) {
+        com.google.protobuf.ByteString b = 
+            com.google.protobuf.ByteString.copyFromUtf8(
+                (java.lang.String) ref);
+        queryId_ = b;
+        return b;
+      } else {
+        return (com.google.protobuf.ByteString) ref;
+      }
+    }
+
     private void initFields() {
       id_ = 
org.apache.drill.exec.proto.UserBitShared.QueryId.getDefaultInstance();
       type_ = org.apache.drill.exec.proto.UserBitShared.QueryType.SQL;
@@ -14893,6 +14800,7 @@ private void initFields() {
       queueWaitEnd_ = 0L;
       totalCost_ = 0D;
       queueName_ = "-";
+      queryId_ = "";
     }
     private byte memoizedIsInitialized = -1;
     public final boolean isInitialized() {
@@ -14969,6 +14877,9 @@ public void 
writeTo(com.google.protobuf.CodedOutputStream output)
       if (((bitField0_ & 0x00080000) == 0x00080000)) {
         output.writeBytes(21, getQueueNameBytes());
       }
+      if (((bitField0_ & 0x00100000) == 0x00100000)) {
+        output.writeBytes(22, getQueryIdBytes());
+      }
       getUnknownFields().writeTo(output);
     }
 
@@ -15062,6 +14973,10 @@ public int getSerializedSize() {
         size += com.google.protobuf.CodedOutputStream
           .computeBytesSize(21, getQueueNameBytes());
       }
+      if (((bitField0_ & 0x00100000) == 0x00100000)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeBytesSize(22, getQueryIdBytes());
+      }
       size += getUnknownFields().getSerializedSize();
       memoizedSerializedSize = size;
       return size;
@@ -15235,6 +15150,8 @@ public Builder clear() {
         bitField0_ = (bitField0_ & ~0x00080000);
         queueName_ = "-";
         bitField0_ = (bitField0_ & ~0x00100000);
+        queryId_ = "";
+        bitField0_ = (bitField0_ & ~0x00200000);
         return this;
       }
 
@@ -15360,6 +15277,10 @@ public Builder clone() {
           to_bitField0_ |= 0x00080000;
         }
         result.queueName_ = queueName_;
+        if (((from_bitField0_ & 0x00200000) == 0x00200000)) {
+          to_bitField0_ |= 0x00100000;
+        }
+        result.queryId_ = queryId_;
         result.bitField0_ = to_bitField0_;
         onBuilt();
         return result;
@@ -15480,6 +15401,11 @@ public Builder 
mergeFrom(org.apache.drill.exec.proto.UserBitShared.QueryProfile
           queueName_ = other.queueName_;
           onChanged();
         }
+        if (other.hasQueryId()) {
+          bitField0_ |= 0x00200000;
+          queryId_ = other.queryId_;
+          onChanged();
+        }
         this.mergeUnknownFields(other.getUnknownFields());
         return this;
       }
@@ -16950,6 +16876,80 @@ public Builder setQueueNameBytes(
         return this;
       }
 
+      // optional string queryId = 22;
+      private java.lang.Object queryId_ = "";
+      /**
+       * <code>optional string queryId = 22;</code>
+       */
+      public boolean hasQueryId() {
+        return ((bitField0_ & 0x00200000) == 0x00200000);
+      }
+      /**
+       * <code>optional string queryId = 22;</code>
+       */
+      public java.lang.String getQueryId() {
+        java.lang.Object ref = queryId_;
+        if (!(ref instanceof java.lang.String)) {
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          queryId_ = s;
+          return s;
+        } else {
+          return (java.lang.String) ref;
+        }
+      }
+      /**
+       * <code>optional string queryId = 22;</code>
+       */
+      public com.google.protobuf.ByteString
+          getQueryIdBytes() {
+        java.lang.Object ref = queryId_;
+        if (ref instanceof String) {
+          com.google.protobuf.ByteString b = 
+              com.google.protobuf.ByteString.copyFromUtf8(
+                  (java.lang.String) ref);
+          queryId_ = b;
+          return b;
+        } else {
+          return (com.google.protobuf.ByteString) ref;
+        }
+      }
+      /**
+       * <code>optional string queryId = 22;</code>
+       */
+      public Builder setQueryId(
+          java.lang.String value) {
+        if (value == null) {
+    throw new NullPointerException();
+  }
+  bitField0_ |= 0x00200000;
+        queryId_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>optional string queryId = 22;</code>
+       */
+      public Builder clearQueryId() {
+        bitField0_ = (bitField0_ & ~0x00200000);
+        queryId_ = getDefaultInstance().getQueryId();
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>optional string queryId = 22;</code>
+       */
+      public Builder setQueryIdBytes(
+          com.google.protobuf.ByteString value) {
+        if (value == null) {
+    throw new NullPointerException();
+  }
+  bitField0_ |= 0x00200000;
+        queryId_ = value;
+        onChanged();
+        return this;
+      }
+
       // @@protoc_insertion_point(builder_scope:exec.shared.QueryProfile)
     }
 
@@ -24205,133 +24205,133 @@ public Builder clearStatus() {
       "\n\023UserBitShared.proto\022\013exec.shared\032\013Type" +
       "s.proto\032\022Coordination.proto\032\017SchemaDef.p" +
       "roto\"$\n\017UserCredentials\022\021\n\tuser_name\030\001 \001" +
-      "(\t\"5\n\007QueryId\022\r\n\005part1\030\001 
\001(\020\022\r\n\005part2\030\002 " +
-      "\001(\020\022\014\n\004text\030\003 
\001(\t\"\355\003\n\014DrillPBError\022\020\n\010er" +
-      "ror_id\030\001 \001(\t\022(\n\010endpoint\030\002 
\001(\0132\026.exec.Dr" +
-      "illbitEndpoint\0227\n\nerror_type\030\003 \001(\0162#.exe" +
-      "c.shared.DrillPBError.ErrorType\022\017\n\007messa" +
-      "ge\030\004 \001(\t\0220\n\texception\030\005 \001(\0132\035.exec.share" 
+
-      "d.ExceptionWrapper\0220\n\rparsing_error\030\006 \003(",
-      "\0132\031.exec.shared.ParsingError\"\362\001\n\tErrorTy" +
-      
"pe\022\016\n\nCONNECTION\020\000\022\r\n\tDATA_READ\020\001\022\016\n\nDAT" +
-      
"A_WRITE\020\002\022\014\n\010FUNCTION\020\003\022\t\n\005PARSE\020\004\022\016\n\nPE"
 +
-      
"RMISSION\020\005\022\010\n\004PLAN\020\006\022\014\n\010RESOURCE\020\007\022\n\n\006SY"
 +
-      "STEM\020\010\022\031\n\025UNSUPPORTED_OPERATION\020\t\022\016\n\nVAL" +
-      "IDATION\020\n\022\023\n\017EXECUTION_ERROR\020\013\022\022\n\016INTERN" 
+
-      
"AL_ERROR\020\014\022\025\n\021UNSPECIFIED_ERROR\020\r\"\246\001\n\020Ex" +
-      "ceptionWrapper\022\027\n\017exception_class\030\001 \001(\t\022" +
-      "\017\n\007message\030\002 \001(\t\022:\n\013stack_trace\030\003 
\003(\0132%." +
-      "exec.shared.StackTraceElementWrapper\022,\n\005",
-      "cause\030\004 \001(\0132\035.exec.shared.ExceptionWrapp" +
-      "er\"\205\001\n\030StackTraceElementWrapper\022\022\n\nclass" +
-      "_name\030\001 \001(\t\022\021\n\tfile_name\030\002 
\001(\t\022\023\n\013line_n" +
-      "umber\030\003 \001(\005\022\023\n\013method_name\030\004 
\001(\t\022\030\n\020is_n" +
-      "ative_method\030\005 \001(\010\"\\\n\014ParsingError\022\024\n\014st" +
-      "art_column\030\002 \001(\005\022\021\n\tstart_row\030\003 
\001(\005\022\022\n\ne" +
-      "nd_column\030\004 \001(\005\022\017\n\007end_row\030\005 
\001(\005\"~\n\016Reco" +
-      "rdBatchDef\022\024\n\014record_count\030\001 \001(\005\022+\n\005fiel" +
-      "d\030\002 \003(\0132\034.exec.shared.SerializedField\022)\n" +
-      "!carries_two_byte_selection_vector\030\003 \001(\010",
-      "\"\205\001\n\010NamePart\022(\n\004type\030\001 
\001(\0162\032.exec.share" +
-      "d.NamePart.Type\022\014\n\004name\030\002 
\001(\t\022$\n\005child\030\003" +
-      " \001(\0132\025.exec.shared.NamePart\"\033\n\004Type\022\010\n\004N" +
-      
"AME\020\000\022\t\n\005ARRAY\020\001\"\324\001\n\017SerializedField\022%\n\n" +
-      "major_type\030\001 \001(\0132\021.common.MajorType\022(\n\tn" +
-      "ame_part\030\002 \001(\0132\025.exec.shared.NamePart\022+\n" +
-      "\005child\030\003 \003(\0132\034.exec.shared.SerializedFie" +
-      "ld\022\023\n\013value_count\030\004 
\001(\005\022\027\n\017var_byte_leng" +
-      "th\030\005 \001(\005\022\025\n\rbuffer_length\030\007 
\001(\005\"7\n\nNodeS" +
-      "tatus\022\017\n\007node_id\030\001 
\001(\005\022\030\n\020memory_footpri",
-      "nt\030\002 
\001(\003\"\263\002\n\013QueryResult\0228\n\013query_state\030" +
-      "\001 \001(\0162#.exec.shared.QueryResult.QuerySta" +
-      "te\022&\n\010query_id\030\002 \001(\0132\024.exec.shared.Query" +
-      "Id\022(\n\005error\030\003 \003(\0132\031.exec.shared.DrillPBE" +
-      
"rror\"\227\001\n\nQueryState\022\014\n\010STARTING\020\000\022\013\n\007RUN" +
-      
"NING\020\001\022\r\n\tCOMPLETED\020\002\022\014\n\010CANCELED\020\003\022\n\n\006F"
 +
-      
"AILED\020\004\022\032\n\026CANCELLATION_REQUESTED\020\005\022\014\n\010E" +
-      
"NQUEUED\020\006\022\r\n\tPREPARING\020\007\022\014\n\010PLANNING\020\010\"p" +
-      "\n\tQueryData\022&\n\010query_id\030\001 \001(\0132\024.exec.sha" +
-      "red.QueryId\022\021\n\trow_count\030\002 
\001(\005\022(\n\003def\030\003 ",
-      "\001(\0132\033.exec.shared.RecordBatchDef\"\330\001\n\tQue" +
-      "ryInfo\022\r\n\005query\030\001 \001(\t\022\r\n\005start\030\002 
\001(\003\0222\n\005" +
-      "state\030\003 \001(\0162#.exec.shared.QueryResult.Qu" +
-      "eryState\022\017\n\004user\030\004 
\001(\t:\001-\022\'\n\007foreman\030\005 \001" +
-      "(\0132\026.exec.DrillbitEndpoint\022\024\n\014options_js" +
-      "on\030\006 \001(\t\022\022\n\ntotal_cost\030\007 
\001(\001\022\025\n\nqueue_na" +
-      "me\030\010 \001(\t:\001-\"\242\004\n\014QueryProfile\022 
\n\002id\030\001 \001(\013" +
-      "2\024.exec.shared.QueryId\022$\n\004type\030\002 \001(\0162\026.e" +
-      "xec.shared.QueryType\022\r\n\005start\030\003 \001(\003\022\013\n\003e" 
+
-      "nd\030\004 \001(\003\022\r\n\005query\030\005 
\001(\t\022\014\n\004plan\030\006 \001(\t\022\'\n",
-      "\007foreman\030\007 \001(\0132\026.exec.DrillbitEndpoint\0222" +
-      "\n\005state\030\010 \001(\0162#.exec.shared.QueryResult." +
-      "QueryState\022\027\n\017total_fragments\030\t \001(\005\022\032\n\022f" 
+
-      "inished_fragments\030\n \001(\005\022;\n\020fragment_prof" +
-      "ile\030\013 \003(\0132!.exec.shared.MajorFragmentPro" +
-      "file\022\017\n\004user\030\014 \001(\t:\001-\022\r\n\005error\030\r 
\001(\t\022\024\n\014" +
-      "verboseError\030\016 \001(\t\022\020\n\010error_id\030\017 
\001(\t\022\022\n\n" +
-      "error_node\030\020 \001(\t\022\024\n\014options_json\030\021 
\001(\t\022\017" +
-      "\n\007planEnd\030\022 \001(\003\022\024\n\014queueWaitEnd\030\023 
\001(\003\022\022\n" +
-      "\ntotal_cost\030\024 \001(\001\022\025\n\nqueue_name\030\025 
\001(\t:\001-",
-      "\"t\n\024MajorFragmentProfile\022\031\n\021major_fragme" +
-      "nt_id\030\001 \001(\005\022A\n\026minor_fragment_profile\030\002 " +
-      "\003(\0132!.exec.shared.MinorFragmentProfile\"\350" +
-      "\002\n\024MinorFragmentProfile\022)\n\005state\030\001 \001(\0162\032" +
-      ".exec.shared.FragmentState\022(\n\005error\030\002 \001(" +
-      "\0132\031.exec.shared.DrillPBError\022\031\n\021minor_fr" +
-      "agment_id\030\003 \001(\005\0226\n\020operator_profile\030\004 \003(" +
-      "\0132\034.exec.shared.OperatorProfile\022\022\n\nstart" +
-      "_time\030\005 \001(\003\022\020\n\010end_time\030\006 
\001(\003\022\023\n\013memory_" +
-      "used\030\007 \001(\003\022\027\n\017max_memory_used\030\010 
\001(\003\022(\n\010e",
-      "ndpoint\030\t \001(\0132\026.exec.DrillbitEndpoint\022\023\n" +
-      "\013last_update\030\n \001(\003\022\025\n\rlast_progress\030\013 \001(" 
+
-      "\003\"\377\001\n\017OperatorProfile\0221\n\rinput_profile\030\001" +
-      " \003(\0132\032.exec.shared.StreamProfile\022\023\n\013oper" +
-      "ator_id\030\003 \001(\005\022\025\n\roperator_type\030\004 
\001(\005\022\023\n\013" +
-      "setup_nanos\030\005 \001(\003\022\025\n\rprocess_nanos\030\006 
\001(\003" +
-      "\022#\n\033peak_local_memory_allocated\030\007 \001(\003\022(\n" +
-      "\006metric\030\010 \003(\0132\030.exec.shared.MetricValue\022" +
-      "\022\n\nwait_nanos\030\t \001(\003\"B\n\rStreamProfile\022\017\n\007" +
-      "records\030\001 \001(\003\022\017\n\007batches\030\002 
\001(\003\022\017\n\007schema",
-      "s\030\003 \001(\003\"J\n\013MetricValue\022\021\n\tmetric_id\030\001 
\001(" +
-      "\005\022\022\n\nlong_value\030\002 
\001(\003\022\024\n\014double_value\030\003 " +
-      "\001(\001\")\n\010Registry\022\035\n\003jar\030\001 
\003(\0132\020.exec.shar" +
-      "ed.Jar\"/\n\003Jar\022\014\n\004name\030\001 
\001(\t\022\032\n\022function_" +
-      "signature\030\002 \003(\t\"W\n\013SaslMessage\022\021\n\tmechan" +
-      "ism\030\001 \001(\t\022\014\n\004data\030\002 
\001(\014\022\'\n\006status\030\003 \001(\0162" +
-      "\027.exec.shared.SaslStatus*5\n\nRpcChannel\022\017" +
-      
"\n\013BIT_CONTROL\020\000\022\014\n\010BIT_DATA\020\001\022\010\n\004USER\020\002*"
 +
-      
"V\n\tQueryType\022\007\n\003SQL\020\001\022\013\n\007LOGICAL\020\002\022\014\n\010PH"
 +
-      "YSICAL\020\003\022\r\n\tEXECUTION\020\004\022\026\n\022PREPARED_STAT",
-      
"EMENT\020\005*\207\001\n\rFragmentState\022\013\n\007SENDING\020\000\022\027" +
-      
"\n\023AWAITING_ALLOCATION\020\001\022\013\n\007RUNNING\020\002\022\014\n\010" +
-      
"FINISHED\020\003\022\r\n\tCANCELLED\020\004\022\n\n\006FAILED\020\005\022\032\n"
 +
-      "\026CANCELLATION_REQUESTED\020\006*\360\006\n\020CoreOperat" +
-      "orType\022\021\n\rSINGLE_SENDER\020\000\022\024\n\020BROADCAST_S" +
-      
"ENDER\020\001\022\n\n\006FILTER\020\002\022\022\n\016HASH_AGGREGATE\020\003\022"
 +
-      
"\r\n\tHASH_JOIN\020\004\022\016\n\nMERGE_JOIN\020\005\022\031\n\025HASH_P" +
-      "ARTITION_SENDER\020\006\022\t\n\005LIMIT\020\007\022\024\n\020MERGING_" 
+
-      "RECEIVER\020\010\022\034\n\030ORDERED_PARTITION_SENDER\020\t" +
-      
"\022\013\n\007PROJECT\020\n\022\026\n\022UNORDERED_RECEIVER\020\013\022\020\n",
-      
"\014RANGE_SENDER\020\014\022\n\n\006SCREEN\020\r\022\034\n\030SELECTION" +
-      "_VECTOR_REMOVER\020\016\022\027\n\023STREAMING_AGGREGATE" +
-      
"\020\017\022\016\n\nTOP_N_SORT\020\020\022\021\n\rEXTERNAL_SORT\020\021\022\t\n"
 +
-      
"\005TRACE\020\022\022\t\n\005UNION\020\023\022\014\n\010OLD_SORT\020\024\022\032\n\026PAR"
 +
-      "QUET_ROW_GROUP_SCAN\020\025\022\021\n\rHIVE_SUB_SCAN\020\026" +
-      "\022\025\n\021SYSTEM_TABLE_SCAN\020\027\022\021\n\rMOCK_SUB_SCAN" +
-      
"\020\030\022\022\n\016PARQUET_WRITER\020\031\022\023\n\017DIRECT_SUB_SCA" +
-      
"N\020\032\022\017\n\013TEXT_WRITER\020\033\022\021\n\rTEXT_SUB_SCAN\020\034\022"
 +
-      "\021\n\rJSON_SUB_SCAN\020\035\022\030\n\024INFO_SCHEMA_SUB_SC" +
-      
"AN\020\036\022\023\n\017COMPLEX_TO_JSON\020\037\022\025\n\021PRODUCER_CO",
-      "NSUMER\020 \022\022\n\016HBASE_SUB_SCAN\020!\022\n\n\006WINDOW\020\"" +
-      "\022\024\n\020NESTED_LOOP_JOIN\020#\022\021\n\rAVRO_SUB_SCAN\020" +
-      "$\022\021\n\rPCAP_SUB_SCAN\020%\022\022\n\016KAFKA_SUB_SCAN\020&" +
-      
"\022\021\n\rKUDU_SUB_SCAN\020\'\022\013\n\007FLATTEN\020(\022\020\n\014LATE" +
-      "RAL_JOIN\020)\022\n\n\006UNNEST\020*\022,\n(HIVE_DRILL_NAT" +
-      "IVE_PARQUET_ROW_GROUP_SCAN\020+*g\n\nSaslStat" +
-      
"us\022\020\n\014SASL_UNKNOWN\020\000\022\016\n\nSASL_START\020\001\022\024\n\020"
 +
-      
"SASL_IN_PROGRESS\020\002\022\020\n\014SASL_SUCCESS\020\003\022\017\n\013" +
-      "SASL_FAILED\020\004B.\n\033org.apache.drill.exec.p" +
-      "rotoB\rUserBitSharedH\001"
+      "(\t\"\'\n\007QueryId\022\r\n\005part1\030\001 
\001(\020\022\r\n\005part2\030\002 " +
+      "\001(\020\"\355\003\n\014DrillPBError\022\020\n\010error_id\030\001 
\001(\t\022(" +
+      "\n\010endpoint\030\002 \001(\0132\026.exec.DrillbitEndpoint" +
+      "\0227\n\nerror_type\030\003 \001(\0162#.exec.shared.Drill" +
+      "PBError.ErrorType\022\017\n\007message\030\004 \001(\t\0220\n\tex" +
+      "ception\030\005 \001(\0132\035.exec.shared.ExceptionWra" +
+      "pper\0220\n\rparsing_error\030\006 \003(\0132\031.exec.share",
+      "d.ParsingError\"\362\001\n\tErrorType\022\016\n\nCONNECTI" +
+      
"ON\020\000\022\r\n\tDATA_READ\020\001\022\016\n\nDATA_WRITE\020\002\022\014\n\010F"
 +
+      
"UNCTION\020\003\022\t\n\005PARSE\020\004\022\016\n\nPERMISSION\020\005\022\010\n\004"
 +
+      
"PLAN\020\006\022\014\n\010RESOURCE\020\007\022\n\n\006SYSTEM\020\010\022\031\n\025UNSU"
 +
+      "PPORTED_OPERATION\020\t\022\016\n\nVALIDATION\020\n\022\023\n\017E" +
+      
"XECUTION_ERROR\020\013\022\022\n\016INTERNAL_ERROR\020\014\022\025\n\021" +
+      "UNSPECIFIED_ERROR\020\r\"\246\001\n\020ExceptionWrapper" +
+      "\022\027\n\017exception_class\030\001 
\001(\t\022\017\n\007message\030\002 \001" +
+      "(\t\022:\n\013stack_trace\030\003 \003(\0132%.exec.shared.St" +
+      "ackTraceElementWrapper\022,\n\005cause\030\004 \001(\0132\035.",
+      "exec.shared.ExceptionWrapper\"\205\001\n\030StackTr" +
+      "aceElementWrapper\022\022\n\nclass_name\030\001 \001(\t\022\021\n" +
+      "\tfile_name\030\002 \001(\t\022\023\n\013line_number\030\003 
\001(\005\022\023\n" +
+      "\013method_name\030\004 \001(\t\022\030\n\020is_native_method\030\005" +
+      " \001(\010\"\\\n\014ParsingError\022\024\n\014start_column\030\002 
\001" +
+      "(\005\022\021\n\tstart_row\030\003 
\001(\005\022\022\n\nend_column\030\004 \001(" +
+      "\005\022\017\n\007end_row\030\005 
\001(\005\"~\n\016RecordBatchDef\022\024\n\014" +
+      "record_count\030\001 \001(\005\022+\n\005field\030\002 
\003(\0132\034.exec" +
+      ".shared.SerializedField\022)\n!carries_two_b" +
+      "yte_selection_vector\030\003 \001(\010\"\205\001\n\010NamePart\022",
+      "(\n\004type\030\001 \001(\0162\032.exec.shared.NamePart.Typ" +
+      "e\022\014\n\004name\030\002 \001(\t\022$\n\005child\030\003 
\001(\0132\025.exec.sh" +
+      
"ared.NamePart\"\033\n\004Type\022\010\n\004NAME\020\000\022\t\n\005ARRAY" +
+      "\020\001\"\324\001\n\017SerializedField\022%\n\nmajor_type\030\001 
\001" +
+      "(\0132\021.common.MajorType\022(\n\tname_part\030\002 \001(\013" +
+      "2\025.exec.shared.NamePart\022+\n\005child\030\003 \003(\0132\034" +
+      ".exec.shared.SerializedField\022\023\n\013value_co" +
+      "unt\030\004 \001(\005\022\027\n\017var_byte_length\030\005 
\001(\005\022\025\n\rbu" +
+      "ffer_length\030\007 \001(\005\"7\n\nNodeStatus\022\017\n\007node_" +
+      "id\030\001 \001(\005\022\030\n\020memory_footprint\030\002 
\001(\003\"\263\002\n\013Q",
+      "ueryResult\0228\n\013query_state\030\001 \001(\0162#.exec.s" +
+      "hared.QueryResult.QueryState\022&\n\010query_id" +
+      "\030\002 \001(\0132\024.exec.shared.QueryId\022(\n\005error\030\003 " +
+      "\003(\0132\031.exec.shared.DrillPBError\"\227\001\n\nQuery" +
+      
"State\022\014\n\010STARTING\020\000\022\013\n\007RUNNING\020\001\022\r\n\tCOMP"
 +
+      
"LETED\020\002\022\014\n\010CANCELED\020\003\022\n\n\006FAILED\020\004\022\032\n\026CAN"
 +
+      "CELLATION_REQUESTED\020\005\022\014\n\010ENQUEUED\020\006\022\r\n\tP" +
+      "REPARING\020\007\022\014\n\010PLANNING\020\010\"p\n\tQueryData\022&\n" +
+      "\010query_id\030\001 \001(\0132\024.exec.shared.QueryId\022\021\n" +
+      "\trow_count\030\002 \001(\005\022(\n\003def\030\003 
\001(\0132\033.exec.sha",
+      "red.RecordBatchDef\"\330\001\n\tQueryInfo\022\r\n\005quer" +
+      "y\030\001 \001(\t\022\r\n\005start\030\002 
\001(\003\0222\n\005state\030\003 \001(\0162#." +
+      "exec.shared.QueryResult.QueryState\022\017\n\004us" +
+      "er\030\004 \001(\t:\001-\022\'\n\007foreman\030\005 
\001(\0132\026.exec.Dril" +
+      "lbitEndpoint\022\024\n\014options_json\030\006 \001(\t\022\022\n\nto" +
+      "tal_cost\030\007 \001(\001\022\025\n\nqueue_name\030\010 
\001(\t:\001-\"\263\004" +
+      "\n\014QueryProfile\022 \n\002id\030\001 \001(\0132\024.exec.shared" +
+      ".QueryId\022$\n\004type\030\002 \001(\0162\026.exec.shared.Que" +
+      "ryType\022\r\n\005start\030\003 \001(\003\022\013\n\003end\030\004 
\001(\003\022\r\n\005qu" +
+      "ery\030\005 \001(\t\022\014\n\004plan\030\006 
\001(\t\022\'\n\007foreman\030\007 \001(\013",
+      "2\026.exec.DrillbitEndpoint\0222\n\005state\030\010 \001(\0162" +
+      "#.exec.shared.QueryResult.QueryState\022\027\n\017" +
+      "total_fragments\030\t \001(\005\022\032\n\022finished_fragme" +
+      "nts\030\n \001(\005\022;\n\020fragment_profile\030\013 \003(\0132!.ex" +
+      "ec.shared.MajorFragmentProfile\022\017\n\004user\030\014" +
+      " \001(\t:\001-\022\r\n\005error\030\r 
\001(\t\022\024\n\014verboseError\030\016" +
+      " \001(\t\022\020\n\010error_id\030\017 
\001(\t\022\022\n\nerror_node\030\020 \001" +
+      "(\t\022\024\n\014options_json\030\021 
\001(\t\022\017\n\007planEnd\030\022 \001(" +
+      "\003\022\024\n\014queueWaitEnd\030\023 
\001(\003\022\022\n\ntotal_cost\030\024 " +
+      "\001(\001\022\025\n\nqueue_name\030\025 
\001(\t:\001-\022\017\n\007queryId\030\026 ",
+      "\001(\t\"t\n\024MajorFragmentProfile\022\031\n\021major_fra" +
+      "gment_id\030\001 \001(\005\022A\n\026minor_fragment_profile" +
+      "\030\002 \003(\0132!.exec.shared.MinorFragmentProfil" +
+      "e\"\350\002\n\024MinorFragmentProfile\022)\n\005state\030\001 \001(" +
+      "\0162\032.exec.shared.FragmentState\022(\n\005error\030\002" +
+      " \001(\0132\031.exec.shared.DrillPBError\022\031\n\021minor" +
+      "_fragment_id\030\003 \001(\005\0226\n\020operator_profile\030\004" +
+      " \003(\0132\034.exec.shared.OperatorProfile\022\022\n\nst" +
+      "art_time\030\005 \001(\003\022\020\n\010end_time\030\006 
\001(\003\022\023\n\013memo" +
+      "ry_used\030\007 \001(\003\022\027\n\017max_memory_used\030\010 
\001(\003\022(",
+      "\n\010endpoint\030\t \001(\0132\026.exec.DrillbitEndpoint" +
+      "\022\023\n\013last_update\030\n 
\001(\003\022\025\n\rlast_progress\030\013" +
+      " \001(\003\"\377\001\n\017OperatorProfile\0221\n\rinput_profil" +
+      "e\030\001 \003(\0132\032.exec.shared.StreamProfile\022\023\n\013o" +
+      "perator_id\030\003 \001(\005\022\025\n\roperator_type\030\004 
\001(\005\022" +
+      "\023\n\013setup_nanos\030\005 
\001(\003\022\025\n\rprocess_nanos\030\006 " +
+      "\001(\003\022#\n\033peak_local_memory_allocated\030\007 \001(\003" +
+      "\022(\n\006metric\030\010 \003(\0132\030.exec.shared.MetricVal" +
+      "ue\022\022\n\nwait_nanos\030\t \001(\003\"B\n\rStreamProfile\022" +
+      "\017\n\007records\030\001 \001(\003\022\017\n\007batches\030\002 
\001(\003\022\017\n\007sch",
+      "emas\030\003 
\001(\003\"J\n\013MetricValue\022\021\n\tmetric_id\030\001" +
+      " \001(\005\022\022\n\nlong_value\030\002 
\001(\003\022\024\n\014double_value" +
+      "\030\003 \001(\001\")\n\010Registry\022\035\n\003jar\030\001 
\003(\0132\020.exec.s" +
+      "hared.Jar\"/\n\003Jar\022\014\n\004name\030\001 
\001(\t\022\032\n\022functi" +
+      "on_signature\030\002 \003(\t\"W\n\013SaslMessage\022\021\n\tmec" +
+      "hanism\030\001 \001(\t\022\014\n\004data\030\002 
\001(\014\022\'\n\006status\030\003 \001" +
+      "(\0162\027.exec.shared.SaslStatus*5\n\nRpcChanne" +
+      
"l\022\017\n\013BIT_CONTROL\020\000\022\014\n\010BIT_DATA\020\001\022\010\n\004USER"
 +
+      
"\020\002*V\n\tQueryType\022\007\n\003SQL\020\001\022\013\n\007LOGICAL\020\002\022\014\n"
 +
+      
"\010PHYSICAL\020\003\022\r\n\tEXECUTION\020\004\022\026\n\022PREPARED_S",
+      "TATEMENT\020\005*\207\001\n\rFragmentState\022\013\n\007SENDING\020" +
+      
"\000\022\027\n\023AWAITING_ALLOCATION\020\001\022\013\n\007RUNNING\020\002\022"
 +
+      
"\014\n\010FINISHED\020\003\022\r\n\tCANCELLED\020\004\022\n\n\006FAILED\020\005"
 +
+      "\022\032\n\026CANCELLATION_REQUESTED\020\006*\360\006\n\020CoreOpe" +
+      "ratorType\022\021\n\rSINGLE_SENDER\020\000\022\024\n\020BROADCAS" +
+      "T_SENDER\020\001\022\n\n\006FILTER\020\002\022\022\n\016HASH_AGGREGATE" 
+
+      
"\020\003\022\r\n\tHASH_JOIN\020\004\022\016\n\nMERGE_JOIN\020\005\022\031\n\025HAS"
 +
+      "H_PARTITION_SENDER\020\006\022\t\n\005LIMIT\020\007\022\024\n\020MERGI" 
+
+      "NG_RECEIVER\020\010\022\034\n\030ORDERED_PARTITION_SENDE" +
+      
"R\020\t\022\013\n\007PROJECT\020\n\022\026\n\022UNORDERED_RECEIVER\020\013",
+      
"\022\020\n\014RANGE_SENDER\020\014\022\n\n\006SCREEN\020\r\022\034\n\030SELECT"
 +
+      "ION_VECTOR_REMOVER\020\016\022\027\n\023STREAMING_AGGREG" +
+      
"ATE\020\017\022\016\n\nTOP_N_SORT\020\020\022\021\n\rEXTERNAL_SORT\020\021" +
+      
"\022\t\n\005TRACE\020\022\022\t\n\005UNION\020\023\022\014\n\010OLD_SORT\020\024\022\032\n\026"
 +
+      "PARQUET_ROW_GROUP_SCAN\020\025\022\021\n\rHIVE_SUB_SCA" +
+      "N\020\026\022\025\n\021SYSTEM_TABLE_SCAN\020\027\022\021\n\rMOCK_SUB_S" 
+
+      
"CAN\020\030\022\022\n\016PARQUET_WRITER\020\031\022\023\n\017DIRECT_SUB_" +
+      "SCAN\020\032\022\017\n\013TEXT_WRITER\020\033\022\021\n\rTEXT_SUB_SCAN" 
+
+      "\020\034\022\021\n\rJSON_SUB_SCAN\020\035\022\030\n\024INFO_SCHEMA_SUB" 
+
+      
"_SCAN\020\036\022\023\n\017COMPLEX_TO_JSON\020\037\022\025\n\021PRODUCER",
+      "_CONSUMER\020 \022\022\n\016HBASE_SUB_SCAN\020!\022\n\n\006WINDO" +
+      "W\020\"\022\024\n\020NESTED_LOOP_JOIN\020#\022\021\n\rAVRO_SUB_SC" +
+      "AN\020$\022\021\n\rPCAP_SUB_SCAN\020%\022\022\n\016KAFKA_SUB_SCA" +
+      
"N\020&\022\021\n\rKUDU_SUB_SCAN\020\'\022\013\n\007FLATTEN\020(\022\020\n\014L"
 +
+      "ATERAL_JOIN\020)\022\n\n\006UNNEST\020*\022,\n(HIVE_DRILL_" +
+      "NATIVE_PARQUET_ROW_GROUP_SCAN\020+*g\n\nSaslS" +
+      
"tatus\022\020\n\014SASL_UNKNOWN\020\000\022\016\n\nSASL_START\020\001\022" +
+      
"\024\n\020SASL_IN_PROGRESS\020\002\022\020\n\014SASL_SUCCESS\020\003\022" +
+      "\017\n\013SASL_FAILED\020\004B.\n\033org.apache.drill.exe" +
+      "c.protoB\rUserBitSharedH\001"
     };
     com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner 
assigner =
       new 
com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
@@ -24349,7 +24349,7 @@ public Builder clearStatus() {
           internal_static_exec_shared_QueryId_fieldAccessorTable = new
             com.google.protobuf.GeneratedMessage.FieldAccessorTable(
               internal_static_exec_shared_QueryId_descriptor,
-              new java.lang.String[] { "Part1", "Part2", "Text", });
+              new java.lang.String[] { "Part1", "Part2", });
           internal_static_exec_shared_DrillPBError_descriptor =
             getDescriptor().getMessageTypes().get(2);
           internal_static_exec_shared_DrillPBError_fieldAccessorTable = new
@@ -24421,7 +24421,7 @@ public Builder clearStatus() {
           internal_static_exec_shared_QueryProfile_fieldAccessorTable = new
             com.google.protobuf.GeneratedMessage.FieldAccessorTable(
               internal_static_exec_shared_QueryProfile_descriptor,
-              new java.lang.String[] { "Id", "Type", "Start", "End", "Query", 
"Plan", "Foreman", "State", "TotalFragments", "FinishedFragments", 
"FragmentProfile", "User", "Error", "VerboseError", "ErrorId", "ErrorNode", 
"OptionsJson", "PlanEnd", "QueueWaitEnd", "TotalCost", "QueueName", });
+              new java.lang.String[] { "Id", "Type", "Start", "End", "Query", 
"Plan", "Foreman", "State", "TotalFragments", "FinishedFragments", 
"FragmentProfile", "User", "Error", "VerboseError", "ErrorId", "ErrorNode", 
"OptionsJson", "PlanEnd", "QueueWaitEnd", "TotalCost", "QueueName", "QueryId", 
});
           internal_static_exec_shared_MajorFragmentProfile_descriptor =
             getDescriptor().getMessageTypes().get(14);
           internal_static_exec_shared_MajorFragmentProfile_fieldAccessorTable 
= new
diff --git 
a/protocol/src/main/java/org/apache/drill/exec/proto/beans/QueryId.java 
b/protocol/src/main/java/org/apache/drill/exec/proto/beans/QueryId.java
index 72406fee3e..338234f2f8 100644
--- a/protocol/src/main/java/org/apache/drill/exec/proto/beans/QueryId.java
+++ b/protocol/src/main/java/org/apache/drill/exec/proto/beans/QueryId.java
@@ -49,7 +49,6 @@ public static QueryId getDefaultInstance()
     
     private long part1;
     private long part2;
-    private String text;
 
     public QueryId()
     {
@@ -84,19 +83,6 @@ public QueryId setPart2(long part2)
         return this;
     }
 
-    // text
-
-    public String getText()
-    {
-        return text;
-    }
-
-    public QueryId setText(String text)
-    {
-        this.text = text;
-        return this;
-    }
-
     // java serialization
 
     public void readExternal(ObjectInput in) throws IOException
@@ -157,9 +143,6 @@ public void mergeFrom(Input input, QueryId message) throws 
IOException
                 case 2:
                     message.part2 = input.readSFixed64();
                     break;
-                case 3:
-                    message.text = input.readString();
-                    break;
                 default:
                     input.handleUnknownField(number, this);
             }   
@@ -174,9 +157,6 @@ public void writeTo(Output output, QueryId message) throws 
IOException
 
         if(message.part2 != 0)
             output.writeSFixed64(2, message.part2, false);
-
-        if(message.text != null)
-            output.writeString(3, message.text, false);
     }
 
     public String getFieldName(int number)
@@ -185,7 +165,6 @@ public String getFieldName(int number)
         {
             case 1: return "part1";
             case 2: return "part2";
-            case 3: return "text";
             default: return null;
         }
     }
@@ -201,7 +180,6 @@ public int getFieldNumber(String name)
     {
         __fieldMap.put("part1", 1);
         __fieldMap.put("part2", 2);
-        __fieldMap.put("text", 3);
     }
     
 }
diff --git 
a/protocol/src/main/java/org/apache/drill/exec/proto/beans/QueryProfile.java 
b/protocol/src/main/java/org/apache/drill/exec/proto/beans/QueryProfile.java
index 7986b5fe2d..2255e361a5 100644
--- a/protocol/src/main/java/org/apache/drill/exec/proto/beans/QueryProfile.java
+++ b/protocol/src/main/java/org/apache/drill/exec/proto/beans/QueryProfile.java
@@ -73,6 +73,7 @@ public static QueryProfile getDefaultInstance()
     private long queueWaitEnd;
     private double totalCost;
     private String queueName = DEFAULT_QUEUE_NAME;
+    private String queryId;
 
     public QueryProfile()
     {
@@ -354,6 +355,19 @@ public QueryProfile setQueueName(String queueName)
         return this;
     }
 
+    // queryId
+
+    public String getQueryId()
+    {
+        return queryId;
+    }
+
+    public QueryProfile setQueryId(String queryId)
+    {
+        this.queryId = queryId;
+        return this;
+    }
+
     // java serialization
 
     public void readExternal(ObjectInput in) throws IOException
@@ -476,6 +490,9 @@ public void mergeFrom(Input input, QueryProfile message) 
throws IOException
                 case 21:
                     message.queueName = input.readString();
                     break;
+                case 22:
+                    message.queryId = input.readString();
+                    break;
                 default:
                     input.handleUnknownField(number, this);
             }   
@@ -556,6 +573,9 @@ public void writeTo(Output output, QueryProfile message) 
throws IOException
 
         if(message.queueName != null && message.queueName != 
DEFAULT_QUEUE_NAME)
             output.writeString(21, message.queueName, false);
+
+        if(message.queryId != null)
+            output.writeString(22, message.queryId, false);
     }
 
     public String getFieldName(int number)
@@ -583,6 +603,7 @@ public String getFieldName(int number)
             case 19: return "queueWaitEnd";
             case 20: return "totalCost";
             case 21: return "queueName";
+            case 22: return "queryId";
             default: return null;
         }
     }
@@ -617,6 +638,7 @@ public int getFieldNumber(String name)
         __fieldMap.put("queueWaitEnd", 19);
         __fieldMap.put("totalCost", 20);
         __fieldMap.put("queueName", 21);
+        __fieldMap.put("queryId", 22);
     }
     
 }
diff --git a/protocol/src/main/protobuf/UserBitShared.proto 
b/protocol/src/main/protobuf/UserBitShared.proto
index 14bfb87134..1b0f9682a2 100644
--- a/protocol/src/main/protobuf/UserBitShared.proto
+++ b/protocol/src/main/protobuf/UserBitShared.proto
@@ -31,7 +31,6 @@ message UserCredentials {
 message QueryId {
   optional sfixed64 part1 = 1;
   optional sfixed64 part2 = 2;
-  optional string text = 3;
 }
 
 message DrillPBError{
@@ -233,6 +232,7 @@ message QueryProfile {
   optional int64 queueWaitEnd = 19;
   optional double total_cost = 20;
   optional string queue_name = 21 [default = "-"];
+  optional string queryId = 22;
 }
 
 message MajorFragmentProfile {


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


> Unable to view profile of a running query
> -----------------------------------------
>
>                 Key: DRILL-6459
>                 URL: https://issues.apache.org/jira/browse/DRILL-6459
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Web Server
>    Affects Versions: 1.14.0
>            Reporter: Kunal Khatua
>            Assignee: Kunal Khatua
>            Priority: Critical
>              Labels: ready-to-commit
>             Fix For: 1.14.0
>
>
> When running a query on the current master (), the query lists in the 
> _Running Queries_ table. But when trying to view the profile, the following 
> error appears:
> {code:java}
> {
>   "errorMessage" : "VALIDATION ERROR: No profile with given query id 
> '24ee72cd-893d-e359-4811-ad79905410a1' exists. Please verify the query 
> id.\n\n\n[Error Id: 59ef7486-889e-4bc9-a96a-b47c3421cfaf ]"
> }
> {code}
> I suspect this might have to do with version-related changes to the profile's 
> LocalPersistentStore or changes to the registering of running queries.
>  
> The query, however, is eventually available on completion.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to