You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@drill.apache.org by so...@apache.org on 2019/04/11 00:15:18 UTC

[drill] branch 1.16.0 created (now 47599c0)

This is an automated email from the ASF dual-hosted git repository.

sorabh pushed a change to branch 1.16.0
in repository https://gitbox.apache.org/repos/asf/drill.git.


      at 47599c0  Revert DRILL-6642: Update protocol-buffers version

This branch includes the following new commits:

     new d4875ae  Revert "DRILL-7105: Error while building the Drill native client"
     new 47599c0  Revert DRILL-6642: Update protocol-buffers version

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[drill] 01/02: Revert "DRILL-7105: Error while building the Drill native client"

Posted by so...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

sorabh pushed a commit to branch 1.16.0
in repository https://gitbox.apache.org/repos/asf/drill.git

commit d4875aebd04a5bca818ef75f81f365fc14bcce1c
Author: Sorabh Hamirwasia <so...@apache.org>
AuthorDate: Mon Apr 8 18:14:15 2019 -0700

    Revert "DRILL-7105: Error while building the Drill native client"
    
    This reverts commit a72f1700a8d260a2f92ba8955c77df6428feb919.
---
 contrib/native/client/CMakeLists.txt | 5 +----
 contrib/native/client/readme.linux   | 2 +-
 contrib/native/client/readme.macos   | 2 +-
 3 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/contrib/native/client/CMakeLists.txt b/contrib/native/client/CMakeLists.txt
index 02834b9..f434c41 100644
--- a/contrib/native/client/CMakeLists.txt
+++ b/contrib/native/client/CMakeLists.txt
@@ -15,10 +15,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-cmake_minimum_required(VERSION 3.1.3)
-
-set (CMAKE_CXX_STANDARD 11)
-set (CMAKE_CXX_STANDARD_REQUIRED ON)
+cmake_minimum_required(VERSION 2.6)
 
 project(drillclient)
 cmake_policy(SET CMP0043 NEW)
diff --git a/contrib/native/client/readme.linux b/contrib/native/client/readme.linux
index 1ca2846..dab0023 100644
--- a/contrib/native/client/readme.linux
+++ b/contrib/native/client/readme.linux
@@ -24,7 +24,7 @@ Install Prerequisites
 0) Install development tools
     $>yum groupinstall 'Development Tools'
 
-1) CMAKE 3
+1) CMAKE 3.0
     $> yum install cmake3
 
 2.1) Download protobuf 3.6 from :
diff --git a/contrib/native/client/readme.macos b/contrib/native/client/readme.macos
index a3edd69..ccee806 100644
--- a/contrib/native/client/readme.macos
+++ b/contrib/native/client/readme.macos
@@ -28,7 +28,7 @@ Install Prerequisites
 
 0.2) Install brew following the instructions here: http://brew.sh/
 
-1) CMAKE 3.1.3 or above
+1) CMAKE 3.0 or above
   Download and install Cmake : https://cmake.org/download/
   or use brew to install 
   $> brew install cmake


[drill] 02/02: Revert DRILL-6642: Update protocol-buffers version

Posted by so...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

sorabh pushed a commit to branch 1.16.0
in repository https://gitbox.apache.org/repos/asf/drill.git

commit 47599c00f71f0133b746b8cac9c10477ac50216a
Author: Sorabh Hamirwasia <so...@apache.org>
AuthorDate: Mon Apr 8 18:22:31 2019 -0700

    Revert DRILL-6642: Update protocol-buffers version
    
    1. Updated protobuf to version 3.6.1
    2. Added protobuf to the root pom dependency management
    3. Added classes BoundedByteString and LiteralByteString for compatibility with HBase
    4. Added ProtobufPatcher to provide compatibility with MapR-DB and HBase
---
 .travis.yml                                        |    19 +-
 contrib/native/client/readme.linux                 |    14 +-
 contrib/native/client/readme.macos                 |     2 +-
 contrib/native/client/readme.win.txt               |     4 +-
 .../client/src/include/drill/protobuf/Types.pb.h   |   264 +-
 .../native/client/src/protobuf/BitControl.pb.cc    |  4184 ++--
 contrib/native/client/src/protobuf/BitControl.pb.h |  2758 +--
 contrib/native/client/src/protobuf/BitData.pb.cc   |  1752 +-
 contrib/native/client/src/protobuf/BitData.pb.h    |  1006 +-
 .../native/client/src/protobuf/Coordination.pb.cc  |  1408 +-
 .../native/client/src/protobuf/Coordination.pb.h   |   949 +-
 .../client/src/protobuf/ExecutionProtos.pb.cc      |   804 +-
 .../client/src/protobuf/ExecutionProtos.pb.h       |   508 +-
 .../native/client/src/protobuf/GeneralRPC.pb.cc    |  1036 +-
 contrib/native/client/src/protobuf/GeneralRPC.pb.h |   655 +-
 contrib/native/client/src/protobuf/SchemaDef.pb.cc |    97 +-
 contrib/native/client/src/protobuf/SchemaDef.pb.h  |    55 +-
 contrib/native/client/src/protobuf/Types.pb.cc     |   586 +-
 contrib/native/client/src/protobuf/User.pb.cc      | 15946 +++++++--------
 contrib/native/client/src/protobuf/User.pb.h       | 11732 +++++------
 .../native/client/src/protobuf/UserBitShared.pb.cc | 10378 +++++-----
 .../native/client/src/protobuf/UserBitShared.pb.h  |  7161 +++----
 .../org/apache/drill/hbase/HBaseTestsSuite.java    |     2 -
 contrib/storage-hive/hive-exec-shade/pom.xml       |     4 -
 exec/java-exec/pom.xml                             |     1 +
 .../org/apache/drill/exec/server/Drillbit.java     |     7 -
 .../apache/drill/exec/util/ProtobufPatcher.java    |   186 -
 exec/rpc/pom.xml                                   |     1 +
 exec/vector/pom.xml                                |     1 +
 pom.xml                                            |     6 -
 protocol/pom.xml                                   |     1 +
 protocol/readme.txt                                |    24 +-
 .../org/apache/drill/common/types/TypeProtos.java  |  1089 +-
 .../org/apache/drill/exec/proto/BitControl.java    |  4276 ++--
 .../java/org/apache/drill/exec/proto/BitData.java  |  1833 +-
 .../drill/exec/proto/CoordinationProtos.java       |  1288 +-
 .../org/apache/drill/exec/proto/ExecProtos.java    |   753 +-
 .../apache/drill/exec/proto/GeneralRPCProtos.java  |  1262 +-
 .../apache/drill/exec/proto/SchemaDefProtos.java   |    53 +-
 .../org/apache/drill/exec/proto/UserBitShared.java | 10151 ++++------
 .../org/apache/drill/exec/proto/UserProtos.java    | 19618 +++++++------------
 41 files changed, 41025 insertions(+), 60849 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index b8db94d..b953f6c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -25,26 +25,15 @@ jdk:
 cache:
   directories:
   - "$HOME/.m2"
-  - "$HOME/protobuf"
 before_install:
   - git fetch --unshallow
   # Install libraries required for protobuf generation
   - |
     if [ $PHASE = "build_checkstyle_protobuf" ]; then \
-      sudo apt-get install -y libboost-all-dev libzookeeper-mt-dev libsasl2-dev cmake libcppunit-dev checkinstall && \
-      pushd .. && \
-      if [ -f $HOME/protobuf/protobuf_3.6.1* ]; then \
-        sudo dpkg -i $HOME/protobuf/protobuf_3.6.1*; \
-      else \
-        wget https://github.com/protocolbuffers/protobuf/releases/download/v3.6.1/protobuf-java-3.6.1.zip && \
-        unzip protobuf-java-3.6.1.zip && pushd protobuf-3.6.1 && \
-        ./configure && sudo make && sudo checkinstall -y && \
-        if [ ! -d $HOME/protobuf ]; then \
-          mkdir -p $HOME/protobuf; \
-        fi && \
-        mv protobuf_3.6.1* $HOME/protobuf/ && popd; \
-      fi && \
-      sudo ldconfig && popd; \
+      sudo apt-get install -y libboost-all-dev libzookeeper-mt-dev libsasl2-dev cmake libcppunit-dev && \
+      pushd .. && wget https://github.com/google/protobuf/releases/download/v2.5.0/protobuf-2.5.0.tar.gz && \
+      tar -xzvf protobuf-2.5.0.tar.gz && \
+      pushd protobuf-2.5.0 && ./configure --prefix=/usr && make && sudo make install && popd && popd; \
     fi
 install:
   # For tests phase runs unit tests
diff --git a/contrib/native/client/readme.linux b/contrib/native/client/readme.linux
index dab0023..92fe519 100644
--- a/contrib/native/client/readme.linux
+++ b/contrib/native/client/readme.linux
@@ -27,15 +27,15 @@ Install Prerequisites
 1) CMAKE 3.0
     $> yum install cmake3
 
-2.1) Download protobuf 3.6 from :
-    https://github.com/protocolbuffers/protobuf/releases/download/v3.6.1/protobuf-java-3.6.1.zip
+2.1) Download protobuf 2.5 from :
+    http://rpm.pbone.net/index.php3/stat/4/idpl/23552166/dir/centos_6/com/protobuf-2.5.0-16.1.x86_64.rpm.html
+    http://rpm.pbone.net/index.php3/stat/4/idpl/23552167/dir/centos_6/com/protobuf-compiler-2.5.0-16.1.x86_64.rpm.html
+    http://rpm.pbone.net/index.php3/stat/4/idpl/23552169/dir/centos_6/com/protobuf-devel-2.5.0-16.1.x86_64.rpm.html
 
 2.2) Install Protobufs
-    $> unzip protobuf-java-3.6.1.zip
-    $> cd protobuf-3.6.1
-    $> ./configure
-    $> sudo make
-    $> sudo make install
+    $> sudo yum install protobuf
+    $> sudo yum install protobuf-compiler
+    $> sudo yum install protobuf-devel
 
 3)
 3.1) Install Zookeeper prerequisites
diff --git a/contrib/native/client/readme.macos b/contrib/native/client/readme.macos
index ccee806..f50c30a 100644
--- a/contrib/native/client/readme.macos
+++ b/contrib/native/client/readme.macos
@@ -36,7 +36,7 @@ Install Prerequisites
 2.0) Install cppunit 
   $> brew install cppunit 
 
-2.1) Install protobuf 3.6.1 (or higher)
+2.1) Install protobuf 2.5.0 (or higher)
   $> brew install protobuf
 
 2.2) Install zookeeper
diff --git a/contrib/native/client/readme.win.txt b/contrib/native/client/readme.win.txt
index c4ed704..bd84b91 100644
--- a/contrib/native/client/readme.win.txt
+++ b/contrib/native/client/readme.win.txt
@@ -118,8 +118,8 @@ Windows platforms should be more or less similar.
         iii) If you do not have the 64 bit assembler installed, boost-context does not
         build. It is safe to ignore it as boost-context is not needed for Drill
 
-2.2 Protobuf (3.6.1)
-    Get protobuf from here: https://github.com/protocolbuffers/protobuf/releases/download/v3.6.1/protoc-3.6.1-win32.zip
+2.2 Protobuf (2.5.0)
+    Get protobuf from here: https://protobuf.googlecode.com/files/protobuf-2.5.0.zip
 
     a) Protobuf builds static libraries
     b) In Visual Studio, open <PROTOBUF_HOME>/vsprojects/protobuf.sln. The IDE may
diff --git a/contrib/native/client/src/include/drill/protobuf/Types.pb.h b/contrib/native/client/src/include/drill/protobuf/Types.pb.h
index ed99a61..b1dec7b 100644
--- a/contrib/native/client/src/include/drill/protobuf/Types.pb.h
+++ b/contrib/native/client/src/include/drill/protobuf/Types.pb.h
@@ -1,62 +1,40 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: Types.proto
 
-#ifndef PROTOBUF_INCLUDED_Types_2eproto
-#define PROTOBUF_INCLUDED_Types_2eproto
+#ifndef PROTOBUF_Types_2eproto__INCLUDED
+#define PROTOBUF_Types_2eproto__INCLUDED
 
 #include <string>
 
 #include <google/protobuf/stubs/common.h>
 
-#if GOOGLE_PROTOBUF_VERSION < 3006001
+#if GOOGLE_PROTOBUF_VERSION < 2005000
 #error This file was generated by a newer version of protoc which is
 #error incompatible with your Protocol Buffer headers.  Please update
 #error your headers.
 #endif
-#if 3006001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
+#if 2005000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
 #error This file was generated by an older version of protoc which is
 #error incompatible with your Protocol Buffer headers.  Please
 #error regenerate this file with a newer version of protoc.
 #endif
 
-#include <google/protobuf/io/coded_stream.h>
-#include <google/protobuf/arena.h>
-#include <google/protobuf/arenastring.h>
-#include <google/protobuf/generated_message_table_driven.h>
 #include <google/protobuf/generated_message_util.h>
-#include <google/protobuf/inlined_string_field.h>
-#include <google/protobuf/metadata.h>
 #include <google/protobuf/message.h>
-#include <google/protobuf/repeated_field.h>  // IWYU pragma: export
-#include <google/protobuf/extension_set.h>  // IWYU pragma: export
+#include <google/protobuf/repeated_field.h>
+#include <google/protobuf/extension_set.h>
 #include <google/protobuf/generated_enum_reflection.h>
 #include <google/protobuf/unknown_field_set.h>
 // @@protoc_insertion_point(includes)
-#define PROTOBUF_INTERNAL_EXPORT_protobuf_Types_2eproto 
-
-namespace protobuf_Types_2eproto {
-// Internal implementation detail -- do not use these members.
-struct TableStruct {
-  static const ::google::protobuf::internal::ParseTableField entries[];
-  static const ::google::protobuf::internal::AuxillaryParseTableField aux[];
-  static const ::google::protobuf::internal::ParseTable schema[1];
-  static const ::google::protobuf::internal::FieldMetadata field_metadata[];
-  static const ::google::protobuf::internal::SerializationTable serialization_table[];
-  static const ::google::protobuf::uint32 offsets[];
-};
-void AddDescriptors();
-}  // namespace protobuf_Types_2eproto
+
 namespace common {
+
+// Internal implementation detail -- do not call these.
+void  protobuf_AddDesc_Types_2eproto();
+void protobuf_AssignDesc_Types_2eproto();
+void protobuf_ShutdownFile_Types_2eproto();
+
 class MajorType;
-class MajorTypeDefaultTypeInternal;
-extern MajorTypeDefaultTypeInternal _MajorType_default_instance_;
-}  // namespace common
-namespace google {
-namespace protobuf {
-template<> ::common::MajorType* Arena::CreateMaybeMessage<::common::MajorType>(Arena*);
-}  // namespace protobuf
-}  // namespace google
-namespace common {
 
 enum MinorType {
   LATE = 0,
@@ -136,7 +114,7 @@ inline bool DataMode_Parse(
 }
 // ===================================================================
 
-class MajorType : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:common.MajorType) */ {
+class MajorType : public ::google::protobuf::Message {
  public:
   MajorType();
   virtual ~MajorType();
@@ -147,177 +125,141 @@ class MajorType : public ::google::protobuf::Message /* @@protoc_insertion_point
     CopyFrom(from);
     return *this;
   }
-  #if LANG_CXX11
-  MajorType(MajorType&& from) noexcept
-    : MajorType() {
-    *this = ::std::move(from);
-  }
 
-  inline MajorType& operator=(MajorType&& from) noexcept {
-    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-  #endif
   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _internal_metadata_.unknown_fields();
+    return _unknown_fields_;
   }
+
   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return _internal_metadata_.mutable_unknown_fields();
+    return &_unknown_fields_;
   }
 
   static const ::google::protobuf::Descriptor* descriptor();
   static const MajorType& default_instance();
 
-  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
-  static inline const MajorType* internal_default_instance() {
-    return reinterpret_cast<const MajorType*>(
-               &_MajorType_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    0;
-
   void Swap(MajorType* other);
-  friend void swap(MajorType& a, MajorType& b) {
-    a.Swap(&b);
-  }
 
   // implements Message ----------------------------------------------
 
-  inline MajorType* New() const final {
-    return CreateMaybeMessage<MajorType>(NULL);
-  }
-
-  MajorType* New(::google::protobuf::Arena* arena) const final {
-    return CreateMaybeMessage<MajorType>(arena);
-  }
-  void CopyFrom(const ::google::protobuf::Message& from) final;
-  void MergeFrom(const ::google::protobuf::Message& from) final;
+  MajorType* New() const;
+  void CopyFrom(const ::google::protobuf::Message& from);
+  void MergeFrom(const ::google::protobuf::Message& from);
   void CopyFrom(const MajorType& from);
   void MergeFrom(const MajorType& from);
-  void Clear() final;
-  bool IsInitialized() const final;
+  void Clear();
+  bool IsInitialized() const;
 
-  size_t ByteSizeLong() const final;
+  int ByteSize() const;
   bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) final;
+      ::google::protobuf::io::CodedInputStream* input);
   void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const final;
-  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
+      ::google::protobuf::io::CodedOutputStream* output) const;
+  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
+  int GetCachedSize() const { return _cached_size_; }
   private:
   void SharedCtor();
   void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(MajorType* other);
-  private:
-  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
-    return NULL;
-  }
-  inline void* MaybeArenaPtr() const {
-    return NULL;
-  }
+  void SetCachedSize(int size) const;
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const final;
+  ::google::protobuf::Metadata GetMetadata() const;
 
   // nested types ----------------------------------------------------
 
   // accessors -------------------------------------------------------
 
-  // repeated .common.MinorType sub_type = 7;
-  int sub_type_size() const;
-  void clear_sub_type();
-  static const int kSubTypeFieldNumber = 7;
-  ::common::MinorType sub_type(int index) const;
-  void set_sub_type(int index, ::common::MinorType value);
-  void add_sub_type(::common::MinorType value);
-  const ::google::protobuf::RepeatedField<int>& sub_type() const;
-  ::google::protobuf::RepeatedField<int>* mutable_sub_type();
-
   // optional .common.MinorType minor_type = 1;
-  bool has_minor_type() const;
-  void clear_minor_type();
+  inline bool has_minor_type() const;
+  inline void clear_minor_type();
   static const int kMinorTypeFieldNumber = 1;
-  ::common::MinorType minor_type() const;
-  void set_minor_type(::common::MinorType value);
+  inline ::common::MinorType minor_type() const;
+  inline void set_minor_type(::common::MinorType value);
 
   // optional .common.DataMode mode = 2;
-  bool has_mode() const;
-  void clear_mode();
+  inline bool has_mode() const;
+  inline void clear_mode();
   static const int kModeFieldNumber = 2;
-  ::common::DataMode mode() const;
-  void set_mode(::common::DataMode value);
+  inline ::common::DataMode mode() const;
+  inline void set_mode(::common::DataMode value);
 
   // optional int32 width = 3;
-  bool has_width() const;
-  void clear_width();
+  inline bool has_width() const;
+  inline void clear_width();
   static const int kWidthFieldNumber = 3;
-  ::google::protobuf::int32 width() const;
-  void set_width(::google::protobuf::int32 value);
+  inline ::google::protobuf::int32 width() const;
+  inline void set_width(::google::protobuf::int32 value);
 
   // optional int32 precision = 4;
-  bool has_precision() const;
-  void clear_precision();
+  inline bool has_precision() const;
+  inline void clear_precision();
   static const int kPrecisionFieldNumber = 4;
-  ::google::protobuf::int32 precision() const;
-  void set_precision(::google::protobuf::int32 value);
+  inline ::google::protobuf::int32 precision() const;
+  inline void set_precision(::google::protobuf::int32 value);
 
   // optional int32 scale = 5;
-  bool has_scale() const;
-  void clear_scale();
+  inline bool has_scale() const;
+  inline void clear_scale();
   static const int kScaleFieldNumber = 5;
-  ::google::protobuf::int32 scale() const;
-  void set_scale(::google::protobuf::int32 value);
+  inline ::google::protobuf::int32 scale() const;
+  inline void set_scale(::google::protobuf::int32 value);
 
   // optional int32 timeZone = 6;
-  bool has_timezone() const;
-  void clear_timezone();
+  inline bool has_timezone() const;
+  inline void clear_timezone();
   static const int kTimeZoneFieldNumber = 6;
-  ::google::protobuf::int32 timezone() const;
-  void set_timezone(::google::protobuf::int32 value);
+  inline ::google::protobuf::int32 timezone() const;
+  inline void set_timezone(::google::protobuf::int32 value);
+
+  // repeated .common.MinorType sub_type = 7;
+  inline int sub_type_size() const;
+  inline void clear_sub_type();
+  static const int kSubTypeFieldNumber = 7;
+  inline ::common::MinorType sub_type(int index) const;
+  inline void set_sub_type(int index, ::common::MinorType value);
+  inline void add_sub_type(::common::MinorType value);
+  inline const ::google::protobuf::RepeatedField<int>& sub_type() const;
+  inline ::google::protobuf::RepeatedField<int>* mutable_sub_type();
 
   // @@protoc_insertion_point(class_scope:common.MajorType)
  private:
-  void set_has_minor_type();
-  void clear_has_minor_type();
-  void set_has_mode();
-  void clear_has_mode();
-  void set_has_width();
-  void clear_has_width();
-  void set_has_precision();
-  void clear_has_precision();
-  void set_has_scale();
-  void clear_has_scale();
-  void set_has_timezone();
-  void clear_has_timezone();
-
-  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
-  ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable ::google::protobuf::internal::CachedSize _cached_size_;
-  ::google::protobuf::RepeatedField<int> sub_type_;
+  inline void set_has_minor_type();
+  inline void clear_has_minor_type();
+  inline void set_has_mode();
+  inline void clear_has_mode();
+  inline void set_has_width();
+  inline void clear_has_width();
+  inline void set_has_precision();
+  inline void clear_has_precision();
+  inline void set_has_scale();
+  inline void clear_has_scale();
+  inline void set_has_timezone();
+  inline void clear_has_timezone();
+
+  ::google::protobuf::UnknownFieldSet _unknown_fields_;
+
   int minor_type_;
   int mode_;
   ::google::protobuf::int32 width_;
   ::google::protobuf::int32 precision_;
   ::google::protobuf::int32 scale_;
   ::google::protobuf::int32 timezone_;
-  friend struct ::protobuf_Types_2eproto::TableStruct;
+  ::google::protobuf::RepeatedField<int> sub_type_;
+
+  mutable int _cached_size_;
+  ::google::protobuf::uint32 _has_bits_[(7 + 31) / 32];
+
+  friend void  protobuf_AddDesc_Types_2eproto();
+  friend void protobuf_AssignDesc_Types_2eproto();
+  friend void protobuf_ShutdownFile_Types_2eproto();
+
+  void InitAsDefaultInstance();
+  static MajorType* default_instance_;
 };
 // ===================================================================
 
 
 // ===================================================================
 
-#ifdef __GNUC__
-  #pragma GCC diagnostic push
-  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
-#endif  // __GNUC__
 // MajorType
 
 // optional .common.MinorType minor_type = 1;
@@ -335,14 +277,12 @@ inline void MajorType::clear_minor_type() {
   clear_has_minor_type();
 }
 inline ::common::MinorType MajorType::minor_type() const {
-  // @@protoc_insertion_point(field_get:common.MajorType.minor_type)
   return static_cast< ::common::MinorType >(minor_type_);
 }
 inline void MajorType::set_minor_type(::common::MinorType value) {
   assert(::common::MinorType_IsValid(value));
   set_has_minor_type();
   minor_type_ = value;
-  // @@protoc_insertion_point(field_set:common.MajorType.minor_type)
 }
 
 // optional .common.DataMode mode = 2;
@@ -360,14 +300,12 @@ inline void MajorType::clear_mode() {
   clear_has_mode();
 }
 inline ::common::DataMode MajorType::mode() const {
-  // @@protoc_insertion_point(field_get:common.MajorType.mode)
   return static_cast< ::common::DataMode >(mode_);
 }
 inline void MajorType::set_mode(::common::DataMode value) {
   assert(::common::DataMode_IsValid(value));
   set_has_mode();
   mode_ = value;
-  // @@protoc_insertion_point(field_set:common.MajorType.mode)
 }
 
 // optional int32 width = 3;
@@ -385,13 +323,11 @@ inline void MajorType::clear_width() {
   clear_has_width();
 }
 inline ::google::protobuf::int32 MajorType::width() const {
-  // @@protoc_insertion_point(field_get:common.MajorType.width)
   return width_;
 }
 inline void MajorType::set_width(::google::protobuf::int32 value) {
   set_has_width();
   width_ = value;
-  // @@protoc_insertion_point(field_set:common.MajorType.width)
 }
 
 // optional int32 precision = 4;
@@ -409,13 +345,11 @@ inline void MajorType::clear_precision() {
   clear_has_precision();
 }
 inline ::google::protobuf::int32 MajorType::precision() const {
-  // @@protoc_insertion_point(field_get:common.MajorType.precision)
   return precision_;
 }
 inline void MajorType::set_precision(::google::protobuf::int32 value) {
   set_has_precision();
   precision_ = value;
-  // @@protoc_insertion_point(field_set:common.MajorType.precision)
 }
 
 // optional int32 scale = 5;
@@ -433,13 +367,11 @@ inline void MajorType::clear_scale() {
   clear_has_scale();
 }
 inline ::google::protobuf::int32 MajorType::scale() const {
-  // @@protoc_insertion_point(field_get:common.MajorType.scale)
   return scale_;
 }
 inline void MajorType::set_scale(::google::protobuf::int32 value) {
   set_has_scale();
   scale_ = value;
-  // @@protoc_insertion_point(field_set:common.MajorType.scale)
 }
 
 // optional int32 timeZone = 6;
@@ -457,13 +389,11 @@ inline void MajorType::clear_timezone() {
   clear_has_timezone();
 }
 inline ::google::protobuf::int32 MajorType::timezone() const {
-  // @@protoc_insertion_point(field_get:common.MajorType.timeZone)
   return timezone_;
 }
 inline void MajorType::set_timezone(::google::protobuf::int32 value) {
   set_has_timezone();
   timezone_ = value;
-  // @@protoc_insertion_point(field_set:common.MajorType.timeZone)
 }
 
 // repeated .common.MinorType sub_type = 7;
@@ -474,55 +404,47 @@ inline void MajorType::clear_sub_type() {
   sub_type_.Clear();
 }
 inline ::common::MinorType MajorType::sub_type(int index) const {
-  // @@protoc_insertion_point(field_get:common.MajorType.sub_type)
   return static_cast< ::common::MinorType >(sub_type_.Get(index));
 }
 inline void MajorType::set_sub_type(int index, ::common::MinorType value) {
   assert(::common::MinorType_IsValid(value));
   sub_type_.Set(index, value);
-  // @@protoc_insertion_point(field_set:common.MajorType.sub_type)
 }
 inline void MajorType::add_sub_type(::common::MinorType value) {
   assert(::common::MinorType_IsValid(value));
   sub_type_.Add(value);
-  // @@protoc_insertion_point(field_add:common.MajorType.sub_type)
 }
 inline const ::google::protobuf::RepeatedField<int>&
 MajorType::sub_type() const {
-  // @@protoc_insertion_point(field_list:common.MajorType.sub_type)
   return sub_type_;
 }
 inline ::google::protobuf::RepeatedField<int>*
 MajorType::mutable_sub_type() {
-  // @@protoc_insertion_point(field_mutable_list:common.MajorType.sub_type)
   return &sub_type_;
 }
 
-#ifdef __GNUC__
-  #pragma GCC diagnostic pop
-#endif  // __GNUC__
 
 // @@protoc_insertion_point(namespace_scope)
 
 }  // namespace common
 
+#ifndef SWIG
 namespace google {
 namespace protobuf {
 
-template <> struct is_proto_enum< ::common::MinorType> : ::std::true_type {};
 template <>
 inline const EnumDescriptor* GetEnumDescriptor< ::common::MinorType>() {
   return ::common::MinorType_descriptor();
 }
-template <> struct is_proto_enum< ::common::DataMode> : ::std::true_type {};
 template <>
 inline const EnumDescriptor* GetEnumDescriptor< ::common::DataMode>() {
   return ::common::DataMode_descriptor();
 }
 
-}  // namespace protobuf
 }  // namespace google
+}  // namespace protobuf
+#endif  // SWIG
 
 // @@protoc_insertion_point(global_scope)
 
-#endif  // PROTOBUF_INCLUDED_Types_2eproto
+#endif  // PROTOBUF_Types_2eproto__INCLUDED
diff --git a/contrib/native/client/src/protobuf/BitControl.pb.cc b/contrib/native/client/src/protobuf/BitControl.pb.cc
index 3bf9db5..53e53ea 100644
--- a/contrib/native/client/src/protobuf/BitControl.pb.cc
+++ b/contrib/native/client/src/protobuf/BitControl.pb.cc
@@ -1,520 +1,403 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: BitControl.proto
 
+#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
 #include "BitControl.pb.h"
 
 #include <algorithm>
 
 #include <google/protobuf/stubs/common.h>
-#include <google/protobuf/stubs/port.h>
+#include <google/protobuf/stubs/once.h>
 #include <google/protobuf/io/coded_stream.h>
 #include <google/protobuf/wire_format_lite_inl.h>
 #include <google/protobuf/descriptor.h>
 #include <google/protobuf/generated_message_reflection.h>
 #include <google/protobuf/reflection_ops.h>
 #include <google/protobuf/wire_format.h>
-// This is a temporary google only hack
-#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-#include "third_party/protobuf/version.h"
-#endif
 // @@protoc_insertion_point(includes)
 
-namespace protobuf_BitControl_2eproto {
-extern PROTOBUF_INTERNAL_EXPORT_protobuf_BitControl_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Collector;
-extern PROTOBUF_INTERNAL_EXPORT_protobuf_BitControl_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_QueryContextInformation;
-extern PROTOBUF_INTERNAL_EXPORT_protobuf_BitControl_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_FragmentStatus;
-extern PROTOBUF_INTERNAL_EXPORT_protobuf_BitControl_2eproto ::google::protobuf::internal::SCCInfo<5> scc_info_PlanFragment;
-}  // namespace protobuf_BitControl_2eproto
-namespace protobuf_Coordination_2eproto {
-extern PROTOBUF_INTERNAL_EXPORT_protobuf_Coordination_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_DrillbitEndpoint;
-}  // namespace protobuf_Coordination_2eproto
-namespace protobuf_ExecutionProtos_2eproto {
-extern PROTOBUF_INTERNAL_EXPORT_protobuf_ExecutionProtos_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_FragmentHandle;
-}  // namespace protobuf_ExecutionProtos_2eproto
-namespace protobuf_UserBitShared_2eproto {
-extern PROTOBUF_INTERNAL_EXPORT_protobuf_UserBitShared_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_UserCredentials;
-extern PROTOBUF_INTERNAL_EXPORT_protobuf_UserBitShared_2eproto ::google::protobuf::internal::SCCInfo<3> scc_info_MinorFragmentProfile;
-}  // namespace protobuf_UserBitShared_2eproto
 namespace exec {
 namespace bit {
 namespace control {
-class BitControlHandshakeDefaultTypeInternal {
- public:
-  ::google::protobuf::internal::ExplicitlyConstructed<BitControlHandshake>
-      _instance;
-} _BitControlHandshake_default_instance_;
-class BitStatusDefaultTypeInternal {
- public:
-  ::google::protobuf::internal::ExplicitlyConstructed<BitStatus>
-      _instance;
-} _BitStatus_default_instance_;
-class FragmentStatusDefaultTypeInternal {
- public:
-  ::google::protobuf::internal::ExplicitlyConstructed<FragmentStatus>
-      _instance;
-} _FragmentStatus_default_instance_;
-class InitializeFragmentsDefaultTypeInternal {
- public:
-  ::google::protobuf::internal::ExplicitlyConstructed<InitializeFragments>
-      _instance;
-} _InitializeFragments_default_instance_;
-class CustomMessageDefaultTypeInternal {
- public:
-  ::google::protobuf::internal::ExplicitlyConstructed<CustomMessage>
-      _instance;
-} _CustomMessage_default_instance_;
-class PlanFragmentDefaultTypeInternal {
- public:
-  ::google::protobuf::internal::ExplicitlyConstructed<PlanFragment>
-      _instance;
-} _PlanFragment_default_instance_;
-class CollectorDefaultTypeInternal {
- public:
-  ::google::protobuf::internal::ExplicitlyConstructed<Collector>
-      _instance;
-} _Collector_default_instance_;
-class QueryContextInformationDefaultTypeInternal {
- public:
-  ::google::protobuf::internal::ExplicitlyConstructed<QueryContextInformation>
-      _instance;
-} _QueryContextInformation_default_instance_;
-class WorkQueueStatusDefaultTypeInternal {
- public:
-  ::google::protobuf::internal::ExplicitlyConstructed<WorkQueueStatus>
-      _instance;
-} _WorkQueueStatus_default_instance_;
-class FinishedReceiverDefaultTypeInternal {
- public:
-  ::google::protobuf::internal::ExplicitlyConstructed<FinishedReceiver>
-      _instance;
-} _FinishedReceiver_default_instance_;
-}  // namespace control
-}  // namespace bit
-}  // namespace exec
-namespace protobuf_BitControl_2eproto {
-static void InitDefaultsBitControlHandshake() {
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
-
-  {
-    void* ptr = &::exec::bit::control::_BitControlHandshake_default_instance_;
-    new (ptr) ::exec::bit::control::BitControlHandshake();
-    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
-  }
-  ::exec::bit::control::BitControlHandshake::InitAsDefaultInstance();
-}
-
-::google::protobuf::internal::SCCInfo<1> scc_info_BitControlHandshake =
-    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsBitControlHandshake}, {
-      &protobuf_Coordination_2eproto::scc_info_DrillbitEndpoint.base,}};
-
-static void InitDefaultsBitStatus() {
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
-
-  {
-    void* ptr = &::exec::bit::control::_BitStatus_default_instance_;
-    new (ptr) ::exec::bit::control::BitStatus();
-    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
-  }
-  ::exec::bit::control::BitStatus::InitAsDefaultInstance();
-}
-
-::google::protobuf::internal::SCCInfo<1> scc_info_BitStatus =
-    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsBitStatus}, {
-      &protobuf_BitControl_2eproto::scc_info_FragmentStatus.base,}};
-
-static void InitDefaultsFragmentStatus() {
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
-
-  {
-    void* ptr = &::exec::bit::control::_FragmentStatus_default_instance_;
-    new (ptr) ::exec::bit::control::FragmentStatus();
-    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
-  }
-  ::exec::bit::control::FragmentStatus::InitAsDefaultInstance();
-}
-
-::google::protobuf::internal::SCCInfo<2> scc_info_FragmentStatus =
-    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsFragmentStatus}, {
-      &protobuf_UserBitShared_2eproto::scc_info_MinorFragmentProfile.base,
-      &protobuf_ExecutionProtos_2eproto::scc_info_FragmentHandle.base,}};
-
-static void InitDefaultsInitializeFragments() {
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
-
-  {
-    void* ptr = &::exec::bit::control::_InitializeFragments_default_instance_;
-    new (ptr) ::exec::bit::control::InitializeFragments();
-    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
-  }
-  ::exec::bit::control::InitializeFragments::InitAsDefaultInstance();
-}
-
-::google::protobuf::internal::SCCInfo<1> scc_info_InitializeFragments =
-    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsInitializeFragments}, {
-      &protobuf_BitControl_2eproto::scc_info_PlanFragment.base,}};
-
-static void InitDefaultsCustomMessage() {
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
-
-  {
-    void* ptr = &::exec::bit::control::_CustomMessage_default_instance_;
-    new (ptr) ::exec::bit::control::CustomMessage();
-    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
-  }
-  ::exec::bit::control::CustomMessage::InitAsDefaultInstance();
-}
-
-::google::protobuf::internal::SCCInfo<0> scc_info_CustomMessage =
-    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsCustomMessage}, {}};
-
-static void InitDefaultsPlanFragment() {
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
-
-  {
-    void* ptr = &::exec::bit::control::_PlanFragment_default_instance_;
-    new (ptr) ::exec::bit::control::PlanFragment();
-    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
-  }
-  ::exec::bit::control::PlanFragment::InitAsDefaultInstance();
-}
-
-::google::protobuf::internal::SCCInfo<5> scc_info_PlanFragment =
-    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 5, InitDefaultsPlanFragment}, {
-      &protobuf_ExecutionProtos_2eproto::scc_info_FragmentHandle.base,
-      &protobuf_Coordination_2eproto::scc_info_DrillbitEndpoint.base,
-      &protobuf_UserBitShared_2eproto::scc_info_UserCredentials.base,
-      &protobuf_BitControl_2eproto::scc_info_QueryContextInformation.base,
-      &protobuf_BitControl_2eproto::scc_info_Collector.base,}};
-
-static void InitDefaultsCollector() {
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
-
-  {
-    void* ptr = &::exec::bit::control::_Collector_default_instance_;
-    new (ptr) ::exec::bit::control::Collector();
-    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
-  }
-  ::exec::bit::control::Collector::InitAsDefaultInstance();
-}
 
-::google::protobuf::internal::SCCInfo<0> scc_info_Collector =
-    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsCollector}, {}};
-
-static void InitDefaultsQueryContextInformation() {
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
-
-  {
-    void* ptr = &::exec::bit::control::_QueryContextInformation_default_instance_;
-    new (ptr) ::exec::bit::control::QueryContextInformation();
-    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
-  }
-  ::exec::bit::control::QueryContextInformation::InitAsDefaultInstance();
+namespace {
+
+const ::google::protobuf::Descriptor* BitControlHandshake_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+  BitControlHandshake_reflection_ = NULL;
+const ::google::protobuf::Descriptor* BitStatus_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+  BitStatus_reflection_ = NULL;
+const ::google::protobuf::Descriptor* FragmentStatus_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+  FragmentStatus_reflection_ = NULL;
+const ::google::protobuf::Descriptor* InitializeFragments_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+  InitializeFragments_reflection_ = NULL;
+const ::google::protobuf::Descriptor* CustomMessage_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+  CustomMessage_reflection_ = NULL;
+const ::google::protobuf::Descriptor* PlanFragment_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+  PlanFragment_reflection_ = NULL;
+const ::google::protobuf::Descriptor* Collector_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+  Collector_reflection_ = NULL;
+const ::google::protobuf::Descriptor* QueryContextInformation_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+  QueryContextInformation_reflection_ = NULL;
+const ::google::protobuf::Descriptor* WorkQueueStatus_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+  WorkQueueStatus_reflection_ = NULL;
+const ::google::protobuf::Descriptor* FinishedReceiver_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+  FinishedReceiver_reflection_ = NULL;
+const ::google::protobuf::EnumDescriptor* RpcType_descriptor_ = NULL;
+
+}  // namespace
+
+
+void protobuf_AssignDesc_BitControl_2eproto() {
+  protobuf_AddDesc_BitControl_2eproto();
+  const ::google::protobuf::FileDescriptor* file =
+    ::google::protobuf::DescriptorPool::generated_pool()->FindFileByName(
+      "BitControl.proto");
+  GOOGLE_CHECK(file != NULL);
+  BitControlHandshake_descriptor_ = file->message_type(0);
+  static const int BitControlHandshake_offsets_[4] = {
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BitControlHandshake, rpc_version_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BitControlHandshake, channel_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BitControlHandshake, endpoint_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BitControlHandshake, authenticationmechanisms_),
+  };
+  BitControlHandshake_reflection_ =
+    new ::google::protobuf::internal::GeneratedMessageReflection(
+      BitControlHandshake_descriptor_,
+      BitControlHandshake::default_instance_,
+      BitControlHandshake_offsets_,
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BitControlHandshake, _has_bits_[0]),
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BitControlHandshake, _unknown_fields_),
+      -1,
+      ::google::protobuf::DescriptorPool::generated_pool(),
+      ::google::protobuf::MessageFactory::generated_factory(),
+      sizeof(BitControlHandshake));
+  BitStatus_descriptor_ = file->message_type(1);
+  static const int BitStatus_offsets_[1] = {
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BitStatus, fragment_status_),
+  };
+  BitStatus_reflection_ =
+    new ::google::protobuf::internal::GeneratedMessageReflection(
+      BitStatus_descriptor_,
+      BitStatus::default_instance_,
+      BitStatus_offsets_,
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BitStatus, _has_bits_[0]),
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BitStatus, _unknown_fields_),
+      -1,
+      ::google::protobuf::DescriptorPool::generated_pool(),
+      ::google::protobuf::MessageFactory::generated_factory(),
+      sizeof(BitStatus));
+  FragmentStatus_descriptor_ = file->message_type(2);
+  static const int FragmentStatus_offsets_[2] = {
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FragmentStatus, profile_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FragmentStatus, handle_),
+  };
+  FragmentStatus_reflection_ =
+    new ::google::protobuf::internal::GeneratedMessageReflection(
+      FragmentStatus_descriptor_,
+      FragmentStatus::default_instance_,
+      FragmentStatus_offsets_,
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FragmentStatus, _has_bits_[0]),
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FragmentStatus, _unknown_fields_),
+      -1,
+      ::google::protobuf::DescriptorPool::generated_pool(),
+      ::google::protobuf::MessageFactory::generated_factory(),
+      sizeof(FragmentStatus));
+  InitializeFragments_descriptor_ = file->message_type(3);
+  static const int InitializeFragments_offsets_[1] = {
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InitializeFragments, fragment_),
+  };
+  InitializeFragments_reflection_ =
+    new ::google::protobuf::internal::GeneratedMessageReflection(
+      InitializeFragments_descriptor_,
+      InitializeFragments::default_instance_,
+      InitializeFragments_offsets_,
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InitializeFragments, _has_bits_[0]),
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InitializeFragments, _unknown_fields_),
+      -1,
+      ::google::protobuf::DescriptorPool::generated_pool(),
+      ::google::protobuf::MessageFactory::generated_factory(),
+      sizeof(InitializeFragments));
+  CustomMessage_descriptor_ = file->message_type(4);
+  static const int CustomMessage_offsets_[2] = {
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CustomMessage, type_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CustomMessage, message_),
+  };
+  CustomMessage_reflection_ =
+    new ::google::protobuf::internal::GeneratedMessageReflection(
+      CustomMessage_descriptor_,
+      CustomMessage::default_instance_,
+      CustomMessage_offsets_,
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CustomMessage, _has_bits_[0]),
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CustomMessage, _unknown_fields_),
+      -1,
+      ::google::protobuf::DescriptorPool::generated_pool(),
+      ::google::protobuf::MessageFactory::generated_factory(),
+      sizeof(CustomMessage));
+  PlanFragment_descriptor_ = file->message_type(5);
+  static const int PlanFragment_offsets_[15] = {
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PlanFragment, handle_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PlanFragment, network_cost_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PlanFragment, cpu_cost_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PlanFragment, disk_cost_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PlanFragment, memory_cost_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PlanFragment, fragment_json_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PlanFragment, leaf_fragment_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PlanFragment, assignment_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PlanFragment, foreman_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PlanFragment, mem_initial_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PlanFragment, mem_max_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PlanFragment, credentials_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PlanFragment, options_json_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PlanFragment, context_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PlanFragment, collector_),
+  };
+  PlanFragment_reflection_ =
+    new ::google::protobuf::internal::GeneratedMessageReflection(
+      PlanFragment_descriptor_,
+      PlanFragment::default_instance_,
+      PlanFragment_offsets_,
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PlanFragment, _has_bits_[0]),
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PlanFragment, _unknown_fields_),
+      -1,
+      ::google::protobuf::DescriptorPool::generated_pool(),
+      ::google::protobuf::MessageFactory::generated_factory(),
+      sizeof(PlanFragment));
+  Collector_descriptor_ = file->message_type(6);
+  static const int Collector_offsets_[4] = {
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Collector, opposite_major_fragment_id_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Collector, incoming_minor_fragment_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Collector, supports_out_of_order_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Collector, is_spooling_),
+  };
+  Collector_reflection_ =
+    new ::google::protobuf::internal::GeneratedMessageReflection(
+      Collector_descriptor_,
+      Collector::default_instance_,
+      Collector_offsets_,
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Collector, _has_bits_[0]),
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Collector, _unknown_fields_),
+      -1,
+      ::google::protobuf::DescriptorPool::generated_pool(),
+      ::google::protobuf::MessageFactory::generated_factory(),
+      sizeof(Collector));
+  QueryContextInformation_descriptor_ = file->message_type(7);
+  static const int QueryContextInformation_offsets_[4] = {
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(QueryContextInformation, query_start_time_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(QueryContextInformation, time_zone_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(QueryContextInformation, default_schema_name_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(QueryContextInformation, session_id_),
+  };
+  QueryContextInformation_reflection_ =
+    new ::google::protobuf::internal::GeneratedMessageReflection(
+      QueryContextInformation_descriptor_,
+      QueryContextInformation::default_instance_,
+      QueryContextInformation_offsets_,
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(QueryContextInformation, _has_bits_[0]),
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(QueryContextInformation, _unknown_fields_),
+      -1,
+      ::google::protobuf::DescriptorPool::generated_pool(),
+      ::google::protobuf::MessageFactory::generated_factory(),
+      sizeof(QueryContextInformation));
+  WorkQueueStatus_descriptor_ = file->message_type(8);
+  static const int WorkQueueStatus_offsets_[3] = {
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(WorkQueueStatus, endpoint_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(WorkQueueStatus, queue_length_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(WorkQueueStatus, report_time_),
+  };
+  WorkQueueStatus_reflection_ =
+    new ::google::protobuf::internal::GeneratedMessageReflection(
+      WorkQueueStatus_descriptor_,
+      WorkQueueStatus::default_instance_,
+      WorkQueueStatus_offsets_,
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(WorkQueueStatus, _has_bits_[0]),
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(WorkQueueStatus, _unknown_fields_),
+      -1,
+      ::google::protobuf::DescriptorPool::generated_pool(),
+      ::google::protobuf::MessageFactory::generated_factory(),
+      sizeof(WorkQueueStatus));
+  FinishedReceiver_descriptor_ = file->message_type(9);
+  static const int FinishedReceiver_offsets_[2] = {
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FinishedReceiver, receiver_),
+    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FinishedReceiver, sender_),
+  };
+  FinishedReceiver_reflection_ =
+    new ::google::protobuf::internal::GeneratedMessageReflection(
+      FinishedReceiver_descriptor_,
+      FinishedReceiver::default_instance_,
+      FinishedReceiver_offsets_,
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FinishedReceiver, _has_bits_[0]),
+      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FinishedReceiver, _unknown_fields_),
+      -1,
+      ::google::protobuf::DescriptorPool::generated_pool(),
+      ::google::protobuf::MessageFactory::generated_factory(),
+      sizeof(FinishedReceiver));
+  RpcType_descriptor_ = file->enum_type(0);
 }
 
-::google::protobuf::internal::SCCInfo<0> scc_info_QueryContextInformation =
-    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsQueryContextInformation}, {}};
-
-static void InitDefaultsWorkQueueStatus() {
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
+namespace {
 
-  {
-    void* ptr = &::exec::bit::control::_WorkQueueStatus_default_instance_;
-    new (ptr) ::exec::bit::control::WorkQueueStatus();
-    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
-  }
-  ::exec::bit::control::WorkQueueStatus::InitAsDefaultInstance();
+GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AssignDescriptors_once_);
+inline void protobuf_AssignDescriptorsOnce() {
+  ::google::protobuf::GoogleOnceInit(&protobuf_AssignDescriptors_once_,
+                 &protobuf_AssignDesc_BitControl_2eproto);
 }
 
-::google::protobuf::internal::SCCInfo<1> scc_info_WorkQueueStatus =
-    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsWorkQueueStatus}, {
-      &protobuf_Coordination_2eproto::scc_info_DrillbitEndpoint.base,}};
-
-static void InitDefaultsFinishedReceiver() {
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
-
-  {
-    void* ptr = &::exec::bit::control::_FinishedReceiver_default_instance_;
-    new (ptr) ::exec::bit::control::FinishedReceiver();
-    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
-  }
-  ::exec::bit::control::FinishedReceiver::InitAsDefaultInstance();
-}
-
-::google::protobuf::internal::SCCInfo<1> scc_info_FinishedReceiver =
-    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsFinishedReceiver}, {
-      &protobuf_ExecutionProtos_2eproto::scc_info_FragmentHandle.base,}};
-
-void InitDefaults() {
-  ::google::protobuf::internal::InitSCC(&scc_info_BitControlHandshake.base);
-  ::google::protobuf::internal::InitSCC(&scc_info_BitStatus.base);
-  ::google::protobuf::internal::InitSCC(&scc_info_FragmentStatus.base);
-  ::google::protobuf::internal::InitSCC(&scc_info_InitializeFragments.base);
-  ::google::protobuf::internal::InitSCC(&scc_info_CustomMessage.base);
-  ::google::protobuf::internal::InitSCC(&scc_info_PlanFragment.base);
-  ::google::protobuf::internal::InitSCC(&scc_info_Collector.base);
-  ::google::protobuf::internal::InitSCC(&scc_info_QueryContextInformation.base);
-  ::google::protobuf::internal::InitSCC(&scc_info_WorkQueueStatus.base);
-  ::google::protobuf::internal::InitSCC(&scc_info_FinishedReceiver.base);
-}
-
-::google::protobuf::Metadata file_level_metadata[10];
-const ::google::protobuf::EnumDescriptor* file_level_enum_descriptors[1];
-
-const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::BitControlHandshake, _has_bits_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::BitControlHandshake, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::BitControlHandshake, rpc_version_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::BitControlHandshake, channel_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::BitControlHandshake, endpoint_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::BitControlHandshake, authenticationmechanisms_),
-  1,
-  2,
-  0,
-  ~0u,
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::BitStatus, _has_bits_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::BitStatus, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::BitStatus, fragment_status_),
-  ~0u,
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::FragmentStatus, _has_bits_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::FragmentStatus, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::FragmentStatus, profile_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::FragmentStatus, handle_),
-  0,
-  1,
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::InitializeFragments, _has_bits_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::InitializeFragments, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::InitializeFragments, fragment_),
-  ~0u,
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::CustomMessage, _has_bits_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::CustomMessage, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::CustomMessage, type_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::CustomMessage, message_),
-  1,
-  0,
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::PlanFragment, _has_bits_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::PlanFragment, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::PlanFragment, handle_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::PlanFragment, network_cost_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::PlanFragment, cpu_cost_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::PlanFragment, disk_cost_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::PlanFragment, memory_cost_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::PlanFragment, fragment_json_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::PlanFragment, leaf_fragment_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::PlanFragment, assignment_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::PlanFragment, foreman_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::PlanFragment, mem_initial_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::PlanFragment, mem_max_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::PlanFragment, credentials_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::PlanFragment, options_json_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::PlanFragment, context_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::PlanFragment, collector_),
-  2,
-  7,
-  8,
-  9,
-  10,
-  0,
-  11,
-  3,
-  4,
-  12,
-  13,
-  5,
-  1,
-  6,
-  ~0u,
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::Collector, _has_bits_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::Collector, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::Collector, opposite_major_fragment_id_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::Collector, incoming_minor_fragment_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::Collector, supports_out_of_order_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::Collector, is_spooling_),
-  0,
-  ~0u,
-  1,
-  2,
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::QueryContextInformation, _has_bits_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::QueryContextInformation, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::QueryContextInformation, query_start_time_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::QueryContextInformation, time_zone_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::QueryContextInformation, default_schema_name_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::QueryContextInformation, session_id_),
-  2,
-  3,
-  0,
-  1,
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::WorkQueueStatus, _has_bits_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::WorkQueueStatus, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::WorkQueueStatus, endpoint_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::WorkQueueStatus, queue_length_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::WorkQueueStatus, report_time_),
-  0,
-  2,
-  1,
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::FinishedReceiver, _has_bits_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::FinishedReceiver, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::FinishedReceiver, receiver_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::exec::bit::control::FinishedReceiver, sender_),
-  0,
-  1,
-};
-static const ::google::protobuf::internal::MigrationSchema schemas[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
-  { 0, 9, sizeof(::exec::bit::control::BitControlHandshake)},
-  { 13, 19, sizeof(::exec::bit::control::BitStatus)},
-  { 20, 27, sizeof(::exec::bit::control::FragmentStatus)},
-  { 29, 35, sizeof(::exec::bit::control::InitializeFragments)},
-  { 36, 43, sizeof(::exec::bit::control::CustomMessage)},
-  { 45, 65, sizeof(::exec::bit::control::PlanFragment)},
-  { 80, 89, sizeof(::exec::bit::control::Collector)},
-  { 93, 102, sizeof(::exec::bit::control::QueryContextInformation)},
-  { 106, 114, sizeof(::exec::bit::control::WorkQueueStatus)},
-  { 117, 124, sizeof(::exec::bit::control::FinishedReceiver)},
-};
-
-static ::google::protobuf::Message const * const file_default_instances[] = {
-  reinterpret_cast<const ::google::protobuf::Message*>(&::exec::bit::control::_BitControlHandshake_default_instance_),
-  reinterpret_cast<const ::google::protobuf::Message*>(&::exec::bit::control::_BitStatus_default_instance_),
-  reinterpret_cast<const ::google::protobuf::Message*>(&::exec::bit::control::_FragmentStatus_default_instance_),
-  reinterpret_cast<const ::google::protobuf::Message*>(&::exec::bit::control::_InitializeFragments_default_instance_),
-  reinterpret_cast<const ::google::protobuf::Message*>(&::exec::bit::control::_CustomMessage_default_instance_),
-  reinterpret_cast<const ::google::protobuf::Message*>(&::exec::bit::control::_PlanFragment_default_instance_),
-  reinterpret_cast<const ::google::protobuf::Message*>(&::exec::bit::control::_Collector_default_instance_),
-  reinterpret_cast<const ::google::protobuf::Message*>(&::exec::bit::control::_QueryContextInformation_default_instance_),
-  reinterpret_cast<const ::google::protobuf::Message*>(&::exec::bit::control::_WorkQueueStatus_default_instance_),
-  reinterpret_cast<const ::google::protobuf::Message*>(&::exec::bit::control::_FinishedReceiver_default_instance_),
-};
-
-void protobuf_AssignDescriptors() {
-  AddDescriptors();
-  AssignDescriptors(
-      "BitControl.proto", schemas, file_default_instances, TableStruct::offsets,
-      file_level_metadata, file_level_enum_descriptors, NULL);
-}
-
-void protobuf_AssignDescriptorsOnce() {
-  static ::google::protobuf::internal::once_flag once;
-  ::google::protobuf::internal::call_once(once, protobuf_AssignDescriptors);
-}
-
-void protobuf_RegisterTypes(const ::std::string&) GOOGLE_PROTOBUF_ATTRIBUTE_COLD;
 void protobuf_RegisterTypes(const ::std::string&) {
   protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::internal::RegisterAllTypes(file_level_metadata, 10);
-}
-
-void AddDescriptorsImpl() {
-  InitDefaults();
-  static const char descriptor[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
-      "\n\020BitControl.proto\022\020exec.bit.control\032\025Ex"
-      "ecutionProtos.proto\032\022Coordination.proto\032"
-      "\023UserBitShared.proto\"\255\001\n\023BitControlHands"
-      "hake\022\023\n\013rpc_version\030\001 \001(\005\0225\n\007channel\030\002 \001"
-      "(\0162\027.exec.shared.RpcChannel:\013BIT_CONTROL"
-      "\022(\n\010endpoint\030\003 \001(\0132\026.exec.DrillbitEndpoi"
-      "nt\022 \n\030authenticationMechanisms\030\004 \003(\t\"F\n\t"
-      "BitStatus\0229\n\017fragment_status\030\001 \003(\0132 .exe"
-      "c.bit.control.FragmentStatus\"n\n\016Fragment"
-      "Status\0222\n\007profile\030\001 \001(\0132!.exec.shared.Mi"
-      "norFragmentProfile\022(\n\006handle\030\002 \001(\0132\030.exe"
-      "c.bit.FragmentHandle\"G\n\023InitializeFragme"
-      "nts\0220\n\010fragment\030\001 \003(\0132\036.exec.bit.control"
-      ".PlanFragment\".\n\rCustomMessage\022\014\n\004type\030\001"
-      " \001(\005\022\017\n\007message\030\002 \001(\014\"\374\003\n\014PlanFragment\022("
-      "\n\006handle\030\001 \001(\0132\030.exec.bit.FragmentHandle"
-      "\022\024\n\014network_cost\030\004 \001(\002\022\020\n\010cpu_cost\030\005 \001(\002"
-      "\022\021\n\tdisk_cost\030\006 \001(\002\022\023\n\013memory_cost\030\007 \001(\002"
-      "\022\025\n\rfragment_json\030\010 \001(\t\022\025\n\rleaf_fragment"
-      "\030\t \001(\010\022*\n\nassignment\030\n \001(\0132\026.exec.Drillb"
-      "itEndpoint\022\'\n\007foreman\030\013 \001(\0132\026.exec.Drill"
-      "bitEndpoint\022\035\n\013mem_initial\030\014 \001(\003:\010200000"
-      "00\022\033\n\007mem_max\030\r \001(\003:\n2000000000\0221\n\013crede"
-      "ntials\030\016 \001(\0132\034.exec.shared.UserCredentia"
-      "ls\022\024\n\014options_json\030\017 \001(\t\022:\n\007context\030\020 \001("
-      "\0132).exec.bit.control.QueryContextInforma"
-      "tion\022.\n\tcollector\030\021 \003(\0132\033.exec.bit.contr"
-      "ol.Collector\"\210\001\n\tCollector\022\"\n\032opposite_m"
-      "ajor_fragment_id\030\001 \001(\005\022#\n\027incoming_minor"
-      "_fragment\030\002 \003(\005B\002\020\001\022\035\n\025supports_out_of_o"
-      "rder\030\003 \001(\010\022\023\n\013is_spooling\030\004 \001(\010\"w\n\027Query"
-      "ContextInformation\022\030\n\020query_start_time\030\001"
-      " \001(\003\022\021\n\ttime_zone\030\002 \001(\005\022\033\n\023default_schem"
-      "a_name\030\003 \001(\t\022\022\n\nsession_id\030\004 \001(\t\"f\n\017Work"
-      "QueueStatus\022(\n\010endpoint\030\001 \001(\0132\026.exec.Dri"
-      "llbitEndpoint\022\024\n\014queue_length\030\002 \001(\005\022\023\n\013r"
-      "eport_time\030\003 \001(\003\"h\n\020FinishedReceiver\022*\n\010"
-      "receiver\030\001 \001(\0132\030.exec.bit.FragmentHandle"
-      "\022(\n\006sender\030\002 \001(\0132\030.exec.bit.FragmentHand"
-      "le*\206\003\n\007RpcType\022\r\n\tHANDSHAKE\020\000\022\007\n\003ACK\020\001\022\013"
-      "\n\007GOODBYE\020\002\022\034\n\030REQ_INITIALIZE_FRAGMENTS\020"
-      "\003\022\027\n\023REQ_CANCEL_FRAGMENT\020\006\022\031\n\025REQ_RECEIV"
-      "ER_FINISHED\020\007\022\027\n\023REQ_FRAGMENT_STATUS\020\010\022\022"
-      "\n\016REQ_BIT_STATUS\020\t\022\024\n\020REQ_QUERY_STATUS\020\n"
-      "\022\024\n\020REQ_QUERY_CANCEL\020\017\022\030\n\024REQ_UNPAUSE_FR"
-      "AGMENT\020\020\022\016\n\nREQ_CUSTOM\020\021\022\030\n\024RESP_FRAGMEN"
-      "T_HANDLE\020\013\022\030\n\024RESP_FRAGMENT_STATUS\020\014\022\023\n\017"
-      "RESP_BIT_STATUS\020\r\022\025\n\021RESP_QUERY_STATUS\020\016"
-      "\022\017\n\013RESP_CUSTOM\020\022\022\020\n\014SASL_MESSAGE\020\023B+\n\033o"
-      "rg.apache.drill.exec.protoB\nBitControlH\001"
-  };
+  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+    BitControlHandshake_descriptor_, &BitControlHandshake::default_instance());
+  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+    BitStatus_descriptor_, &BitStatus::default_instance());
+  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+    FragmentStatus_descriptor_, &FragmentStatus::default_instance());
+  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+    InitializeFragments_descriptor_, &InitializeFragments::default_instance());
+  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+    CustomMessage_descriptor_, &CustomMessage::default_instance());
+  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+    PlanFragment_descriptor_, &PlanFragment::default_instance());
+  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+    Collector_descriptor_, &Collector::default_instance());
+  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+    QueryContextInformation_descriptor_, &QueryContextInformation::default_instance());
+  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+    WorkQueueStatus_descriptor_, &WorkQueueStatus::default_instance());
+  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+    FinishedReceiver_descriptor_, &FinishedReceiver::default_instance());
+}
+
+}  // namespace
+
+void protobuf_ShutdownFile_BitControl_2eproto() {
+  delete BitControlHandshake::default_instance_;
+  delete BitControlHandshake_reflection_;
+  delete BitStatus::default_instance_;
+  delete BitStatus_reflection_;
+  delete FragmentStatus::default_instance_;
+  delete FragmentStatus_reflection_;
+  delete InitializeFragments::default_instance_;
+  delete InitializeFragments_reflection_;
+  delete CustomMessage::default_instance_;
+  delete CustomMessage_reflection_;
+  delete PlanFragment::default_instance_;
+  delete PlanFragment_reflection_;
+  delete Collector::default_instance_;
+  delete Collector_reflection_;
+  delete QueryContextInformation::default_instance_;
+  delete QueryContextInformation_reflection_;
+  delete WorkQueueStatus::default_instance_;
+  delete WorkQueueStatus_reflection_;
+  delete FinishedReceiver::default_instance_;
+  delete FinishedReceiver_reflection_;
+}
+
+void protobuf_AddDesc_BitControl_2eproto() {
+  static bool already_here = false;
+  if (already_here) return;
+  already_here = true;
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+  ::exec::bit::protobuf_AddDesc_ExecutionProtos_2eproto();
+  ::exec::protobuf_AddDesc_Coordination_2eproto();
+  ::exec::shared::protobuf_AddDesc_UserBitShared_2eproto();
   ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
-      descriptor, 2000);
+    "\n\020BitControl.proto\022\020exec.bit.control\032\025Ex"
+    "ecutionProtos.proto\032\022Coordination.proto\032"
+    "\023UserBitShared.proto\"\255\001\n\023BitControlHands"
+    "hake\022\023\n\013rpc_version\030\001 \001(\005\0225\n\007channel\030\002 \001"
+    "(\0162\027.exec.shared.RpcChannel:\013BIT_CONTROL"
+    "\022(\n\010endpoint\030\003 \001(\0132\026.exec.DrillbitEndpoi"
+    "nt\022 \n\030authenticationMechanisms\030\004 \003(\t\"F\n\t"
+    "BitStatus\0229\n\017fragment_status\030\001 \003(\0132 .exe"
+    "c.bit.control.FragmentStatus\"n\n\016Fragment"
+    "Status\0222\n\007profile\030\001 \001(\0132!.exec.shared.Mi"
+    "norFragmentProfile\022(\n\006handle\030\002 \001(\0132\030.exe"
+    "c.bit.FragmentHandle\"G\n\023InitializeFragme"
+    "nts\0220\n\010fragment\030\001 \003(\0132\036.exec.bit.control"
+    ".PlanFragment\".\n\rCustomMessage\022\014\n\004type\030\001"
+    " \001(\005\022\017\n\007message\030\002 \001(\014\"\374\003\n\014PlanFragment\022("
+    "\n\006handle\030\001 \001(\0132\030.exec.bit.FragmentHandle"
+    "\022\024\n\014network_cost\030\004 \001(\002\022\020\n\010cpu_cost\030\005 \001(\002"
+    "\022\021\n\tdisk_cost\030\006 \001(\002\022\023\n\013memory_cost\030\007 \001(\002"
+    "\022\025\n\rfragment_json\030\010 \001(\t\022\025\n\rleaf_fragment"
+    "\030\t \001(\010\022*\n\nassignment\030\n \001(\0132\026.exec.Drillb"
+    "itEndpoint\022\'\n\007foreman\030\013 \001(\0132\026.exec.Drill"
+    "bitEndpoint\022\035\n\013mem_initial\030\014 \001(\003:\010200000"
+    "00\022\033\n\007mem_max\030\r \001(\003:\n2000000000\0221\n\013crede"
+    "ntials\030\016 \001(\0132\034.exec.shared.UserCredentia"
+    "ls\022\024\n\014options_json\030\017 \001(\t\022:\n\007context\030\020 \001("
+    "\0132).exec.bit.control.QueryContextInforma"
+    "tion\022.\n\tcollector\030\021 \003(\0132\033.exec.bit.contr"
+    "ol.Collector\"\210\001\n\tCollector\022\"\n\032opposite_m"
+    "ajor_fragment_id\030\001 \001(\005\022#\n\027incoming_minor"
+    "_fragment\030\002 \003(\005B\002\020\001\022\035\n\025supports_out_of_o"
+    "rder\030\003 \001(\010\022\023\n\013is_spooling\030\004 \001(\010\"w\n\027Query"
+    "ContextInformation\022\030\n\020query_start_time\030\001"
+    " \001(\003\022\021\n\ttime_zone\030\002 \001(\005\022\033\n\023default_schem"
+    "a_name\030\003 \001(\t\022\022\n\nsession_id\030\004 \001(\t\"f\n\017Work"
+    "QueueStatus\022(\n\010endpoint\030\001 \001(\0132\026.exec.Dri"
+    "llbitEndpoint\022\024\n\014queue_length\030\002 \001(\005\022\023\n\013r"
+    "eport_time\030\003 \001(\003\"h\n\020FinishedReceiver\022*\n\010"
+    "receiver\030\001 \001(\0132\030.exec.bit.FragmentHandle"
+    "\022(\n\006sender\030\002 \001(\0132\030.exec.bit.FragmentHand"
+    "le*\206\003\n\007RpcType\022\r\n\tHANDSHAKE\020\000\022\007\n\003ACK\020\001\022\013"
+    "\n\007GOODBYE\020\002\022\034\n\030REQ_INITIALIZE_FRAGMENTS\020"
+    "\003\022\027\n\023REQ_CANCEL_FRAGMENT\020\006\022\031\n\025REQ_RECEIV"
+    "ER_FINISHED\020\007\022\027\n\023REQ_FRAGMENT_STATUS\020\010\022\022"
+    "\n\016REQ_BIT_STATUS\020\t\022\024\n\020REQ_QUERY_STATUS\020\n"
+    "\022\024\n\020REQ_QUERY_CANCEL\020\017\022\030\n\024REQ_UNPAUSE_FR"
+    "AGMENT\020\020\022\016\n\nREQ_CUSTOM\020\021\022\030\n\024RESP_FRAGMEN"
+    "T_HANDLE\020\013\022\030\n\024RESP_FRAGMENT_STATUS\020\014\022\023\n\017"
+    "RESP_BIT_STATUS\020\r\022\025\n\021RESP_QUERY_STATUS\020\016"
+    "\022\017\n\013RESP_CUSTOM\020\022\022\020\n\014SASL_MESSAGE\020\023B+\n\033o"
+    "rg.apache.drill.exec.protoB\nBitControlH\001", 2000);
   ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
     "BitControl.proto", &protobuf_RegisterTypes);
-  ::protobuf_ExecutionProtos_2eproto::AddDescriptors();
-  ::protobuf_Coordination_2eproto::AddDescriptors();
-  ::protobuf_UserBitShared_2eproto::AddDescriptors();
-}
-
-void AddDescriptors() {
-  static ::google::protobuf::internal::once_flag once;
-  ::google::protobuf::internal::call_once(once, AddDescriptorsImpl);
-}
-// Force AddDescriptors() to be called at dynamic initialization time.
-struct StaticDescriptorInitializer {
-  StaticDescriptorInitializer() {
-    AddDescriptors();
-  }
-} static_descriptor_initializer;
-}  // namespace protobuf_BitControl_2eproto
-namespace exec {
-namespace bit {
-namespace control {
+  BitControlHandshake::default_instance_ = new BitControlHandshake();
+  BitStatus::default_instance_ = new BitStatus();
+  FragmentStatus::default_instance_ = new FragmentStatus();
+  InitializeFragments::default_instance_ = new InitializeFragments();
+  CustomMessage::default_instance_ = new CustomMessage();
+  PlanFragment::default_instance_ = new PlanFragment();
+  Collector::default_instance_ = new Collector();
+  QueryContextInformation::default_instance_ = new QueryContextInformation();
+  WorkQueueStatus::default_instance_ = new WorkQueueStatus();
+  FinishedReceiver::default_instance_ = new FinishedReceiver();
+  BitControlHandshake::default_instance_->InitAsDefaultInstance();
+  BitStatus::default_instance_->InitAsDefaultInstance();
+  FragmentStatus::default_instance_->InitAsDefaultInstance();
+  InitializeFragments::default_instance_->InitAsDefaultInstance();
+  CustomMessage::default_instance_->InitAsDefaultInstance();
+  PlanFragment::default_instance_->InitAsDefaultInstance();
+  Collector::default_instance_->InitAsDefaultInstance();
+  QueryContextInformation::default_instance_->InitAsDefaultInstance();
+  WorkQueueStatus::default_instance_->InitAsDefaultInstance();
+  FinishedReceiver::default_instance_->InitAsDefaultInstance();
+  ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_BitControl_2eproto);
+}
+
+// Force AddDescriptors() to be called at static initialization time.
+struct StaticDescriptorInitializer_BitControl_2eproto {
+  StaticDescriptorInitializer_BitControl_2eproto() {
+    protobuf_AddDesc_BitControl_2eproto();
+  }
+} static_descriptor_initializer_BitControl_2eproto_;
 const ::google::protobuf::EnumDescriptor* RpcType_descriptor() {
-  protobuf_BitControl_2eproto::protobuf_AssignDescriptorsOnce();
-  return protobuf_BitControl_2eproto::file_level_enum_descriptors[0];
+  protobuf_AssignDescriptorsOnce();
+  return RpcType_descriptor_;
 }
 bool RpcType_IsValid(int value) {
-  switch (value) {
+  switch(value) {
     case 0:
     case 1:
     case 2:
@@ -542,123 +425,106 @@ bool RpcType_IsValid(int value) {
 
 // ===================================================================
 
-void BitControlHandshake::InitAsDefaultInstance() {
-  ::exec::bit::control::_BitControlHandshake_default_instance_._instance.get_mutable()->endpoint_ = const_cast< ::exec::DrillbitEndpoint*>(
-      ::exec::DrillbitEndpoint::internal_default_instance());
-}
-void BitControlHandshake::clear_endpoint() {
-  if (endpoint_ != NULL) endpoint_->Clear();
-  clear_has_endpoint();
-}
-#if !defined(_MSC_VER) || _MSC_VER >= 1900
+#ifndef _MSC_VER
 const int BitControlHandshake::kRpcVersionFieldNumber;
 const int BitControlHandshake::kChannelFieldNumber;
 const int BitControlHandshake::kEndpointFieldNumber;
 const int BitControlHandshake::kAuthenticationMechanismsFieldNumber;
-#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+#endif  // !_MSC_VER
 
 BitControlHandshake::BitControlHandshake()
-  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  ::google::protobuf::internal::InitSCC(
-      &protobuf_BitControl_2eproto::scc_info_BitControlHandshake.base);
+  : ::google::protobuf::Message() {
   SharedCtor();
-  // @@protoc_insertion_point(constructor:exec.bit.control.BitControlHandshake)
 }
+
+void BitControlHandshake::InitAsDefaultInstance() {
+  endpoint_ = const_cast< ::exec::DrillbitEndpoint*>(&::exec::DrillbitEndpoint::default_instance());
+}
+
 BitControlHandshake::BitControlHandshake(const BitControlHandshake& from)
-  : ::google::protobuf::Message(),
-      _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_),
-      authenticationmechanisms_(from.authenticationmechanisms_) {
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  if (from.has_endpoint()) {
-    endpoint_ = new ::exec::DrillbitEndpoint(*from.endpoint_);
-  } else {
-    endpoint_ = NULL;
-  }
-  ::memcpy(&rpc_version_, &from.rpc_version_,
-    static_cast<size_t>(reinterpret_cast<char*>(&channel_) -
-    reinterpret_cast<char*>(&rpc_version_)) + sizeof(channel_));
-  // @@protoc_insertion_point(copy_constructor:exec.bit.control.BitControlHandshake)
+  : ::google::protobuf::Message() {
+  SharedCtor();
+  MergeFrom(from);
 }
 
 void BitControlHandshake::SharedCtor() {
-  ::memset(&endpoint_, 0, static_cast<size_t>(
-      reinterpret_cast<char*>(&channel_) -
-      reinterpret_cast<char*>(&endpoint_)) + sizeof(channel_));
+  _cached_size_ = 0;
+  rpc_version_ = 0;
+  channel_ = 0;
+  endpoint_ = NULL;
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
 }
 
 BitControlHandshake::~BitControlHandshake() {
-  // @@protoc_insertion_point(destructor:exec.bit.control.BitControlHandshake)
   SharedDtor();
 }
 
 void BitControlHandshake::SharedDtor() {
-  if (this != internal_default_instance()) delete endpoint_;
+  if (this != default_instance_) {
+    delete endpoint_;
+  }
 }
 
 void BitControlHandshake::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
 }
 const ::google::protobuf::Descriptor* BitControlHandshake::descriptor() {
-  ::protobuf_BitControl_2eproto::protobuf_AssignDescriptorsOnce();
-  return ::protobuf_BitControl_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+  protobuf_AssignDescriptorsOnce();
+  return BitControlHandshake_descriptor_;
 }
 
 const BitControlHandshake& BitControlHandshake::default_instance() {
-  ::google::protobuf::internal::InitSCC(&protobuf_BitControl_2eproto::scc_info_BitControlHandshake.base);
-  return *internal_default_instance();
+  if (default_instance_ == NULL) protobuf_AddDesc_BitControl_2eproto();
+  return *default_instance_;
 }
 
+BitControlHandshake* BitControlHandshake::default_instance_ = NULL;
 
-void BitControlHandshake::Clear() {
-// @@protoc_insertion_point(message_clear_start:exec.bit.control.BitControlHandshake)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
+BitControlHandshake* BitControlHandshake::New() const {
+  return new BitControlHandshake;
+}
 
-  authenticationmechanisms_.Clear();
-  cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 0x00000001u) {
-    GOOGLE_DCHECK(endpoint_ != NULL);
-    endpoint_->Clear();
-  }
-  if (cached_has_bits & 6u) {
-    ::memset(&rpc_version_, 0, static_cast<size_t>(
-        reinterpret_cast<char*>(&channel_) -
-        reinterpret_cast<char*>(&rpc_version_)) + sizeof(channel_));
+void BitControlHandshake::Clear() {
+  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    rpc_version_ = 0;
+    channel_ = 0;
+    if (has_endpoint()) {
+      if (endpoint_ != NULL) endpoint_->::exec::DrillbitEndpoint::Clear();
+    }
   }
-  _has_bits_.Clear();
-  _internal_metadata_.Clear();
+  authenticationmechanisms_.Clear();
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
+  mutable_unknown_fields()->Clear();
 }
 
 bool BitControlHandshake::MergePartialFromCodedStream(
     ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   ::google::protobuf::uint32 tag;
-  // @@protoc_insertion_point(parse_start:exec.bit.control.BitControlHandshake)
-  for (;;) {
-    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
-    tag = p.first;
-    if (!p.second) goto handle_unusual;
+  while ((tag = input->ReadTag()) != 0) {
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // optional int32 rpc_version = 1;
       case 1: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
-          set_has_rpc_version();
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                  input, &rpc_version_)));
+          set_has_rpc_version();
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
+        if (input->ExpectTag(16)) goto parse_channel;
         break;
       }
 
       // optional .exec.shared.RpcChannel channel = 2 [default = BIT_CONTROL];
       case 2: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+         parse_channel:
           int value;
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
@@ -666,174 +532,138 @@ bool BitControlHandshake::MergePartialFromCodedStream(
           if (::exec::shared::RpcChannel_IsValid(value)) {
             set_channel(static_cast< ::exec::shared::RpcChannel >(value));
           } else {
-            mutable_unknown_fields()->AddVarint(
-                2, static_cast< ::google::protobuf::uint64>(value));
+            mutable_unknown_fields()->AddVarint(2, value);
           }
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
+        if (input->ExpectTag(26)) goto parse_endpoint;
         break;
       }
 
       // optional .exec.DrillbitEndpoint endpoint = 3;
       case 3: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+         parse_endpoint:
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_endpoint()));
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
+        if (input->ExpectTag(34)) goto parse_authenticationMechanisms;
         break;
       }
 
       // repeated string authenticationMechanisms = 4;
       case 4: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+         parse_authenticationMechanisms:
           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                 input, this->add_authenticationmechanisms()));
-          ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
+          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
             this->authenticationmechanisms(this->authenticationmechanisms_size() - 1).data(),
-            static_cast<int>(this->authenticationmechanisms(this->authenticationmechanisms_size() - 1).length()),
-            ::google::protobuf::internal::WireFormat::PARSE,
-            "exec.bit.control.BitControlHandshake.authenticationMechanisms");
+            this->authenticationmechanisms(this->authenticationmechanisms_size() - 1).length(),
+            ::google::protobuf::internal::WireFormat::PARSE);
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
+        if (input->ExpectTag(34)) goto parse_authenticationMechanisms;
+        if (input->ExpectAtEnd()) return true;
         break;
       }
 
       default: {
-      handle_unusual:
-        if (tag == 0) {
-          goto success;
+      handle_uninterpreted:
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
+          return true;
         }
         DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, _internal_metadata_.mutable_unknown_fields()));
+              input, tag, mutable_unknown_fields()));
         break;
       }
     }
   }
-success:
-  // @@protoc_insertion_point(parse_success:exec.bit.control.BitControlHandshake)
   return true;
-failure:
-  // @@protoc_insertion_point(parse_failure:exec.bit.control.BitControlHandshake)
-  return false;
 #undef DO_
 }
 
 void BitControlHandshake::SerializeWithCachedSizes(
     ::google::protobuf::io::CodedOutputStream* output) const {
-  // @@protoc_insertion_point(serialize_start:exec.bit.control.BitControlHandshake)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
   // optional int32 rpc_version = 1;
-  if (cached_has_bits & 0x00000002u) {
+  if (has_rpc_version()) {
     ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->rpc_version(), output);
   }
 
   // optional .exec.shared.RpcChannel channel = 2 [default = BIT_CONTROL];
-  if (cached_has_bits & 0x00000004u) {
+  if (has_channel()) {
     ::google::protobuf::internal::WireFormatLite::WriteEnum(
       2, this->channel(), output);
   }
 
   // optional .exec.DrillbitEndpoint endpoint = 3;
-  if (cached_has_bits & 0x00000001u) {
+  if (has_endpoint()) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      3, this->_internal_endpoint(), output);
+      3, this->endpoint(), output);
   }
 
   // repeated string authenticationMechanisms = 4;
-  for (int i = 0, n = this->authenticationmechanisms_size(); i < n; i++) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
-      this->authenticationmechanisms(i).data(), static_cast<int>(this->authenticationmechanisms(i).length()),
-      ::google::protobuf::internal::WireFormat::SERIALIZE,
-      "exec.bit.control.BitControlHandshake.authenticationMechanisms");
+  for (int i = 0; i < this->authenticationmechanisms_size(); i++) {
+  ::google::protobuf::internal::WireFormat::VerifyUTF8String(
+    this->authenticationmechanisms(i).data(), this->authenticationmechanisms(i).length(),
+    ::google::protobuf::internal::WireFormat::SERIALIZE);
     ::google::protobuf::internal::WireFormatLite::WriteString(
       4, this->authenticationmechanisms(i), output);
   }
 
-  if (_internal_metadata_.have_unknown_fields()) {
+  if (!unknown_fields().empty()) {
     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        _internal_metadata_.unknown_fields(), output);
+        unknown_fields(), output);
   }
-  // @@protoc_insertion_point(serialize_end:exec.bit.control.BitControlHandshake)
 }
 
-::google::protobuf::uint8* BitControlHandshake::InternalSerializeWithCachedSizesToArray(
-    bool deterministic, ::google::protobuf::uint8* target) const {
-  (void)deterministic; // Unused
-  // @@protoc_insertion_point(serialize_to_array_start:exec.bit.control.BitControlHandshake)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
+::google::protobuf::uint8* BitControlHandshake::SerializeWithCachedSizesToArray(
+    ::google::protobuf::uint8* target) const {
   // optional int32 rpc_version = 1;
-  if (cached_has_bits & 0x00000002u) {
+  if (has_rpc_version()) {
     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->rpc_version(), target);
   }
 
   // optional .exec.shared.RpcChannel channel = 2 [default = BIT_CONTROL];
-  if (cached_has_bits & 0x00000004u) {
+  if (has_channel()) {
     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
       2, this->channel(), target);
   }
 
   // optional .exec.DrillbitEndpoint endpoint = 3;
-  if (cached_has_bits & 0x00000001u) {
+  if (has_endpoint()) {
     target = ::google::protobuf::internal::WireFormatLite::
-      InternalWriteMessageToArray(
-        3, this->_internal_endpoint(), deterministic, target);
+      WriteMessageNoVirtualToArray(
+        3, this->endpoint(), target);
   }
 
   // repeated string authenticationMechanisms = 4;
-  for (int i = 0, n = this->authenticationmechanisms_size(); i < n; i++) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
-      this->authenticationmechanisms(i).data(), static_cast<int>(this->authenticationmechanisms(i).length()),
-      ::google::protobuf::internal::WireFormat::SERIALIZE,
-      "exec.bit.control.BitControlHandshake.authenticationMechanisms");
+  for (int i = 0; i < this->authenticationmechanisms_size(); i++) {
+    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
+      this->authenticationmechanisms(i).data(), this->authenticationmechanisms(i).length(),
+      ::google::protobuf::internal::WireFormat::SERIALIZE);
     target = ::google::protobuf::internal::WireFormatLite::
       WriteStringToArray(4, this->authenticationmechanisms(i), target);
   }
 
-  if (_internal_metadata_.have_unknown_fields()) {
+  if (!unknown_fields().empty()) {
     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields(), target);
+        unknown_fields(), target);
   }
-  // @@protoc_insertion_point(serialize_to_array_end:exec.bit.control.BitControlHandshake)
   return target;
 }
 
-size_t BitControlHandshake::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:exec.bit.control.BitControlHandshake)
-  size_t total_size = 0;
-
-  if (_internal_metadata_.have_unknown_fields()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        _internal_metadata_.unknown_fields());
-  }
-  // repeated string authenticationMechanisms = 4;
-  total_size += 1 *
-      ::google::protobuf::internal::FromIntSize(this->authenticationmechanisms_size());
-  for (int i = 0, n = this->authenticationmechanisms_size(); i < n; i++) {
-    total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
-      this->authenticationmechanisms(i));
-  }
-
-  if (_has_bits_[0 / 32] & 7u) {
-    // optional .exec.DrillbitEndpoint endpoint = 3;
-    if (has_endpoint()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSize(
-          *endpoint_);
-    }
+int BitControlHandshake::ByteSize() const {
+  int total_size = 0;
 
+  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
     // optional int32 rpc_version = 1;
     if (has_rpc_version()) {
       total_size += 1 +
@@ -847,1056 +677,932 @@ size_t BitControlHandshake::ByteSizeLong() const {
         ::google::protobuf::internal::WireFormatLite::EnumSize(this->channel());
     }
 
+    // optional .exec.DrillbitEndpoint endpoint = 3;
+    if (has_endpoint()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+          this->endpoint());
+    }
+
   }
-  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
+  // repeated string authenticationMechanisms = 4;
+  total_size += 1 * this->authenticationmechanisms_size();
+  for (int i = 0; i < this->authenticationmechanisms_size(); i++) {
+    total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
+      this->authenticationmechanisms(i));
+  }
+
+  if (!unknown_fields().empty()) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        unknown_fields());
+  }
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = total_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
   return total_size;
 }
 
 void BitControlHandshake::MergeFrom(const ::google::protobuf::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:exec.bit.control.BitControlHandshake)
-  GOOGLE_DCHECK_NE(&from, this);
+  GOOGLE_CHECK_NE(&from, this);
   const BitControlHandshake* source =
-      ::google::protobuf::internal::DynamicCastToGenerated<const BitControlHandshake>(
-          &from);
+    ::google::protobuf::internal::dynamic_cast_if_available<const BitControlHandshake*>(
+      &from);
   if (source == NULL) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.bit.control.BitControlHandshake)
     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.bit.control.BitControlHandshake)
     MergeFrom(*source);
   }
 }
 
 void BitControlHandshake::MergeFrom(const BitControlHandshake& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:exec.bit.control.BitControlHandshake)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
+  GOOGLE_CHECK_NE(&from, this);
   authenticationmechanisms_.MergeFrom(from.authenticationmechanisms_);
-  cached_has_bits = from._has_bits_[0];
-  if (cached_has_bits & 7u) {
-    if (cached_has_bits & 0x00000001u) {
-      mutable_endpoint()->::exec::DrillbitEndpoint::MergeFrom(from.endpoint());
+  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    if (from.has_rpc_version()) {
+      set_rpc_version(from.rpc_version());
     }
-    if (cached_has_bits & 0x00000002u) {
-      rpc_version_ = from.rpc_version_;
+    if (from.has_channel()) {
+      set_channel(from.channel());
     }
-    if (cached_has_bits & 0x00000004u) {
-      channel_ = from.channel_;
+    if (from.has_endpoint()) {
+      mutable_endpoint()->::exec::DrillbitEndpoint::MergeFrom(from.endpoint());
     }
-    _has_bits_[0] |= cached_has_bits;
   }
+  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
 }
 
 void BitControlHandshake::CopyFrom(const ::google::protobuf::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:exec.bit.control.BitControlHandshake)
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
 void BitControlHandshake::CopyFrom(const BitControlHandshake& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:exec.bit.control.BitControlHandshake)
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
 bool BitControlHandshake::IsInitialized() const {
+
   return true;
 }
 
 void BitControlHandshake::Swap(BitControlHandshake* other) {
-  if (other == this) return;
-  InternalSwap(other);
-}
-void BitControlHandshake::InternalSwap(BitControlHandshake* other) {
-  using std::swap;
-  authenticationmechanisms_.InternalSwap(CastToBase(&other->authenticationmechanisms_));
-  swap(endpoint_, other->endpoint_);
-  swap(rpc_version_, other->rpc_version_);
-  swap(channel_, other->channel_);
-  swap(_has_bits_[0], other->_has_bits_[0]);
-  _internal_metadata_.Swap(&other->_internal_metadata_);
+  if (other != this) {
+    std::swap(rpc_version_, other->rpc_version_);
+    std::swap(channel_, other->channel_);
+    std::swap(endpoint_, other->endpoint_);
+    authenticationmechanisms_.Swap(&other->authenticationmechanisms_);
+    std::swap(_has_bits_[0], other->_has_bits_[0]);
+    _unknown_fields_.Swap(&other->_unknown_fields_);
+    std::swap(_cached_size_, other->_cached_size_);
+  }
 }
 
 ::google::protobuf::Metadata BitControlHandshake::GetMetadata() const {
-  protobuf_BitControl_2eproto::protobuf_AssignDescriptorsOnce();
-  return ::protobuf_BitControl_2eproto::file_level_metadata[kIndexInFileMessages];
+  protobuf_AssignDescriptorsOnce();
+  ::google::protobuf::Metadata metadata;
+  metadata.descriptor = BitControlHandshake_descriptor_;
+  metadata.reflection = BitControlHandshake_reflection_;
+  return metadata;
 }
 
 
 // ===================================================================
 
-void BitStatus::InitAsDefaultInstance() {
-}
-#if !defined(_MSC_VER) || _MSC_VER >= 1900
+#ifndef _MSC_VER
 const int BitStatus::kFragmentStatusFieldNumber;
-#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+#endif  // !_MSC_VER
 
 BitStatus::BitStatus()
-  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  ::google::protobuf::internal::InitSCC(
-      &protobuf_BitControl_2eproto::scc_info_BitStatus.base);
+  : ::google::protobuf::Message() {
   SharedCtor();
-  // @@protoc_insertion_point(constructor:exec.bit.control.BitStatus)
 }
+
+void BitStatus::InitAsDefaultInstance() {
+}
+
 BitStatus::BitStatus(const BitStatus& from)
-  : ::google::protobuf::Message(),
-      _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_),
-      fragment_status_(from.fragment_status_) {
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  // @@protoc_insertion_point(copy_constructor:exec.bit.control.BitStatus)
+  : ::google::protobuf::Message() {
+  SharedCtor();
+  MergeFrom(from);
 }
 
 void BitStatus::SharedCtor() {
+  _cached_size_ = 0;
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
 }
 
 BitStatus::~BitStatus() {
-  // @@protoc_insertion_point(destructor:exec.bit.control.BitStatus)
   SharedDtor();
 }
 
 void BitStatus::SharedDtor() {
+  if (this != default_instance_) {
+  }
 }
 
 void BitStatus::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
 }
 const ::google::protobuf::Descriptor* BitStatus::descriptor() {
-  ::protobuf_BitControl_2eproto::protobuf_AssignDescriptorsOnce();
-  return ::protobuf_BitControl_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+  protobuf_AssignDescriptorsOnce();
+  return BitStatus_descriptor_;
 }
 
 const BitStatus& BitStatus::default_instance() {
-  ::google::protobuf::internal::InitSCC(&protobuf_BitControl_2eproto::scc_info_BitStatus.base);
-  return *internal_default_instance();
+  if (default_instance_ == NULL) protobuf_AddDesc_BitControl_2eproto();
+  return *default_instance_;
 }
 
+BitStatus* BitStatus::default_instance_ = NULL;
 
-void BitStatus::Clear() {
-// @@protoc_insertion_point(message_clear_start:exec.bit.control.BitStatus)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
+BitStatus* BitStatus::New() const {
+  return new BitStatus;
+}
 
+void BitStatus::Clear() {
   fragment_status_.Clear();
-  _has_bits_.Clear();
-  _internal_metadata_.Clear();
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
+  mutable_unknown_fields()->Clear();
 }
 
 bool BitStatus::MergePartialFromCodedStream(
     ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   ::google::protobuf::uint32 tag;
-  // @@protoc_insertion_point(parse_start:exec.bit.control.BitStatus)
-  for (;;) {
-    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
-    tag = p.first;
-    if (!p.second) goto handle_unusual;
+  while ((tag = input->ReadTag()) != 0) {
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // repeated .exec.bit.control.FragmentStatus fragment_status = 1;
       case 1: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+         parse_fragment_status:
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                 input, add_fragment_status()));
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
+        if (input->ExpectTag(10)) goto parse_fragment_status;
+        if (input->ExpectAtEnd()) return true;
         break;
       }
 
       default: {
-      handle_unusual:
-        if (tag == 0) {
-          goto success;
+      handle_uninterpreted:
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
+          return true;
         }
         DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, _internal_metadata_.mutable_unknown_fields()));
+              input, tag, mutable_unknown_fields()));
         break;
       }
     }
   }
-success:
-  // @@protoc_insertion_point(parse_success:exec.bit.control.BitStatus)
   return true;
-failure:
-  // @@protoc_insertion_point(parse_failure:exec.bit.control.BitStatus)
-  return false;
 #undef DO_
 }
 
 void BitStatus::SerializeWithCachedSizes(
     ::google::protobuf::io::CodedOutputStream* output) const {
-  // @@protoc_insertion_point(serialize_start:exec.bit.control.BitStatus)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
   // repeated .exec.bit.control.FragmentStatus fragment_status = 1;
-  for (unsigned int i = 0,
-      n = static_cast<unsigned int>(this->fragment_status_size()); i < n; i++) {
+  for (int i = 0; i < this->fragment_status_size(); i++) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      1,
-      this->fragment_status(static_cast<int>(i)),
-      output);
+      1, this->fragment_status(i), output);
   }
 
-  if (_internal_metadata_.have_unknown_fields()) {
+  if (!unknown_fields().empty()) {
     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        _internal_metadata_.unknown_fields(), output);
+        unknown_fields(), output);
   }
-  // @@protoc_insertion_point(serialize_end:exec.bit.control.BitStatus)
 }
 
-::google::protobuf::uint8* BitStatus::InternalSerializeWithCachedSizesToArray(
-    bool deterministic, ::google::protobuf::uint8* target) const {
-  (void)deterministic; // Unused
-  // @@protoc_insertion_point(serialize_to_array_start:exec.bit.control.BitStatus)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
+::google::protobuf::uint8* BitStatus::SerializeWithCachedSizesToArray(
+    ::google::protobuf::uint8* target) const {
   // repeated .exec.bit.control.FragmentStatus fragment_status = 1;
-  for (unsigned int i = 0,
-      n = static_cast<unsigned int>(this->fragment_status_size()); i < n; i++) {
+  for (int i = 0; i < this->fragment_status_size(); i++) {
     target = ::google::protobuf::internal::WireFormatLite::
-      InternalWriteMessageToArray(
-        1, this->fragment_status(static_cast<int>(i)), deterministic, target);
+      WriteMessageNoVirtualToArray(
+        1, this->fragment_status(i), target);
   }
 
-  if (_internal_metadata_.have_unknown_fields()) {
+  if (!unknown_fields().empty()) {
     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields(), target);
+        unknown_fields(), target);
   }
-  // @@protoc_insertion_point(serialize_to_array_end:exec.bit.control.BitStatus)
   return target;
 }
 
-size_t BitStatus::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:exec.bit.control.BitStatus)
-  size_t total_size = 0;
+int BitStatus::ByteSize() const {
+  int total_size = 0;
 
-  if (_internal_metadata_.have_unknown_fields()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        _internal_metadata_.unknown_fields());
-  }
   // repeated .exec.bit.control.FragmentStatus fragment_status = 1;
-  {
-    unsigned int count = static_cast<unsigned int>(this->fragment_status_size());
-    total_size += 1UL * count;
-    for (unsigned int i = 0; i < count; i++) {
-      total_size +=
-        ::google::protobuf::internal::WireFormatLite::MessageSize(
-          this->fragment_status(static_cast<int>(i)));
-    }
+  total_size += 1 * this->fragment_status_size();
+  for (int i = 0; i < this->fragment_status_size(); i++) {
+    total_size +=
+      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+        this->fragment_status(i));
   }
 
-  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
+  if (!unknown_fields().empty()) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        unknown_fields());
+  }
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = total_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
   return total_size;
 }
 
 void BitStatus::MergeFrom(const ::google::protobuf::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:exec.bit.control.BitStatus)
-  GOOGLE_DCHECK_NE(&from, this);
+  GOOGLE_CHECK_NE(&from, this);
   const BitStatus* source =
-      ::google::protobuf::internal::DynamicCastToGenerated<const BitStatus>(
-          &from);
+    ::google::protobuf::internal::dynamic_cast_if_available<const BitStatus*>(
+      &from);
   if (source == NULL) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.bit.control.BitStatus)
     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.bit.control.BitStatus)
     MergeFrom(*source);
   }
 }
 
 void BitStatus::MergeFrom(const BitStatus& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:exec.bit.control.BitStatus)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
+  GOOGLE_CHECK_NE(&from, this);
   fragment_status_.MergeFrom(from.fragment_status_);
+  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
 }
 
 void BitStatus::CopyFrom(const ::google::protobuf::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:exec.bit.control.BitStatus)
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
 void BitStatus::CopyFrom(const BitStatus& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:exec.bit.control.BitStatus)
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
 bool BitStatus::IsInitialized() const {
+
   return true;
 }
 
 void BitStatus::Swap(BitStatus* other) {
-  if (other == this) return;
-  InternalSwap(other);
-}
-void BitStatus::InternalSwap(BitStatus* other) {
-  using std::swap;
-  CastToBase(&fragment_status_)->InternalSwap(CastToBase(&other->fragment_status_));
-  swap(_has_bits_[0], other->_has_bits_[0]);
-  _internal_metadata_.Swap(&other->_internal_metadata_);
+  if (other != this) {
+    fragment_status_.Swap(&other->fragment_status_);
+    std::swap(_has_bits_[0], other->_has_bits_[0]);
+    _unknown_fields_.Swap(&other->_unknown_fields_);
+    std::swap(_cached_size_, other->_cached_size_);
+  }
 }
 
 ::google::protobuf::Metadata BitStatus::GetMetadata() const {
-  protobuf_BitControl_2eproto::protobuf_AssignDescriptorsOnce();
-  return ::protobuf_BitControl_2eproto::file_level_metadata[kIndexInFileMessages];
+  protobuf_AssignDescriptorsOnce();
+  ::google::protobuf::Metadata metadata;
+  metadata.descriptor = BitStatus_descriptor_;
+  metadata.reflection = BitStatus_reflection_;
+  return metadata;
 }
 
 
 // ===================================================================
 
-void FragmentStatus::InitAsDefaultInstance() {
-  ::exec::bit::control::_FragmentStatus_default_instance_._instance.get_mutable()->profile_ = const_cast< ::exec::shared::MinorFragmentProfile*>(
-      ::exec::shared::MinorFragmentProfile::internal_default_instance());
-  ::exec::bit::control::_FragmentStatus_default_instance_._instance.get_mutable()->handle_ = const_cast< ::exec::bit::FragmentHandle*>(
-      ::exec::bit::FragmentHandle::internal_default_instance());
-}
-void FragmentStatus::clear_profile() {
-  if (profile_ != NULL) profile_->Clear();
-  clear_has_profile();
-}
-void FragmentStatus::clear_handle() {
-  if (handle_ != NULL) handle_->Clear();
-  clear_has_handle();
-}
-#if !defined(_MSC_VER) || _MSC_VER >= 1900
+#ifndef _MSC_VER
 const int FragmentStatus::kProfileFieldNumber;
 const int FragmentStatus::kHandleFieldNumber;
-#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+#endif  // !_MSC_VER
 
 FragmentStatus::FragmentStatus()
-  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  ::google::protobuf::internal::InitSCC(
-      &protobuf_BitControl_2eproto::scc_info_FragmentStatus.base);
+  : ::google::protobuf::Message() {
   SharedCtor();
-  // @@protoc_insertion_point(constructor:exec.bit.control.FragmentStatus)
 }
+
+void FragmentStatus::InitAsDefaultInstance() {
+  profile_ = const_cast< ::exec::shared::MinorFragmentProfile*>(&::exec::shared::MinorFragmentProfile::default_instance());
+  handle_ = const_cast< ::exec::bit::FragmentHandle*>(&::exec::bit::FragmentHandle::default_instance());
+}
+
 FragmentStatus::FragmentStatus(const FragmentStatus& from)
-  : ::google::protobuf::Message(),
-      _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_) {
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  if (from.has_profile()) {
-    profile_ = new ::exec::shared::MinorFragmentProfile(*from.profile_);
-  } else {
-    profile_ = NULL;
-  }
-  if (from.has_handle()) {
-    handle_ = new ::exec::bit::FragmentHandle(*from.handle_);
-  } else {
-    handle_ = NULL;
-  }
-  // @@protoc_insertion_point(copy_constructor:exec.bit.control.FragmentStatus)
+  : ::google::protobuf::Message() {
+  SharedCtor();
+  MergeFrom(from);
 }
 
 void FragmentStatus::SharedCtor() {
-  ::memset(&profile_, 0, static_cast<size_t>(
-      reinterpret_cast<char*>(&handle_) -
-      reinterpret_cast<char*>(&profile_)) + sizeof(handle_));
+  _cached_size_ = 0;
+  profile_ = NULL;
+  handle_ = NULL;
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
 }
 
 FragmentStatus::~FragmentStatus() {
-  // @@protoc_insertion_point(destructor:exec.bit.control.FragmentStatus)
   SharedDtor();
 }
 
 void FragmentStatus::SharedDtor() {
-  if (this != internal_default_instance()) delete profile_;
-  if (this != internal_default_instance()) delete handle_;
+  if (this != default_instance_) {
+    delete profile_;
+    delete handle_;
+  }
 }
 
 void FragmentStatus::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
 }
 const ::google::protobuf::Descriptor* FragmentStatus::descriptor() {
-  ::protobuf_BitControl_2eproto::protobuf_AssignDescriptorsOnce();
-  return ::protobuf_BitControl_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+  protobuf_AssignDescriptorsOnce();
+  return FragmentStatus_descriptor_;
 }
 
 const FragmentStatus& FragmentStatus::default_instance() {
-  ::google::protobuf::internal::InitSCC(&protobuf_BitControl_2eproto::scc_info_FragmentStatus.base);
-  return *internal_default_instance();
+  if (default_instance_ == NULL) protobuf_AddDesc_BitControl_2eproto();
+  return *default_instance_;
 }
 
+FragmentStatus* FragmentStatus::default_instance_ = NULL;
+
+FragmentStatus* FragmentStatus::New() const {
+  return new FragmentStatus;
+}
 
 void FragmentStatus::Clear() {
-// @@protoc_insertion_point(message_clear_start:exec.bit.control.FragmentStatus)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 3u) {
-    if (cached_has_bits & 0x00000001u) {
-      GOOGLE_DCHECK(profile_ != NULL);
-      profile_->Clear();
+  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    if (has_profile()) {
+      if (profile_ != NULL) profile_->::exec::shared::MinorFragmentProfile::Clear();
     }
-    if (cached_has_bits & 0x00000002u) {
-      GOOGLE_DCHECK(handle_ != NULL);
-      handle_->Clear();
+    if (has_handle()) {
+      if (handle_ != NULL) handle_->::exec::bit::FragmentHandle::Clear();
     }
   }
-  _has_bits_.Clear();
-  _internal_metadata_.Clear();
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
+  mutable_unknown_fields()->Clear();
 }
 
 bool FragmentStatus::MergePartialFromCodedStream(
     ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   ::google::protobuf::uint32 tag;
-  // @@protoc_insertion_point(parse_start:exec.bit.control.FragmentStatus)
-  for (;;) {
-    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
-    tag = p.first;
-    if (!p.second) goto handle_unusual;
+  while ((tag = input->ReadTag()) != 0) {
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // optional .exec.shared.MinorFragmentProfile profile = 1;
       case 1: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_profile()));
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
+        if (input->ExpectTag(18)) goto parse_handle;
         break;
       }
 
       // optional .exec.bit.FragmentHandle handle = 2;
       case 2: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+         parse_handle:
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_handle()));
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
+        if (input->ExpectAtEnd()) return true;
         break;
       }
 
       default: {
-      handle_unusual:
-        if (tag == 0) {
-          goto success;
+      handle_uninterpreted:
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
+          return true;
         }
         DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, _internal_metadata_.mutable_unknown_fields()));
+              input, tag, mutable_unknown_fields()));
         break;
       }
     }
   }
-success:
-  // @@protoc_insertion_point(parse_success:exec.bit.control.FragmentStatus)
   return true;
-failure:
-  // @@protoc_insertion_point(parse_failure:exec.bit.control.FragmentStatus)
-  return false;
 #undef DO_
 }
 
 void FragmentStatus::SerializeWithCachedSizes(
     ::google::protobuf::io::CodedOutputStream* output) const {
-  // @@protoc_insertion_point(serialize_start:exec.bit.control.FragmentStatus)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
   // optional .exec.shared.MinorFragmentProfile profile = 1;
-  if (cached_has_bits & 0x00000001u) {
+  if (has_profile()) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      1, this->_internal_profile(), output);
+      1, this->profile(), output);
   }
 
   // optional .exec.bit.FragmentHandle handle = 2;
-  if (cached_has_bits & 0x00000002u) {
+  if (has_handle()) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      2, this->_internal_handle(), output);
+      2, this->handle(), output);
   }
 
-  if (_internal_metadata_.have_unknown_fields()) {
+  if (!unknown_fields().empty()) {
     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        _internal_metadata_.unknown_fields(), output);
+        unknown_fields(), output);
   }
-  // @@protoc_insertion_point(serialize_end:exec.bit.control.FragmentStatus)
 }
 
-::google::protobuf::uint8* FragmentStatus::InternalSerializeWithCachedSizesToArray(
-    bool deterministic, ::google::protobuf::uint8* target) const {
-  (void)deterministic; // Unused
-  // @@protoc_insertion_point(serialize_to_array_start:exec.bit.control.FragmentStatus)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
+::google::protobuf::uint8* FragmentStatus::SerializeWithCachedSizesToArray(
+    ::google::protobuf::uint8* target) const {
   // optional .exec.shared.MinorFragmentProfile profile = 1;
-  if (cached_has_bits & 0x00000001u) {
+  if (has_profile()) {
     target = ::google::protobuf::internal::WireFormatLite::
-      InternalWriteMessageToArray(
-        1, this->_internal_profile(), deterministic, target);
+      WriteMessageNoVirtualToArray(
+        1, this->profile(), target);
   }
 
   // optional .exec.bit.FragmentHandle handle = 2;
-  if (cached_has_bits & 0x00000002u) {
+  if (has_handle()) {
     target = ::google::protobuf::internal::WireFormatLite::
-      InternalWriteMessageToArray(
-        2, this->_internal_handle(), deterministic, target);
+      WriteMessageNoVirtualToArray(
+        2, this->handle(), target);
   }
 
-  if (_internal_metadata_.have_unknown_fields()) {
+  if (!unknown_fields().empty()) {
     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields(), target);
+        unknown_fields(), target);
   }
-  // @@protoc_insertion_point(serialize_to_array_end:exec.bit.control.FragmentStatus)
   return target;
 }
 
-size_t FragmentStatus::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:exec.bit.control.FragmentStatus)
-  size_t total_size = 0;
+int FragmentStatus::ByteSize() const {
+  int total_size = 0;
 
-  if (_internal_metadata_.have_unknown_fields()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        _internal_metadata_.unknown_fields());
-  }
-  if (_has_bits_[0 / 32] & 3u) {
+  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
     // optional .exec.shared.MinorFragmentProfile profile = 1;
     if (has_profile()) {
       total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSize(
-          *profile_);
+        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+          this->profile());
     }
 
     // optional .exec.bit.FragmentHandle handle = 2;
     if (has_handle()) {
       total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSize(
-          *handle_);
+        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+          this->handle());
     }
 
   }
-  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
+  if (!unknown_fields().empty()) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        unknown_fields());
+  }
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = total_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
   return total_size;
 }
 
 void FragmentStatus::MergeFrom(const ::google::protobuf::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:exec.bit.control.FragmentStatus)
-  GOOGLE_DCHECK_NE(&from, this);
+  GOOGLE_CHECK_NE(&from, this);
   const FragmentStatus* source =
-      ::google::protobuf::internal::DynamicCastToGenerated<const FragmentStatus>(
-          &from);
+    ::google::protobuf::internal::dynamic_cast_if_available<const FragmentStatus*>(
+      &from);
   if (source == NULL) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.bit.control.FragmentStatus)
     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.bit.control.FragmentStatus)
     MergeFrom(*source);
   }
 }
 
 void FragmentStatus::MergeFrom(const FragmentStatus& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:exec.bit.control.FragmentStatus)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = from._has_bits_[0];
-  if (cached_has_bits & 3u) {
-    if (cached_has_bits & 0x00000001u) {
+  GOOGLE_CHECK_NE(&from, this);
+  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    if (from.has_profile()) {
       mutable_profile()->::exec::shared::MinorFragmentProfile::MergeFrom(from.profile());
     }
-    if (cached_has_bits & 0x00000002u) {
+    if (from.has_handle()) {
       mutable_handle()->::exec::bit::FragmentHandle::MergeFrom(from.handle());
     }
   }
+  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
 }
 
 void FragmentStatus::CopyFrom(const ::google::protobuf::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:exec.bit.control.FragmentStatus)
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
 void FragmentStatus::CopyFrom(const FragmentStatus& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:exec.bit.control.FragmentStatus)
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
 bool FragmentStatus::IsInitialized() const {
+
   return true;
 }
 
 void FragmentStatus::Swap(FragmentStatus* other) {
-  if (other == this) return;
-  InternalSwap(other);
-}
-void FragmentStatus::InternalSwap(FragmentStatus* other) {
-  using std::swap;
-  swap(profile_, other->profile_);
-  swap(handle_, other->handle_);
-  swap(_has_bits_[0], other->_has_bits_[0]);
-  _internal_metadata_.Swap(&other->_internal_metadata_);
+  if (other != this) {
+    std::swap(profile_, other->profile_);
+    std::swap(handle_, other->handle_);
+    std::swap(_has_bits_[0], other->_has_bits_[0]);
+    _unknown_fields_.Swap(&other->_unknown_fields_);
+    std::swap(_cached_size_, other->_cached_size_);
+  }
 }
 
 ::google::protobuf::Metadata FragmentStatus::GetMetadata() const {
-  protobuf_BitControl_2eproto::protobuf_AssignDescriptorsOnce();
-  return ::protobuf_BitControl_2eproto::file_level_metadata[kIndexInFileMessages];
+  protobuf_AssignDescriptorsOnce();
+  ::google::protobuf::Metadata metadata;
+  metadata.descriptor = FragmentStatus_descriptor_;
+  metadata.reflection = FragmentStatus_reflection_;
+  return metadata;
 }
 
 
 // ===================================================================
 
-void InitializeFragments::InitAsDefaultInstance() {
-}
-#if !defined(_MSC_VER) || _MSC_VER >= 1900
+#ifndef _MSC_VER
 const int InitializeFragments::kFragmentFieldNumber;
-#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+#endif  // !_MSC_VER
 
 InitializeFragments::InitializeFragments()
-  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  ::google::protobuf::internal::InitSCC(
-      &protobuf_BitControl_2eproto::scc_info_InitializeFragments.base);
+  : ::google::protobuf::Message() {
   SharedCtor();
-  // @@protoc_insertion_point(constructor:exec.bit.control.InitializeFragments)
 }
+
+void InitializeFragments::InitAsDefaultInstance() {
+}
+
 InitializeFragments::InitializeFragments(const InitializeFragments& from)
-  : ::google::protobuf::Message(),
-      _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_),
-      fragment_(from.fragment_) {
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  // @@protoc_insertion_point(copy_constructor:exec.bit.control.InitializeFragments)
+  : ::google::protobuf::Message() {
+  SharedCtor();
+  MergeFrom(from);
 }
 
 void InitializeFragments::SharedCtor() {
+  _cached_size_ = 0;
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
 }
 
 InitializeFragments::~InitializeFragments() {
-  // @@protoc_insertion_point(destructor:exec.bit.control.InitializeFragments)
   SharedDtor();
 }
 
 void InitializeFragments::SharedDtor() {
+  if (this != default_instance_) {
+  }
 }
 
 void InitializeFragments::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
 }
 const ::google::protobuf::Descriptor* InitializeFragments::descriptor() {
-  ::protobuf_BitControl_2eproto::protobuf_AssignDescriptorsOnce();
-  return ::protobuf_BitControl_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+  protobuf_AssignDescriptorsOnce();
+  return InitializeFragments_descriptor_;
 }
 
 const InitializeFragments& InitializeFragments::default_instance() {
-  ::google::protobuf::internal::InitSCC(&protobuf_BitControl_2eproto::scc_info_InitializeFragments.base);
-  return *internal_default_instance();
+  if (default_instance_ == NULL) protobuf_AddDesc_BitControl_2eproto();
+  return *default_instance_;
 }
 
+InitializeFragments* InitializeFragments::default_instance_ = NULL;
 
-void InitializeFragments::Clear() {
-// @@protoc_insertion_point(message_clear_start:exec.bit.control.InitializeFragments)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
+InitializeFragments* InitializeFragments::New() const {
+  return new InitializeFragments;
+}
 
+void InitializeFragments::Clear() {
   fragment_.Clear();
-  _has_bits_.Clear();
-  _internal_metadata_.Clear();
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
+  mutable_unknown_fields()->Clear();
 }
 
 bool InitializeFragments::MergePartialFromCodedStream(
     ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   ::google::protobuf::uint32 tag;
-  // @@protoc_insertion_point(parse_start:exec.bit.control.InitializeFragments)
-  for (;;) {
-    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
-    tag = p.first;
-    if (!p.second) goto handle_unusual;
+  while ((tag = input->ReadTag()) != 0) {
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // repeated .exec.bit.control.PlanFragment fragment = 1;
       case 1: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+         parse_fragment:
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                 input, add_fragment()));
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
+        if (input->ExpectTag(10)) goto parse_fragment;
+        if (input->ExpectAtEnd()) return true;
         break;
       }
 
       default: {
-      handle_unusual:
-        if (tag == 0) {
-          goto success;
+      handle_uninterpreted:
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
+          return true;
         }
         DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, _internal_metadata_.mutable_unknown_fields()));
+              input, tag, mutable_unknown_fields()));
         break;
       }
     }
   }
-success:
-  // @@protoc_insertion_point(parse_success:exec.bit.control.InitializeFragments)
   return true;
-failure:
-  // @@protoc_insertion_point(parse_failure:exec.bit.control.InitializeFragments)
-  return false;
 #undef DO_
 }
 
 void InitializeFragments::SerializeWithCachedSizes(
     ::google::protobuf::io::CodedOutputStream* output) const {
-  // @@protoc_insertion_point(serialize_start:exec.bit.control.InitializeFragments)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
   // repeated .exec.bit.control.PlanFragment fragment = 1;
-  for (unsigned int i = 0,
-      n = static_cast<unsigned int>(this->fragment_size()); i < n; i++) {
+  for (int i = 0; i < this->fragment_size(); i++) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      1,
-      this->fragment(static_cast<int>(i)),
-      output);
+      1, this->fragment(i), output);
   }
 
-  if (_internal_metadata_.have_unknown_fields()) {
+  if (!unknown_fields().empty()) {
     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        _internal_metadata_.unknown_fields(), output);
+        unknown_fields(), output);
   }
-  // @@protoc_insertion_point(serialize_end:exec.bit.control.InitializeFragments)
 }
 
-::google::protobuf::uint8* InitializeFragments::InternalSerializeWithCachedSizesToArray(
-    bool deterministic, ::google::protobuf::uint8* target) const {
-  (void)deterministic; // Unused
-  // @@protoc_insertion_point(serialize_to_array_start:exec.bit.control.InitializeFragments)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
+::google::protobuf::uint8* InitializeFragments::SerializeWithCachedSizesToArray(
+    ::google::protobuf::uint8* target) const {
   // repeated .exec.bit.control.PlanFragment fragment = 1;
-  for (unsigned int i = 0,
-      n = static_cast<unsigned int>(this->fragment_size()); i < n; i++) {
+  for (int i = 0; i < this->fragment_size(); i++) {
     target = ::google::protobuf::internal::WireFormatLite::
-      InternalWriteMessageToArray(
-        1, this->fragment(static_cast<int>(i)), deterministic, target);
+      WriteMessageNoVirtualToArray(
+        1, this->fragment(i), target);
   }
 
-  if (_internal_metadata_.have_unknown_fields()) {
+  if (!unknown_fields().empty()) {
     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields(), target);
+        unknown_fields(), target);
   }
-  // @@protoc_insertion_point(serialize_to_array_end:exec.bit.control.InitializeFragments)
   return target;
 }
 
-size_t InitializeFragments::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:exec.bit.control.InitializeFragments)
-  size_t total_size = 0;
+int InitializeFragments::ByteSize() const {
+  int total_size = 0;
 
-  if (_internal_metadata_.have_unknown_fields()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        _internal_metadata_.unknown_fields());
-  }
   // repeated .exec.bit.control.PlanFragment fragment = 1;
-  {
-    unsigned int count = static_cast<unsigned int>(this->fragment_size());
-    total_size += 1UL * count;
-    for (unsigned int i = 0; i < count; i++) {
-      total_size +=
-        ::google::protobuf::internal::WireFormatLite::MessageSize(
-          this->fragment(static_cast<int>(i)));
-    }
+  total_size += 1 * this->fragment_size();
+  for (int i = 0; i < this->fragment_size(); i++) {
+    total_size +=
+      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+        this->fragment(i));
   }
 
-  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
+  if (!unknown_fields().empty()) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        unknown_fields());
+  }
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = total_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
   return total_size;
 }
 
 void InitializeFragments::MergeFrom(const ::google::protobuf::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:exec.bit.control.InitializeFragments)
-  GOOGLE_DCHECK_NE(&from, this);
+  GOOGLE_CHECK_NE(&from, this);
   const InitializeFragments* source =
-      ::google::protobuf::internal::DynamicCastToGenerated<const InitializeFragments>(
-          &from);
+    ::google::protobuf::internal::dynamic_cast_if_available<const InitializeFragments*>(
+      &from);
   if (source == NULL) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.bit.control.InitializeFragments)
     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.bit.control.InitializeFragments)
     MergeFrom(*source);
   }
 }
 
 void InitializeFragments::MergeFrom(const InitializeFragments& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:exec.bit.control.InitializeFragments)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
+  GOOGLE_CHECK_NE(&from, this);
   fragment_.MergeFrom(from.fragment_);
+  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
 }
 
 void InitializeFragments::CopyFrom(const ::google::protobuf::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:exec.bit.control.InitializeFragments)
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
 void InitializeFragments::CopyFrom(const InitializeFragments& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:exec.bit.control.InitializeFragments)
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
 bool InitializeFragments::IsInitialized() const {
+
   return true;
 }
 
 void InitializeFragments::Swap(InitializeFragments* other) {
-  if (other == this) return;
-  InternalSwap(other);
-}
-void InitializeFragments::InternalSwap(InitializeFragments* other) {
-  using std::swap;
-  CastToBase(&fragment_)->InternalSwap(CastToBase(&other->fragment_));
-  swap(_has_bits_[0], other->_has_bits_[0]);
-  _internal_metadata_.Swap(&other->_internal_metadata_);
+  if (other != this) {
+    fragment_.Swap(&other->fragment_);
+    std::swap(_has_bits_[0], other->_has_bits_[0]);
+    _unknown_fields_.Swap(&other->_unknown_fields_);
+    std::swap(_cached_size_, other->_cached_size_);
+  }
 }
 
 ::google::protobuf::Metadata InitializeFragments::GetMetadata() const {
-  protobuf_BitControl_2eproto::protobuf_AssignDescriptorsOnce();
-  return ::protobuf_BitControl_2eproto::file_level_metadata[kIndexInFileMessages];
+  protobuf_AssignDescriptorsOnce();
+  ::google::protobuf::Metadata metadata;
+  metadata.descriptor = InitializeFragments_descriptor_;
+  metadata.reflection = InitializeFragments_reflection_;
+  return metadata;
 }
 
 
 // ===================================================================
 
-void CustomMessage::InitAsDefaultInstance() {
-}
-#if !defined(_MSC_VER) || _MSC_VER >= 1900
+#ifndef _MSC_VER
 const int CustomMessage::kTypeFieldNumber;
 const int CustomMessage::kMessageFieldNumber;
-#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+#endif  // !_MSC_VER
 
 CustomMessage::CustomMessage()
-  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  ::google::protobuf::internal::InitSCC(
-      &protobuf_BitControl_2eproto::scc_info_CustomMessage.base);
+  : ::google::protobuf::Message() {
   SharedCtor();
-  // @@protoc_insertion_point(constructor:exec.bit.control.CustomMessage)
 }
+
+void CustomMessage::InitAsDefaultInstance() {
+}
+
 CustomMessage::CustomMessage(const CustomMessage& from)
-  : ::google::protobuf::Message(),
-      _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_) {
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  message_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (from.has_message()) {
-    message_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.message_);
-  }
-  type_ = from.type_;
-  // @@protoc_insertion_point(copy_constructor:exec.bit.control.CustomMessage)
+  : ::google::protobuf::Message() {
+  SharedCtor();
+  MergeFrom(from);
 }
 
 void CustomMessage::SharedCtor() {
-  message_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  _cached_size_ = 0;
   type_ = 0;
+  message_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
 }
 
 CustomMessage::~CustomMessage() {
-  // @@protoc_insertion_point(destructor:exec.bit.control.CustomMessage)
   SharedDtor();
 }
 
 void CustomMessage::SharedDtor() {
-  message_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (message_ != &::google::protobuf::internal::kEmptyString) {
+    delete message_;
+  }
+  if (this != default_instance_) {
+  }
 }
 
 void CustomMessage::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
 }
 const ::google::protobuf::Descriptor* CustomMessage::descriptor() {
-  ::protobuf_BitControl_2eproto::protobuf_AssignDescriptorsOnce();
-  return ::protobuf_BitControl_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+  protobuf_AssignDescriptorsOnce();
+  return CustomMessage_descriptor_;
 }
 
 const CustomMessage& CustomMessage::default_instance() {
-  ::google::protobuf::internal::InitSCC(&protobuf_BitControl_2eproto::scc_info_CustomMessage.base);
-  return *internal_default_instance();
+  if (default_instance_ == NULL) protobuf_AddDesc_BitControl_2eproto();
+  return *default_instance_;
 }
 
+CustomMessage* CustomMessage::default_instance_ = NULL;
 
-void CustomMessage::Clear() {
-// @@protoc_insertion_point(message_clear_start:exec.bit.control.CustomMessage)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
+CustomMessage* CustomMessage::New() const {
+  return new CustomMessage;
+}
 
-  cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 0x00000001u) {
-    message_.ClearNonDefaultToEmptyNoArena();
+void CustomMessage::Clear() {
+  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    type_ = 0;
+    if (has_message()) {
+      if (message_ != &::google::protobuf::internal::kEmptyString) {
+        message_->clear();
+      }
+    }
   }
-  type_ = 0;
-  _has_bits_.Clear();
-  _internal_metadata_.Clear();
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
+  mutable_unknown_fields()->Clear();
 }
 
 bool CustomMessage::MergePartialFromCodedStream(
     ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   ::google::protobuf::uint32 tag;
-  // @@protoc_insertion_point(parse_start:exec.bit.control.CustomMessage)
-  for (;;) {
-    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
-    tag = p.first;
-    if (!p.second) goto handle_unusual;
+  while ((tag = input->ReadTag()) != 0) {
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // optional int32 type = 1;
       case 1: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
-          set_has_type();
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                  input, &type_)));
+          set_has_type();
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
+        if (input->ExpectTag(18)) goto parse_message;
         break;
       }
 
       // optional bytes message = 2;
       case 2: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+         parse_message:
           DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                 input, this->mutable_message()));
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
+        if (input->ExpectAtEnd()) return true;
         break;
       }
 
       default: {
-      handle_unusual:
-        if (tag == 0) {
-          goto success;
+      handle_uninterpreted:
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
+          return true;
         }
         DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, _internal_metadata_.mutable_unknown_fields()));
+              input, tag, mutable_unknown_fields()));
         break;
       }
     }
   }
-success:
-  // @@protoc_insertion_point(parse_success:exec.bit.control.CustomMessage)
   return true;
-failure:
-  // @@protoc_insertion_point(parse_failure:exec.bit.control.CustomMessage)
-  return false;
 #undef DO_
 }
 
 void CustomMessage::SerializeWithCachedSizes(
     ::google::protobuf::io::CodedOutputStream* output) const {
-  // @@protoc_insertion_point(serialize_start:exec.bit.control.CustomMessage)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
   // optional int32 type = 1;
-  if (cached_has_bits & 0x00000002u) {
+  if (has_type()) {
     ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->type(), output);
   }
 
   // optional bytes message = 2;
-  if (cached_has_bits & 0x00000001u) {
-    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
+  if (has_message()) {
+    ::google::protobuf::internal::WireFormatLite::WriteBytes(
       2, this->message(), output);
   }
 
-  if (_internal_metadata_.have_unknown_fields()) {
+  if (!unknown_fields().empty()) {
     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        _internal_metadata_.unknown_fields(), output);
+        unknown_fields(), output);
   }
-  // @@protoc_insertion_point(serialize_end:exec.bit.control.CustomMessage)
 }
 
-::google::protobuf::uint8* CustomMessage::InternalSerializeWithCachedSizesToArray(
-    bool deterministic, ::google::protobuf::uint8* target) const {
-  (void)deterministic; // Unused
-  // @@protoc_insertion_point(serialize_to_array_start:exec.bit.control.CustomMessage)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
+::google::protobuf::uint8* CustomMessage::SerializeWithCachedSizesToArray(
+    ::google::protobuf::uint8* target) const {
   // optional int32 type = 1;
-  if (cached_has_bits & 0x00000002u) {
+  if (has_type()) {
     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->type(), target);
   }
 
   // optional bytes message = 2;
-  if (cached_has_bits & 0x00000001u) {
+  if (has_message()) {
     target =
       ::google::protobuf::internal::WireFormatLite::WriteBytesToArray(
         2, this->message(), target);
   }
 
-  if (_internal_metadata_.have_unknown_fields()) {
+  if (!unknown_fields().empty()) {
     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields(), target);
+        unknown_fields(), target);
   }
-  // @@protoc_insertion_point(serialize_to_array_end:exec.bit.control.CustomMessage)
   return target;
 }
 
-size_t CustomMessage::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:exec.bit.control.CustomMessage)
-  size_t total_size = 0;
-
-  if (_internal_metadata_.have_unknown_fields()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        _internal_metadata_.unknown_fields());
-  }
-  if (_has_bits_[0 / 32] & 3u) {
-    // optional bytes message = 2;
-    if (has_message()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::BytesSize(
-          this->message());
-    }
+int CustomMessage::ByteSize() const {
+  int total_size = 0;
 
+  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
     // optional int32 type = 1;
     if (has_type()) {
       total_size += 1 +
@@ -1904,115 +1610,89 @@ size_t CustomMessage::ByteSizeLong() const {
           this->type());
     }
 
+    // optional bytes message = 2;
+    if (has_message()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::BytesSize(
+          this->message());
+    }
+
+  }
+  if (!unknown_fields().empty()) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        unknown_fields());
   }
-  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = total_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
   return total_size;
 }
 
 void CustomMessage::MergeFrom(const ::google::protobuf::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:exec.bit.control.CustomMessage)
-  GOOGLE_DCHECK_NE(&from, this);
+  GOOGLE_CHECK_NE(&from, this);
   const CustomMessage* source =
-      ::google::protobuf::internal::DynamicCastToGenerated<const CustomMessage>(
-          &from);
+    ::google::protobuf::internal::dynamic_cast_if_available<const CustomMessage*>(
+      &from);
   if (source == NULL) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.bit.control.CustomMessage)
     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.bit.control.CustomMessage)
     MergeFrom(*source);
   }
 }
 
 void CustomMessage::MergeFrom(const CustomMessage& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:exec.bit.control.CustomMessage)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = from._has_bits_[0];
-  if (cached_has_bits & 3u) {
-    if (cached_has_bits & 0x00000001u) {
-      set_has_message();
-      message_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.message_);
+  GOOGLE_CHECK_NE(&from, this);
+  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    if (from.has_type()) {
+      set_type(from.type());
     }
-    if (cached_has_bits & 0x00000002u) {
-      type_ = from.type_;
+    if (from.has_message()) {
+      set_message(from.message());
     }
-    _has_bits_[0] |= cached_has_bits;
   }
+  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
 }
 
 void CustomMessage::CopyFrom(const ::google::protobuf::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:exec.bit.control.CustomMessage)
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
 void CustomMessage::CopyFrom(const CustomMessage& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:exec.bit.control.CustomMessage)
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
 bool CustomMessage::IsInitialized() const {
+
   return true;
 }
 
 void CustomMessage::Swap(CustomMessage* other) {
-  if (other == this) return;
-  InternalSwap(other);
-}
-void CustomMessage::InternalSwap(CustomMessage* other) {
-  using std::swap;
-  message_.Swap(&other->message_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-    GetArenaNoVirtual());
-  swap(type_, other->type_);
-  swap(_has_bits_[0], other->_has_bits_[0]);
-  _internal_metadata_.Swap(&other->_internal_metadata_);
+  if (other != this) {
+    std::swap(type_, other->type_);
+    std::swap(message_, other->message_);
+    std::swap(_has_bits_[0], other->_has_bits_[0]);
+    _unknown_fields_.Swap(&other->_unknown_fields_);
+    std::swap(_cached_size_, other->_cached_size_);
+  }
 }
 
 ::google::protobuf::Metadata CustomMessage::GetMetadata() const {
-  protobuf_BitControl_2eproto::protobuf_AssignDescriptorsOnce();
-  return ::protobuf_BitControl_2eproto::file_level_metadata[kIndexInFileMessages];
+  protobuf_AssignDescriptorsOnce();
+  ::google::protobuf::Metadata metadata;
+  metadata.descriptor = CustomMessage_descriptor_;
+  metadata.reflection = CustomMessage_reflection_;
+  return metadata;
 }
 
 
 // ===================================================================
 
-void PlanFragment::InitAsDefaultInstance() {
-  ::exec::bit::control::_PlanFragment_default_instance_._instance.get_mutable()->handle_ = const_cast< ::exec::bit::FragmentHandle*>(
-      ::exec::bit::FragmentHandle::internal_default_instance());
-  ::exec::bit::control::_PlanFragment_default_instance_._instance.get_mutable()->assignment_ = const_cast< ::exec::DrillbitEndpoint*>(
-      ::exec::DrillbitEndpoint::internal_default_instance());
-  ::exec::bit::control::_PlanFragment_default_instance_._instance.get_mutable()->foreman_ = const_cast< ::exec::DrillbitEndpoint*>(
-      ::exec::DrillbitEndpoint::internal_default_instance());
-  ::exec::bit::control::_PlanFragment_default_instance_._instance.get_mutable()->credentials_ = const_cast< ::exec::shared::UserCredentials*>(
-      ::exec::shared::UserCredentials::internal_default_instance());
-  ::exec::bit::control::_PlanFragment_default_instance_._instance.get_mutable()->context_ = const_cast< ::exec::bit::control::QueryContextInformation*>(
-      ::exec::bit::control::QueryContextInformation::internal_default_instance());
-}
-void PlanFragment::clear_handle() {
-  if (handle_ != NULL) handle_->Clear();
-  clear_has_handle();
-}
-void PlanFragment::clear_assignment() {
-  if (assignment_ != NULL) assignment_->Clear();
-  clear_has_assignment();
-}
-void PlanFragment::clear_foreman() {
-  if (foreman_ != NULL) foreman_->Clear();
-  clear_has_foreman();
-}
-void PlanFragment::clear_credentials() {
-  if (credentials_ != NULL) credentials_->Clear();
-  clear_has_credentials();
-}
-#if !defined(_MSC_VER) || _MSC_VER >= 1900
+#ifndef _MSC_VER
 const int PlanFragment::kHandleFieldNumber;
 const int PlanFragment::kNetworkCostFieldNumber;
 const int PlanFragment::kCpuCostFieldNumber;
@@ -2028,671 +1708,593 @@ const int PlanFragment::kCredentialsFieldNumber;
 const int PlanFragment::kOptionsJsonFieldNumber;
 const int PlanFragment::kContextFieldNumber;
 const int PlanFragment::kCollectorFieldNumber;
-#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+#endif  // !_MSC_VER
 
 PlanFragment::PlanFragment()
-  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  ::google::protobuf::internal::InitSCC(
-      &protobuf_BitControl_2eproto::scc_info_PlanFragment.base);
+  : ::google::protobuf::Message() {
   SharedCtor();
-  // @@protoc_insertion_point(constructor:exec.bit.control.PlanFragment)
 }
+
+void PlanFragment::InitAsDefaultInstance() {
+  handle_ = const_cast< ::exec::bit::FragmentHandle*>(&::exec::bit::FragmentHandle::default_instance());
+  assignment_ = const_cast< ::exec::DrillbitEndpoint*>(&::exec::DrillbitEndpoint::default_instance());
+  foreman_ = const_cast< ::exec::DrillbitEndpoint*>(&::exec::DrillbitEndpoint::default_instance());
+  credentials_ = const_cast< ::exec::shared::UserCredentials*>(&::exec::shared::UserCredentials::default_instance());
+  context_ = const_cast< ::exec::bit::control::QueryContextInformation*>(&::exec::bit::control::QueryContextInformation::default_instance());
+}
+
 PlanFragment::PlanFragment(const PlanFragment& from)
-  : ::google::protobuf::Message(),
-      _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_),
-      collector_(from.collector_) {
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  fragment_json_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (from.has_fragment_json()) {
-    fragment_json_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.fragment_json_);
-  }
-  options_json_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (from.has_options_json()) {
-    options_json_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.options_json_);
-  }
-  if (from.has_handle()) {
-    handle_ = new ::exec::bit::FragmentHandle(*from.handle_);
-  } else {
-    handle_ = NULL;
-  }
-  if (from.has_assignment()) {
-    assignment_ = new ::exec::DrillbitEndpoint(*from.assignment_);
-  } else {
-    assignment_ = NULL;
-  }
-  if (from.has_foreman()) {
-    foreman_ = new ::exec::DrillbitEndpoint(*from.foreman_);
-  } else {
-    foreman_ = NULL;
-  }
-  if (from.has_credentials()) {
-    credentials_ = new ::exec::shared::UserCredentials(*from.credentials_);
-  } else {
-    credentials_ = NULL;
-  }
-  if (from.has_context()) {
-    context_ = new ::exec::bit::control::QueryContextInformation(*from.context_);
-  } else {
-    context_ = NULL;
-  }
-  ::memcpy(&network_cost_, &from.network_cost_,
-    static_cast<size_t>(reinterpret_cast<char*>(&mem_max_) -
-    reinterpret_cast<char*>(&network_cost_)) + sizeof(mem_max_));
-  // @@protoc_insertion_point(copy_constructor:exec.bit.control.PlanFragment)
+  : ::google::protobuf::Message() {
+  SharedCtor();
+  MergeFrom(from);
 }
 
 void PlanFragment::SharedCtor() {
-  fragment_json_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  options_json_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  ::memset(&handle_, 0, static_cast<size_t>(
-      reinterpret_cast<char*>(&leaf_fragment_) -
-      reinterpret_cast<char*>(&handle_)) + sizeof(leaf_fragment_));
+  _cached_size_ = 0;
+  handle_ = NULL;
+  network_cost_ = 0;
+  cpu_cost_ = 0;
+  disk_cost_ = 0;
+  memory_cost_ = 0;
+  fragment_json_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
+  leaf_fragment_ = false;
+  assignment_ = NULL;
+  foreman_ = NULL;
   mem_initial_ = GOOGLE_LONGLONG(20000000);
   mem_max_ = GOOGLE_LONGLONG(2000000000);
+  credentials_ = NULL;
+  options_json_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
+  context_ = NULL;
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
 }
 
 PlanFragment::~PlanFragment() {
-  // @@protoc_insertion_point(destructor:exec.bit.control.PlanFragment)
   SharedDtor();
 }
 
 void PlanFragment::SharedDtor() {
-  fragment_json_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  options_json_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (this != internal_default_instance()) delete handle_;
-  if (this != internal_default_instance()) delete assignment_;
-  if (this != internal_default_instance()) delete foreman_;
-  if (this != internal_default_instance()) delete credentials_;
-  if (this != internal_default_instance()) delete context_;
+  if (fragment_json_ != &::google::protobuf::internal::kEmptyString) {
+    delete fragment_json_;
+  }
+  if (options_json_ != &::google::protobuf::internal::kEmptyString) {
+    delete options_json_;
+  }
+  if (this != default_instance_) {
+    delete handle_;
+    delete assignment_;
+    delete foreman_;
+    delete credentials_;
+    delete context_;
+  }
 }
 
 void PlanFragment::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
 }
 const ::google::protobuf::Descriptor* PlanFragment::descriptor() {
-  ::protobuf_BitControl_2eproto::protobuf_AssignDescriptorsOnce();
-  return ::protobuf_BitControl_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+  protobuf_AssignDescriptorsOnce();
+  return PlanFragment_descriptor_;
 }
 
 const PlanFragment& PlanFragment::default_instance() {
-  ::google::protobuf::internal::InitSCC(&protobuf_BitControl_2eproto::scc_info_PlanFragment.base);
-  return *internal_default_instance();
+  if (default_instance_ == NULL) protobuf_AddDesc_BitControl_2eproto();
+  return *default_instance_;
 }
 
+PlanFragment* PlanFragment::default_instance_ = NULL;
 
-void PlanFragment::Clear() {
-// @@protoc_insertion_point(message_clear_start:exec.bit.control.PlanFragment)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
+PlanFragment* PlanFragment::New() const {
+  return new PlanFragment;
+}
 
-  collector_.Clear();
-  cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 127u) {
-    if (cached_has_bits & 0x00000001u) {
-      fragment_json_.ClearNonDefaultToEmptyNoArena();
+void PlanFragment::Clear() {
+  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    if (has_handle()) {
+      if (handle_ != NULL) handle_->::exec::bit::FragmentHandle::Clear();
     }
-    if (cached_has_bits & 0x00000002u) {
-      options_json_.ClearNonDefaultToEmptyNoArena();
+    network_cost_ = 0;
+    cpu_cost_ = 0;
+    disk_cost_ = 0;
+    memory_cost_ = 0;
+    if (has_fragment_json()) {
+      if (fragment_json_ != &::google::protobuf::internal::kEmptyString) {
+        fragment_json_->clear();
+      }
     }
-    if (cached_has_bits & 0x00000004u) {
-      GOOGLE_DCHECK(handle_ != NULL);
-      handle_->Clear();
+    leaf_fragment_ = false;
+    if (has_assignment()) {
+      if (assignment_ != NULL) assignment_->::exec::DrillbitEndpoint::Clear();
     }
-    if (cached_has_bits & 0x00000008u) {
-      GOOGLE_DCHECK(assignment_ != NULL);
-      assignment_->Clear();
+  }
+  if (_has_bits_[8 / 32] & (0xffu << (8 % 32))) {
+    if (has_foreman()) {
+      if (foreman_ != NULL) foreman_->::exec::DrillbitEndpoint::Clear();
     }
-    if (cached_has_bits & 0x00000010u) {
-      GOOGLE_DCHECK(foreman_ != NULL);
-      foreman_->Clear();
+    mem_initial_ = GOOGLE_LONGLONG(20000000);
+    mem_max_ = GOOGLE_LONGLONG(2000000000);
+    if (has_credentials()) {
+      if (credentials_ != NULL) credentials_->::exec::shared::UserCredentials::Clear();
     }
-    if (cached_has_bits & 0x00000020u) {
-      GOOGLE_DCHECK(credentials_ != NULL);
-      credentials_->Clear();
+    if (has_options_json()) {
+      if (options_json_ != &::google::protobuf::internal::kEmptyString) {
+        options_json_->clear();
+      }
     }
-    if (cached_has_bits & 0x00000040u) {
-      GOOGLE_DCHECK(context_ != NULL);
-      context_->Clear();
+    if (has_context()) {
+      if (context_ != NULL) context_->::exec::bit::control::QueryContextInformation::Clear();
     }
   }
-  network_cost_ = 0;
-  if (cached_has_bits & 16128u) {
-    ::memset(&cpu_cost_, 0, static_cast<size_t>(
-        reinterpret_cast<char*>(&leaf_fragment_) -
-        reinterpret_cast<char*>(&cpu_cost_)) + sizeof(leaf_fragment_));
-    mem_initial_ = GOOGLE_LONGLONG(20000000);
-    mem_max_ = GOOGLE_LONGLONG(2000000000);
-  }
-  _has_bits_.Clear();
-  _internal_metadata_.Clear();
+  collector_.Clear();
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
+  mutable_unknown_fields()->Clear();
 }
 
 bool PlanFragment::MergePartialFromCodedStream(
     ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   ::google::protobuf::uint32 tag;
-  // @@protoc_insertion_point(parse_start:exec.bit.control.PlanFragment)
-  for (;;) {
-    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(16383u);
-    tag = p.first;
-    if (!p.second) goto handle_unusual;
+  while ((tag = input->ReadTag()) != 0) {
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // optional .exec.bit.FragmentHandle handle = 1;
       case 1: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_handle()));
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
+        if (input->ExpectTag(37)) goto parse_network_cost;
         break;
       }
 
       // optional float network_cost = 4;
       case 4: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(37u /* 37 & 0xFF */)) {
-          set_has_network_cost();
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_FIXED32) {
+         parse_network_cost:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                  input, &network_cost_)));
+          set_has_network_cost();
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
+        if (input->ExpectTag(45)) goto parse_cpu_cost;
         break;
       }
 
       // optional float cpu_cost = 5;
       case 5: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(45u /* 45 & 0xFF */)) {
-          set_has_cpu_cost();
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_FIXED32) {
+         parse_cpu_cost:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                  input, &cpu_cost_)));
+          set_has_cpu_cost();
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
+        if (input->ExpectTag(53)) goto parse_disk_cost;
         break;
       }
 
       // optional float disk_cost = 6;
       case 6: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(53u /* 53 & 0xFF */)) {
-          set_has_disk_cost();
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_FIXED32) {
+         parse_disk_cost:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                  input, &disk_cost_)));
+          set_has_disk_cost();
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
+        if (input->ExpectTag(61)) goto parse_memory_cost;
         break;
       }
 
       // optional float memory_cost = 7;
       case 7: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(61u /* 61 & 0xFF */)) {
-          set_has_memory_cost();
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_FIXED32) {
+         parse_memory_cost:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                  input, &memory_cost_)));
+          set_has_memory_cost();
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
+        if (input->ExpectTag(66)) goto parse_fragment_json;
         break;
       }
 
       // optional string fragment_json = 8;
       case 8: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(66u /* 66 & 0xFF */)) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+         parse_fragment_json:
           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                 input, this->mutable_fragment_json()));
-          ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
-            this->fragment_json().data(), static_cast<int>(this->fragment_json().length()),
-            ::google::protobuf::internal::WireFormat::PARSE,
-            "exec.bit.control.PlanFragment.fragment_json");
+          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
+            this->fragment_json().data(), this->fragment_json().length(),
+            ::google::protobuf::internal::WireFormat::PARSE);
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
+        if (input->ExpectTag(72)) goto parse_leaf_fragment;
         break;
       }
 
       // optional bool leaf_fragment = 9;
       case 9: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(72u /* 72 & 0xFF */)) {
-          set_has_leaf_fragment();
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+         parse_leaf_fragment:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                  input, &leaf_fragment_)));
+          set_has_leaf_fragment();
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
+        if (input->ExpectTag(82)) goto parse_assignment;
         break;
       }
 
       // optional .exec.DrillbitEndpoint assignment = 10;
       case 10: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(82u /* 82 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+         parse_assignment:
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_assignment()));
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
+        if (input->ExpectTag(90)) goto parse_foreman;
         break;
       }
 
       // optional .exec.DrillbitEndpoint foreman = 11;
       case 11: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(90u /* 90 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+         parse_foreman:
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_foreman()));
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
+        if (input->ExpectTag(96)) goto parse_mem_initial;
         break;
       }
 
       // optional int64 mem_initial = 12 [default = 20000000];
       case 12: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(96u /* 96 & 0xFF */)) {
-          set_has_mem_initial();
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+         parse_mem_initial:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
                  input, &mem_initial_)));
+          set_has_mem_initial();
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
+        if (input->ExpectTag(104)) goto parse_mem_max;
         break;
       }
 
       // optional int64 mem_max = 13 [default = 2000000000];
       case 13: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(104u /* 104 & 0xFF */)) {
-          set_has_mem_max();
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+         parse_mem_max:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
                  input, &mem_max_)));
+          set_has_mem_max();
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
+        if (input->ExpectTag(114)) goto parse_credentials;
         break;
       }
 
       // optional .exec.shared.UserCredentials credentials = 14;
       case 14: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(114u /* 114 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+         parse_credentials:
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_credentials()));
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
+        if (input->ExpectTag(122)) goto parse_options_json;
         break;
       }
 
       // optional string options_json = 15;
       case 15: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(122u /* 122 & 0xFF */)) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+         parse_options_json:
           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                 input, this->mutable_options_json()));
-          ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
-            this->options_json().data(), static_cast<int>(this->options_json().length()),
-            ::google::protobuf::internal::WireFormat::PARSE,
-            "exec.bit.control.PlanFragment.options_json");
+          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
+            this->options_json().data(), this->options_json().length(),
+            ::google::protobuf::internal::WireFormat::PARSE);
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
+        if (input->ExpectTag(130)) goto parse_context;
         break;
       }
 
       // optional .exec.bit.control.QueryContextInformation context = 16;
       case 16: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(130u /* 130 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+         parse_context:
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_context()));
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
+        if (input->ExpectTag(138)) goto parse_collector;
         break;
       }
 
       // repeated .exec.bit.control.Collector collector = 17;
       case 17: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(138u /* 138 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+         parse_collector:
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                 input, add_collector()));
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
+        if (input->ExpectTag(138)) goto parse_collector;
+        if (input->ExpectAtEnd()) return true;
         break;
       }
 
       default: {
-      handle_unusual:
-        if (tag == 0) {
-          goto success;
+      handle_uninterpreted:
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
+          return true;
         }
         DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, _internal_metadata_.mutable_unknown_fields()));
+              input, tag, mutable_unknown_fields()));
         break;
       }
     }
   }
-success:
-  // @@protoc_insertion_point(parse_success:exec.bit.control.PlanFragment)
   return true;
-failure:
-  // @@protoc_insertion_point(parse_failure:exec.bit.control.PlanFragment)
-  return false;
 #undef DO_
 }
 
 void PlanFragment::SerializeWithCachedSizes(
     ::google::protobuf::io::CodedOutputStream* output) const {
-  // @@protoc_insertion_point(serialize_start:exec.bit.control.PlanFragment)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
   // optional .exec.bit.FragmentHandle handle = 1;
-  if (cached_has_bits & 0x00000004u) {
+  if (has_handle()) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      1, this->_internal_handle(), output);
+      1, this->handle(), output);
   }
 
   // optional float network_cost = 4;
-  if (cached_has_bits & 0x00000080u) {
+  if (has_network_cost()) {
     ::google::protobuf::internal::WireFormatLite::WriteFloat(4, this->network_cost(), output);
   }
 
   // optional float cpu_cost = 5;
-  if (cached_has_bits & 0x00000100u) {
+  if (has_cpu_cost()) {
     ::google::protobuf::internal::WireFormatLite::WriteFloat(5, this->cpu_cost(), output);
   }
 
   // optional float disk_cost = 6;
-  if (cached_has_bits & 0x00000200u) {
+  if (has_disk_cost()) {
     ::google::protobuf::internal::WireFormatLite::WriteFloat(6, this->disk_cost(), output);
   }
 
   // optional float memory_cost = 7;
-  if (cached_has_bits & 0x00000400u) {
+  if (has_memory_cost()) {
     ::google::protobuf::internal::WireFormatLite::WriteFloat(7, this->memory_cost(), output);
   }
 
   // optional string fragment_json = 8;
-  if (cached_has_bits & 0x00000001u) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
-      this->fragment_json().data(), static_cast<int>(this->fragment_json().length()),
-      ::google::protobuf::internal::WireFormat::SERIALIZE,
-      "exec.bit.control.PlanFragment.fragment_json");
-    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+  if (has_fragment_json()) {
+    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
+      this->fragment_json().data(), this->fragment_json().length(),
+      ::google::protobuf::internal::WireFormat::SERIALIZE);
+    ::google::protobuf::internal::WireFormatLite::WriteString(
       8, this->fragment_json(), output);
   }
 
   // optional bool leaf_fragment = 9;
-  if (cached_has_bits & 0x00000800u) {
+  if (has_leaf_fragment()) {
     ::google::protobuf::internal::WireFormatLite::WriteBool(9, this->leaf_fragment(), output);
   }
 
   // optional .exec.DrillbitEndpoint assignment = 10;
-  if (cached_has_bits & 0x00000008u) {
+  if (has_assignment()) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      10, this->_internal_assignment(), output);
+      10, this->assignment(), output);
   }
 
   // optional .exec.DrillbitEndpoint foreman = 11;
-  if (cached_has_bits & 0x00000010u) {
+  if (has_foreman()) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      11, this->_internal_foreman(), output);
+      11, this->foreman(), output);
   }
 
   // optional int64 mem_initial = 12 [default = 20000000];
-  if (cached_has_bits & 0x00001000u) {
+  if (has_mem_initial()) {
     ::google::protobuf::internal::WireFormatLite::WriteInt64(12, this->mem_initial(), output);
   }
 
   // optional int64 mem_max = 13 [default = 2000000000];
-  if (cached_has_bits & 0x00002000u) {
+  if (has_mem_max()) {
     ::google::protobuf::internal::WireFormatLite::WriteInt64(13, this->mem_max(), output);
   }
 
   // optional .exec.shared.UserCredentials credentials = 14;
-  if (cached_has_bits & 0x00000020u) {
+  if (has_credentials()) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      14, this->_internal_credentials(), output);
+      14, this->credentials(), output);
   }
 
   // optional string options_json = 15;
-  if (cached_has_bits & 0x00000002u) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
-      this->options_json().data(), static_cast<int>(this->options_json().length()),
-      ::google::protobuf::internal::WireFormat::SERIALIZE,
-      "exec.bit.control.PlanFragment.options_json");
-    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+  if (has_options_json()) {
+    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
+      this->options_json().data(), this->options_json().length(),
+      ::google::protobuf::internal::WireFormat::SERIALIZE);
+    ::google::protobuf::internal::WireFormatLite::WriteString(
       15, this->options_json(), output);
   }
 
   // optional .exec.bit.control.QueryContextInformation context = 16;
-  if (cached_has_bits & 0x00000040u) {
+  if (has_context()) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      16, this->_internal_context(), output);
+      16, this->context(), output);
   }
 
   // repeated .exec.bit.control.Collector collector = 17;
-  for (unsigned int i = 0,
-      n = static_cast<unsigned int>(this->collector_size()); i < n; i++) {
+  for (int i = 0; i < this->collector_size(); i++) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      17,
-      this->collector(static_cast<int>(i)),
-      output);
+      17, this->collector(i), output);
   }
 
-  if (_internal_metadata_.have_unknown_fields()) {
+  if (!unknown_fields().empty()) {
     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        _internal_metadata_.unknown_fields(), output);
+        unknown_fields(), output);
   }
-  // @@protoc_insertion_point(serialize_end:exec.bit.control.PlanFragment)
 }
 
-::google::protobuf::uint8* PlanFragment::InternalSerializeWithCachedSizesToArray(
-    bool deterministic, ::google::protobuf::uint8* target) const {
-  (void)deterministic; // Unused
-  // @@protoc_insertion_point(serialize_to_array_start:exec.bit.control.PlanFragment)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
+::google::protobuf::uint8* PlanFragment::SerializeWithCachedSizesToArray(
+    ::google::protobuf::uint8* target) const {
   // optional .exec.bit.FragmentHandle handle = 1;
-  if (cached_has_bits & 0x00000004u) {
+  if (has_handle()) {
     target = ::google::protobuf::internal::WireFormatLite::
-      InternalWriteMessageToArray(
-        1, this->_internal_handle(), deterministic, target);
+      WriteMessageNoVirtualToArray(
+        1, this->handle(), target);
   }
 
   // optional float network_cost = 4;
-  if (cached_has_bits & 0x00000080u) {
+  if (has_network_cost()) {
     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(4, this->network_cost(), target);
   }
 
   // optional float cpu_cost = 5;
-  if (cached_has_bits & 0x00000100u) {
+  if (has_cpu_cost()) {
     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(5, this->cpu_cost(), target);
   }
 
   // optional float disk_cost = 6;
-  if (cached_has_bits & 0x00000200u) {
+  if (has_disk_cost()) {
     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(6, this->disk_cost(), target);
   }
 
   // optional float memory_cost = 7;
-  if (cached_has_bits & 0x00000400u) {
+  if (has_memory_cost()) {
     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(7, this->memory_cost(), target);
   }
 
   // optional string fragment_json = 8;
-  if (cached_has_bits & 0x00000001u) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
-      this->fragment_json().data(), static_cast<int>(this->fragment_json().length()),
-      ::google::protobuf::internal::WireFormat::SERIALIZE,
-      "exec.bit.control.PlanFragment.fragment_json");
+  if (has_fragment_json()) {
+    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
+      this->fragment_json().data(), this->fragment_json().length(),
+      ::google::protobuf::internal::WireFormat::SERIALIZE);
     target =
       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
         8, this->fragment_json(), target);
   }
 
   // optional bool leaf_fragment = 9;
-  if (cached_has_bits & 0x00000800u) {
+  if (has_leaf_fragment()) {
     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(9, this->leaf_fragment(), target);
   }
 
   // optional .exec.DrillbitEndpoint assignment = 10;
-  if (cached_has_bits & 0x00000008u) {
+  if (has_assignment()) {
     target = ::google::protobuf::internal::WireFormatLite::
-      InternalWriteMessageToArray(
-        10, this->_internal_assignment(), deterministic, target);
+      WriteMessageNoVirtualToArray(
+        10, this->assignment(), target);
   }
 
   // optional .exec.DrillbitEndpoint foreman = 11;
-  if (cached_has_bits & 0x00000010u) {
+  if (has_foreman()) {
     target = ::google::protobuf::internal::WireFormatLite::
-      InternalWriteMessageToArray(
-        11, this->_internal_foreman(), deterministic, target);
+      WriteMessageNoVirtualToArray(
+        11, this->foreman(), target);
   }
 
   // optional int64 mem_initial = 12 [default = 20000000];
-  if (cached_has_bits & 0x00001000u) {
+  if (has_mem_initial()) {
     target = ::google::protobuf::internal::WireFormatLite::WriteInt64ToArray(12, this->mem_initial(), target);
   }
 
   // optional int64 mem_max = 13 [default = 2000000000];
-  if (cached_has_bits & 0x00002000u) {
+  if (has_mem_max()) {
     target = ::google::protobuf::internal::WireFormatLite::WriteInt64ToArray(13, this->mem_max(), target);
   }
 
   // optional .exec.shared.UserCredentials credentials = 14;
-  if (cached_has_bits & 0x00000020u) {
+  if (has_credentials()) {
     target = ::google::protobuf::internal::WireFormatLite::
-      InternalWriteMessageToArray(
-        14, this->_internal_credentials(), deterministic, target);
+      WriteMessageNoVirtualToArray(
+        14, this->credentials(), target);
   }
 
   // optional string options_json = 15;
-  if (cached_has_bits & 0x00000002u) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
-      this->options_json().data(), static_cast<int>(this->options_json().length()),
-      ::google::protobuf::internal::WireFormat::SERIALIZE,
-      "exec.bit.control.PlanFragment.options_json");
+  if (has_options_json()) {
+    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
+      this->options_json().data(), this->options_json().length(),
+      ::google::protobuf::internal::WireFormat::SERIALIZE);
     target =
       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
         15, this->options_json(), target);
   }
 
   // optional .exec.bit.control.QueryContextInformation context = 16;
-  if (cached_has_bits & 0x00000040u) {
+  if (has_context()) {
     target = ::google::protobuf::internal::WireFormatLite::
-      InternalWriteMessageToArray(
-        16, this->_internal_context(), deterministic, target);
+      WriteMessageNoVirtualToArray(
+        16, this->context(), target);
   }
 
   // repeated .exec.bit.control.Collector collector = 17;
-  for (unsigned int i = 0,
-      n = static_cast<unsigned int>(this->collector_size()); i < n; i++) {
+  for (int i = 0; i < this->collector_size(); i++) {
     target = ::google::protobuf::internal::WireFormatLite::
-      InternalWriteMessageToArray(
-        17, this->collector(static_cast<int>(i)), deterministic, target);
+      WriteMessageNoVirtualToArray(
+        17, this->collector(i), target);
   }
 
-  if (_internal_metadata_.have_unknown_fields()) {
+  if (!unknown_fields().empty()) {
     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields(), target);
+        unknown_fields(), target);
   }
-  // @@protoc_insertion_point(serialize_to_array_end:exec.bit.control.PlanFragment)
   return target;
 }
 
-size_t PlanFragment::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:exec.bit.control.PlanFragment)
-  size_t total_size = 0;
-
-  if (_internal_metadata_.have_unknown_fields()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        _internal_metadata_.unknown_fields());
-  }
-  // repeated .exec.bit.control.Collector collector = 17;
-  {
-    unsigned int count = static_cast<unsigned int>(this->collector_size());
-    total_size += 2UL * count;
-    for (unsigned int i = 0; i < count; i++) {
-      total_size +=
-        ::google::protobuf::internal::WireFormatLite::MessageSize(
-          this->collector(static_cast<int>(i)));
-    }
-  }
-
-  if (_has_bits_[0 / 32] & 255u) {
-    // optional string fragment_json = 8;
-    if (has_fragment_json()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->fragment_json());
-    }
-
-    // optional string options_json = 15;
-    if (has_options_json()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->options_json());
-    }
+int PlanFragment::ByteSize() const {
+  int total_size = 0;
 
+  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
     // optional .exec.bit.FragmentHandle handle = 1;
     if (has_handle()) {
       total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSize(
-          *handle_);
-    }
-
-    // optional .exec.DrillbitEndpoint assignment = 10;
-    if (has_assignment()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSize(
-          *assignment_);
-    }
-
-    // optional .exec.DrillbitEndpoint foreman = 11;
-    if (has_foreman()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSize(
-          *foreman_);
-    }
-
-    // optional .exec.shared.UserCredentials credentials = 14;
-    if (has_credentials()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSize(
-          *credentials_);
-    }
-
-    // optional .exec.bit.control.QueryContextInformation context = 16;
-    if (has_context()) {
-      total_size += 2 +
-        ::google::protobuf::internal::WireFormatLite::MessageSize(
-          *context_);
+        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+          this->handle());
     }
 
     // optional float network_cost = 4;
@@ -2700,8 +2302,6 @@ size_t PlanFragment::ByteSizeLong() const {
       total_size += 1 + 4;
     }
 
-  }
-  if (_has_bits_[8 / 32] & 16128u) {
     // optional float cpu_cost = 5;
     if (has_cpu_cost()) {
       total_size += 1 + 4;
@@ -2717,11 +2317,34 @@ size_t PlanFragment::ByteSizeLong() const {
       total_size += 1 + 4;
     }
 
+    // optional string fragment_json = 8;
+    if (has_fragment_json()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::StringSize(
+          this->fragment_json());
+    }
+
     // optional bool leaf_fragment = 9;
     if (has_leaf_fragment()) {
       total_size += 1 + 1;
     }
 
+    // optional .exec.DrillbitEndpoint assignment = 10;
+    if (has_assignment()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+          this->assignment());
+    }
+
+  }
+  if (_has_bits_[8 / 32] & (0xffu << (8 % 32))) {
+    // optional .exec.DrillbitEndpoint foreman = 11;
+    if (has_foreman()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+          this->foreman());
+    }
+
     // optional int64 mem_initial = 12 [default = 20000000];
     if (has_mem_initial()) {
       total_size += 1 +
@@ -2736,355 +2359,359 @@ size_t PlanFragment::ByteSizeLong() const {
           this->mem_max());
     }
 
+    // optional .exec.shared.UserCredentials credentials = 14;
+    if (has_credentials()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+          this->credentials());
+    }
+
+    // optional string options_json = 15;
+    if (has_options_json()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::StringSize(
+          this->options_json());
+    }
+
+    // optional .exec.bit.control.QueryContextInformation context = 16;
+    if (has_context()) {
+      total_size += 2 +
+        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+          this->context());
+    }
+
+  }
+  // repeated .exec.bit.control.Collector collector = 17;
+  total_size += 2 * this->collector_size();
+  for (int i = 0; i < this->collector_size(); i++) {
+    total_size +=
+      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+        this->collector(i));
+  }
+
+  if (!unknown_fields().empty()) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        unknown_fields());
   }
-  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = total_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
   return total_size;
 }
 
 void PlanFragment::MergeFrom(const ::google::protobuf::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:exec.bit.control.PlanFragment)
-  GOOGLE_DCHECK_NE(&from, this);
+  GOOGLE_CHECK_NE(&from, this);
   const PlanFragment* source =
-      ::google::protobuf::internal::DynamicCastToGenerated<const PlanFragment>(
-          &from);
+    ::google::protobuf::internal::dynamic_cast_if_available<const PlanFragment*>(
+      &from);
   if (source == NULL) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.bit.control.PlanFragment)
     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.bit.control.PlanFragment)
     MergeFrom(*source);
   }
 }
 
 void PlanFragment::MergeFrom(const PlanFragment& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:exec.bit.control.PlanFragment)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
+  GOOGLE_CHECK_NE(&from, this);
   collector_.MergeFrom(from.collector_);
-  cached_has_bits = from._has_bits_[0];
-  if (cached_has_bits & 255u) {
-    if (cached_has_bits & 0x00000001u) {
-      set_has_fragment_json();
-      fragment_json_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.fragment_json_);
+  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    if (from.has_handle()) {
+      mutable_handle()->::exec::bit::FragmentHandle::MergeFrom(from.handle());
     }
-    if (cached_has_bits & 0x00000002u) {
-      set_has_options_json();
-      options_json_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.options_json_);
+    if (from.has_network_cost()) {
+      set_network_cost(from.network_cost());
     }
-    if (cached_has_bits & 0x00000004u) {
-      mutable_handle()->::exec::bit::FragmentHandle::MergeFrom(from.handle());
+    if (from.has_cpu_cost()) {
+      set_cpu_cost(from.cpu_cost());
     }
-    if (cached_has_bits & 0x00000008u) {
-      mutable_assignment()->::exec::DrillbitEndpoint::MergeFrom(from.assignment());
+    if (from.has_disk_cost()) {
+      set_disk_cost(from.disk_cost());
     }
-    if (cached_has_bits & 0x00000010u) {
-      mutable_foreman()->::exec::DrillbitEndpoint::MergeFrom(from.foreman());
+    if (from.has_memory_cost()) {
+      set_memory_cost(from.memory_cost());
     }
-    if (cached_has_bits & 0x00000020u) {
-      mutable_credentials()->::exec::shared::UserCredentials::MergeFrom(from.credentials());
+    if (from.has_fragment_json()) {
+      set_fragment_json(from.fragment_json());
     }
-    if (cached_has_bits & 0x00000040u) {
-      mutable_context()->::exec::bit::control::QueryContextInformation::MergeFrom(from.context());
+    if (from.has_leaf_fragment()) {
+      set_leaf_fragment(from.leaf_fragment());
     }
-    if (cached_has_bits & 0x00000080u) {
-      network_cost_ = from.network_cost_;
+    if (from.has_assignment()) {
+      mutable_assignment()->::exec::DrillbitEndpoint::MergeFrom(from.assignment());
     }
-    _has_bits_[0] |= cached_has_bits;
   }
-  if (cached_has_bits & 16128u) {
-    if (cached_has_bits & 0x00000100u) {
-      cpu_cost_ = from.cpu_cost_;
+  if (from._has_bits_[8 / 32] & (0xffu << (8 % 32))) {
+    if (from.has_foreman()) {
+      mutable_foreman()->::exec::DrillbitEndpoint::MergeFrom(from.foreman());
     }
-    if (cached_has_bits & 0x00000200u) {
-      disk_cost_ = from.disk_cost_;
+    if (from.has_mem_initial()) {
+      set_mem_initial(from.mem_initial());
     }
-    if (cached_has_bits & 0x00000400u) {
-      memory_cost_ = from.memory_cost_;
+    if (from.has_mem_max()) {
+      set_mem_max(from.mem_max());
     }
-    if (cached_has_bits & 0x00000800u) {
-      leaf_fragment_ = from.leaf_fragment_;
+    if (from.has_credentials()) {
+      mutable_credentials()->::exec::shared::UserCredentials::MergeFrom(from.credentials());
     }
-    if (cached_has_bits & 0x00001000u) {
-      mem_initial_ = from.mem_initial_;
+    if (from.has_options_json()) {
+      set_options_json(from.options_json());
     }
-    if (cached_has_bits & 0x00002000u) {
-      mem_max_ = from.mem_max_;
+    if (from.has_context()) {
+      mutable_context()->::exec::bit::control::QueryContextInformation::MergeFrom(from.context());
     }
-    _has_bits_[0] |= cached_has_bits;
   }
+  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
 }
 
 void PlanFragment::CopyFrom(const ::google::protobuf::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:exec.bit.control.PlanFragment)
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
 void PlanFragment::CopyFrom(const PlanFragment& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:exec.bit.control.PlanFragment)
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
 bool PlanFragment::IsInitialized() const {
+
   return true;
 }
 
 void PlanFragment::Swap(PlanFragment* other) {
-  if (other == this) return;
-  InternalSwap(other);
-}
-void PlanFragment::InternalSwap(PlanFragment* other) {
-  using std::swap;
-  CastToBase(&collector_)->InternalSwap(CastToBase(&other->collector_));
-  fragment_json_.Swap(&other->fragment_json_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-    GetArenaNoVirtual());
-  options_json_.Swap(&other->options_json_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-    GetArenaNoVirtual());
-  swap(handle_, other->handle_);
-  swap(assignment_, other->assignment_);
-  swap(foreman_, other->foreman_);
-  swap(credentials_, other->credentials_);
-  swap(context_, other->context_);
-  swap(network_cost_, other->network_cost_);
-  swap(cpu_cost_, other->cpu_cost_);
-  swap(disk_cost_, other->disk_cost_);
-  swap(memory_cost_, other->memory_cost_);
-  swap(leaf_fragment_, other->leaf_fragment_);
-  swap(mem_initial_, other->mem_initial_);
-  swap(mem_max_, other->mem_max_);
-  swap(_has_bits_[0], other->_has_bits_[0]);
-  _internal_metadata_.Swap(&other->_internal_metadata_);
+  if (other != this) {
+    std::swap(handle_, other->handle_);
+    std::swap(network_cost_, other->network_cost_);
+    std::swap(cpu_cost_, other->cpu_cost_);
+    std::swap(disk_cost_, other->disk_cost_);
+    std::swap(memory_cost_, other->memory_cost_);
+    std::swap(fragment_json_, other->fragment_json_);
+    std::swap(leaf_fragment_, other->leaf_fragment_);
+    std::swap(assignment_, other->assignment_);
+    std::swap(foreman_, other->foreman_);
+    std::swap(mem_initial_, other->mem_initial_);
+    std::swap(mem_max_, other->mem_max_);
+    std::swap(credentials_, other->credentials_);
+    std::swap(options_json_, other->options_json_);
+    std::swap(context_, other->context_);
+    collector_.Swap(&other->collector_);
+    std::swap(_has_bits_[0], other->_has_bits_[0]);
+    _unknown_fields_.Swap(&other->_unknown_fields_);
+    std::swap(_cached_size_, other->_cached_size_);
+  }
 }
 
 ::google::protobuf::Metadata PlanFragment::GetMetadata() const {
-  protobuf_BitControl_2eproto::protobuf_AssignDescriptorsOnce();
-  return ::protobuf_BitControl_2eproto::file_level_metadata[kIndexInFileMessages];
+  protobuf_AssignDescriptorsOnce();
+  ::google::protobuf::Metadata metadata;
+  metadata.descriptor = PlanFragment_descriptor_;
+  metadata.reflection = PlanFragment_reflection_;
+  return metadata;
 }
 
 
 // ===================================================================
 
-void Collector::InitAsDefaultInstance() {
-}
-#if !defined(_MSC_VER) || _MSC_VER >= 1900
+#ifndef _MSC_VER
 const int Collector::kOppositeMajorFragmentIdFieldNumber;
 const int Collector::kIncomingMinorFragmentFieldNumber;
 const int Collector::kSupportsOutOfOrderFieldNumber;
 const int Collector::kIsSpoolingFieldNumber;
-#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+#endif  // !_MSC_VER
 
 Collector::Collector()
-  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  ::google::protobuf::internal::InitSCC(
-      &protobuf_BitControl_2eproto::scc_info_Collector.base);
+  : ::google::protobuf::Message() {
   SharedCtor();
-  // @@protoc_insertion_point(constructor:exec.bit.control.Collector)
 }
+
+void Collector::InitAsDefaultInstance() {
+}
+
 Collector::Collector(const Collector& from)
-  : ::google::protobuf::Message(),
-      _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_),
-      incoming_minor_fragment_(from.incoming_minor_fragment_) {
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  ::memcpy(&opposite_major_fragment_id_, &from.opposite_major_fragment_id_,
-    static_cast<size_t>(reinterpret_cast<char*>(&is_spooling_) -
-    reinterpret_cast<char*>(&opposite_major_fragment_id_)) + sizeof(is_spooling_));
-  // @@protoc_insertion_point(copy_constructor:exec.bit.control.Collector)
+  : ::google::protobuf::Message() {
+  SharedCtor();
+  MergeFrom(from);
 }
 
 void Collector::SharedCtor() {
-  ::memset(&opposite_major_fragment_id_, 0, static_cast<size_t>(
-      reinterpret_cast<char*>(&is_spooling_) -
-      reinterpret_cast<char*>(&opposite_major_fragment_id_)) + sizeof(is_spooling_));
+  _cached_size_ = 0;
+  opposite_major_fragment_id_ = 0;
+  supports_out_of_order_ = false;
+  is_spooling_ = false;
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
 }
 
 Collector::~Collector() {
-  // @@protoc_insertion_point(destructor:exec.bit.control.Collector)
   SharedDtor();
 }
 
 void Collector::SharedDtor() {
+  if (this != default_instance_) {
+  }
 }
 
 void Collector::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
 }
 const ::google::protobuf::Descriptor* Collector::descriptor() {
-  ::protobuf_BitControl_2eproto::protobuf_AssignDescriptorsOnce();
-  return ::protobuf_BitControl_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+  protobuf_AssignDescriptorsOnce();
+  return Collector_descriptor_;
 }
 
 const Collector& Collector::default_instance() {
-  ::google::protobuf::internal::InitSCC(&protobuf_BitControl_2eproto::scc_info_Collector.base);
-  return *internal_default_instance();
+  if (default_instance_ == NULL) protobuf_AddDesc_BitControl_2eproto();
+  return *default_instance_;
 }
 
+Collector* Collector::default_instance_ = NULL;
 
-void Collector::Clear() {
-// @@protoc_insertion_point(message_clear_start:exec.bit.control.Collector)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
+Collector* Collector::New() const {
+  return new Collector;
+}
 
-  incoming_minor_fragment_.Clear();
-  cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 7u) {
-    ::memset(&opposite_major_fragment_id_, 0, static_cast<size_t>(
-        reinterpret_cast<char*>(&is_spooling_) -
-        reinterpret_cast<char*>(&opposite_major_fragment_id_)) + sizeof(is_spooling_));
+void Collector::Clear() {
+  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    opposite_major_fragment_id_ = 0;
+    supports_out_of_order_ = false;
+    is_spooling_ = false;
   }
-  _has_bits_.Clear();
-  _internal_metadata_.Clear();
+  incoming_minor_fragment_.Clear();
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
+  mutable_unknown_fields()->Clear();
 }
 
 bool Collector::MergePartialFromCodedStream(
     ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   ::google::protobuf::uint32 tag;
-  // @@protoc_insertion_point(parse_start:exec.bit.control.Collector)
-  for (;;) {
-    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
-    tag = p.first;
-    if (!p.second) goto handle_unusual;
+  while ((tag = input->ReadTag()) != 0) {
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // optional int32 opposite_major_fragment_id = 1;
       case 1: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
-          set_has_opposite_major_fragment_id();
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                  input, &opposite_major_fragment_id_)));
+          set_has_opposite_major_fragment_id();
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
+        if (input->ExpectTag(18)) goto parse_incoming_minor_fragment;
         break;
       }
 
       // repeated int32 incoming_minor_fragment = 2 [packed = true];
       case 2: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+         parse_incoming_minor_fragment:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                  input, this->mutable_incoming_minor_fragment())));
-        } else if (
-            static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
+        } else if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag)
+                   == ::google::protobuf::internal::WireFormatLite::
+                      WIRETYPE_VARINT) {
           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
-                 1, 18u, input, this->mutable_incoming_minor_fragment())));
+                 1, 18, input, this->mutable_incoming_minor_fragment())));
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
+        if (input->ExpectTag(24)) goto parse_supports_out_of_order;
         break;
       }
 
       // optional bool supports_out_of_order = 3;
       case 3: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) {
-          set_has_supports_out_of_order();
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+         parse_supports_out_of_order:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                  input, &supports_out_of_order_)));
+          set_has_supports_out_of_order();
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
+        if (input->ExpectTag(32)) goto parse_is_spooling;
         break;
       }
 
       // optional bool is_spooling = 4;
       case 4: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) {
-          set_has_is_spooling();
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+         parse_is_spooling:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                  input, &is_spooling_)));
+          set_has_is_spooling();
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
+        if (input->ExpectAtEnd()) return true;
         break;
       }
 
       default: {
-      handle_unusual:
-        if (tag == 0) {
-          goto success;
+      handle_uninterpreted:
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
+          return true;
         }
         DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, _internal_metadata_.mutable_unknown_fields()));
+              input, tag, mutable_unknown_fields()));
         break;
       }
     }
   }
-success:
-  // @@protoc_insertion_point(parse_success:exec.bit.control.Collector)
   return true;
-failure:
-  // @@protoc_insertion_point(parse_failure:exec.bit.control.Collector)
-  return false;
 #undef DO_
 }
 
 void Collector::SerializeWithCachedSizes(
     ::google::protobuf::io::CodedOutputStream* output) const {
-  // @@protoc_insertion_point(serialize_start:exec.bit.control.Collector)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
   // optional int32 opposite_major_fragment_id = 1;
-  if (cached_has_bits & 0x00000001u) {
+  if (has_opposite_major_fragment_id()) {
     ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->opposite_major_fragment_id(), output);
   }
 
   // repeated int32 incoming_minor_fragment = 2 [packed = true];
   if (this->incoming_minor_fragment_size() > 0) {
     ::google::protobuf::internal::WireFormatLite::WriteTag(2, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
-    output->WriteVarint32(static_cast< ::google::protobuf::uint32>(
-        _incoming_minor_fragment_cached_byte_size_));
+    output->WriteVarint32(_incoming_minor_fragment_cached_byte_size_);
   }
-  for (int i = 0, n = this->incoming_minor_fragment_size(); i < n; i++) {
+  for (int i = 0; i < this->incoming_minor_fragment_size(); i++) {
     ::google::protobuf::internal::WireFormatLite::WriteInt32NoTag(
       this->incoming_minor_fragment(i), output);
   }
 
   // optional bool supports_out_of_order = 3;
-  if (cached_has_bits & 0x00000002u) {
+  if (has_supports_out_of_order()) {
     ::google::protobuf::internal::WireFormatLite::WriteBool(3, this->supports_out_of_order(), output);
   }
 
   // optional bool is_spooling = 4;
-  if (cached_has_bits & 0x00000004u) {
+  if (has_is_spooling()) {
     ::google::protobuf::internal::WireFormatLite::WriteBool(4, this->is_spooling(), output);
   }
 
-  if (_internal_metadata_.have_unknown_fields()) {
+  if (!unknown_fields().empty()) {
     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        _internal_metadata_.unknown_fields(), output);
+        unknown_fields(), output);
   }
-  // @@protoc_insertion_point(serialize_end:exec.bit.control.Collector)
 }
 
-::google::protobuf::uint8* Collector::InternalSerializeWithCachedSizesToArray(
-    bool deterministic, ::google::protobuf::uint8* target) const {
-  (void)deterministic; // Unused
-  // @@protoc_insertion_point(serialize_to_array_start:exec.bit.control.Collector)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
+::google::protobuf::uint8* Collector::SerializeWithCachedSizesToArray(
+    ::google::protobuf::uint8* target) const {
   // optional int32 opposite_major_fragment_id = 1;
-  if (cached_has_bits & 0x00000001u) {
+  if (has_opposite_major_fragment_id()) {
     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->opposite_major_fragment_id(), target);
   }
 
@@ -3095,56 +2722,34 @@ void Collector::SerializeWithCachedSizes(
       ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,
       target);
     target = ::google::protobuf::io::CodedOutputStream::WriteVarint32ToArray(
-        static_cast< ::google::protobuf::int32>(
-            _incoming_minor_fragment_cached_byte_size_), target);
+      _incoming_minor_fragment_cached_byte_size_, target);
+  }
+  for (int i = 0; i < this->incoming_minor_fragment_size(); i++) {
     target = ::google::protobuf::internal::WireFormatLite::
-      WriteInt32NoTagToArray(this->incoming_minor_fragment_, target);
+      WriteInt32NoTagToArray(this->incoming_minor_fragment(i), target);
   }
 
   // optional bool supports_out_of_order = 3;
-  if (cached_has_bits & 0x00000002u) {
+  if (has_supports_out_of_order()) {
     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(3, this->supports_out_of_order(), target);
   }
 
   // optional bool is_spooling = 4;
-  if (cached_has_bits & 0x00000004u) {
+  if (has_is_spooling()) {
     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(4, this->is_spooling(), target);
   }
 
-  if (_internal_metadata_.have_unknown_fields()) {
+  if (!unknown_fields().empty()) {
     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields(), target);
+        unknown_fields(), target);
   }
-  // @@protoc_insertion_point(serialize_to_array_end:exec.bit.control.Collector)
   return target;
 }
 
-size_t Collector::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:exec.bit.control.Collector)
-  size_t total_size = 0;
+int Collector::ByteSize() const {
+  int total_size = 0;
 
-  if (_internal_metadata_.have_unknown_fields()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        _internal_metadata_.unknown_fields());
-  }
-  // repeated int32 incoming_minor_fragment = 2 [packed = true];
-  {
-    size_t data_size = ::google::protobuf::internal::WireFormatLite::
-      Int32Size(this->incoming_minor_fragment_);
-    if (data_size > 0) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(
-            static_cast< ::google::protobuf::int32>(data_size));
-    }
-    int cached_size = ::google::protobuf::internal::ToCachedSize(data_size);
-    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-    _incoming_minor_fragment_cached_byte_size_ = cached_size;
-    GOOGLE_SAFE_CONCURRENT_WRITES_END();
-    total_size += data_size;
-  }
-
-  if (_has_bits_[0 / 32] & 7u) {
+  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
     // optional int32 opposite_major_fragment_id = 1;
     if (has_opposite_major_fragment_id()) {
       total_size += 1 +
@@ -3163,386 +2768,354 @@ size_t Collector::ByteSizeLong() const {
     }
 
   }
-  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
+  // repeated int32 incoming_minor_fragment = 2 [packed = true];
+  {
+    int data_size = 0;
+    for (int i = 0; i < this->incoming_minor_fragment_size(); i++) {
+      data_size += ::google::protobuf::internal::WireFormatLite::
+        Int32Size(this->incoming_minor_fragment(i));
+    }
+    if (data_size > 0) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::Int32Size(data_size);
+    }
+    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+    _incoming_minor_fragment_cached_byte_size_ = data_size;
+    GOOGLE_SAFE_CONCURRENT_WRITES_END();
+    total_size += data_size;
+  }
+
+  if (!unknown_fields().empty()) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        unknown_fields());
+  }
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = total_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
   return total_size;
 }
 
 void Collector::MergeFrom(const ::google::protobuf::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:exec.bit.control.Collector)
-  GOOGLE_DCHECK_NE(&from, this);
+  GOOGLE_CHECK_NE(&from, this);
   const Collector* source =
-      ::google::protobuf::internal::DynamicCastToGenerated<const Collector>(
-          &from);
+    ::google::protobuf::internal::dynamic_cast_if_available<const Collector*>(
+      &from);
   if (source == NULL) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.bit.control.Collector)
     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.bit.control.Collector)
     MergeFrom(*source);
   }
 }
 
 void Collector::MergeFrom(const Collector& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:exec.bit.control.Collector)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
+  GOOGLE_CHECK_NE(&from, this);
   incoming_minor_fragment_.MergeFrom(from.incoming_minor_fragment_);
-  cached_has_bits = from._has_bits_[0];
-  if (cached_has_bits & 7u) {
-    if (cached_has_bits & 0x00000001u) {
-      opposite_major_fragment_id_ = from.opposite_major_fragment_id_;
+  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    if (from.has_opposite_major_fragment_id()) {
+      set_opposite_major_fragment_id(from.opposite_major_fragment_id());
     }
-    if (cached_has_bits & 0x00000002u) {
-      supports_out_of_order_ = from.supports_out_of_order_;
+    if (from.has_supports_out_of_order()) {
+      set_supports_out_of_order(from.supports_out_of_order());
     }
-    if (cached_has_bits & 0x00000004u) {
-      is_spooling_ = from.is_spooling_;
+    if (from.has_is_spooling()) {
+      set_is_spooling(from.is_spooling());
     }
-    _has_bits_[0] |= cached_has_bits;
   }
+  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
 }
 
 void Collector::CopyFrom(const ::google::protobuf::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:exec.bit.control.Collector)
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
 void Collector::CopyFrom(const Collector& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:exec.bit.control.Collector)
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
 bool Collector::IsInitialized() const {
+
   return true;
 }
 
 void Collector::Swap(Collector* other) {
-  if (other == this) return;
-  InternalSwap(other);
-}
-void Collector::InternalSwap(Collector* other) {
-  using std::swap;
-  incoming_minor_fragment_.InternalSwap(&other->incoming_minor_fragment_);
-  swap(opposite_major_fragment_id_, other->opposite_major_fragment_id_);
-  swap(supports_out_of_order_, other->supports_out_of_order_);
-  swap(is_spooling_, other->is_spooling_);
-  swap(_has_bits_[0], other->_has_bits_[0]);
-  _internal_metadata_.Swap(&other->_internal_metadata_);
+  if (other != this) {
+    std::swap(opposite_major_fragment_id_, other->opposite_major_fragment_id_);
+    incoming_minor_fragment_.Swap(&other->incoming_minor_fragment_);
+    std::swap(supports_out_of_order_, other->supports_out_of_order_);
+    std::swap(is_spooling_, other->is_spooling_);
+    std::swap(_has_bits_[0], other->_has_bits_[0]);
+    _unknown_fields_.Swap(&other->_unknown_fields_);
+    std::swap(_cached_size_, other->_cached_size_);
+  }
 }
 
 ::google::protobuf::Metadata Collector::GetMetadata() const {
-  protobuf_BitControl_2eproto::protobuf_AssignDescriptorsOnce();
-  return ::protobuf_BitControl_2eproto::file_level_metadata[kIndexInFileMessages];
+  protobuf_AssignDescriptorsOnce();
+  ::google::protobuf::Metadata metadata;
+  metadata.descriptor = Collector_descriptor_;
+  metadata.reflection = Collector_reflection_;
+  return metadata;
 }
 
 
 // ===================================================================
 
-void QueryContextInformation::InitAsDefaultInstance() {
-}
-#if !defined(_MSC_VER) || _MSC_VER >= 1900
+#ifndef _MSC_VER
 const int QueryContextInformation::kQueryStartTimeFieldNumber;
 const int QueryContextInformation::kTimeZoneFieldNumber;
 const int QueryContextInformation::kDefaultSchemaNameFieldNumber;
 const int QueryContextInformation::kSessionIdFieldNumber;
-#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+#endif  // !_MSC_VER
 
 QueryContextInformation::QueryContextInformation()
-  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  ::google::protobuf::internal::InitSCC(
-      &protobuf_BitControl_2eproto::scc_info_QueryContextInformation.base);
+  : ::google::protobuf::Message() {
   SharedCtor();
-  // @@protoc_insertion_point(constructor:exec.bit.control.QueryContextInformation)
 }
+
+void QueryContextInformation::InitAsDefaultInstance() {
+}
+
 QueryContextInformation::QueryContextInformation(const QueryContextInformation& from)
-  : ::google::protobuf::Message(),
-      _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_) {
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  default_schema_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (from.has_default_schema_name()) {
-    default_schema_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.default_schema_name_);
-  }
-  session_id_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (from.has_session_id()) {
-    session_id_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.session_id_);
-  }
-  ::memcpy(&query_start_time_, &from.query_start_time_,
-    static_cast<size_t>(reinterpret_cast<char*>(&time_zone_) -
-    reinterpret_cast<char*>(&query_start_time_)) + sizeof(time_zone_));
-  // @@protoc_insertion_point(copy_constructor:exec.bit.control.QueryContextInformation)
+  : ::google::protobuf::Message() {
+  SharedCtor();
+  MergeFrom(from);
 }
 
 void QueryContextInformation::SharedCtor() {
-  default_schema_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  session_id_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  ::memset(&query_start_time_, 0, static_cast<size_t>(
-      reinterpret_cast<char*>(&time_zone_) -
-      reinterpret_cast<char*>(&query_start_time_)) + sizeof(time_zone_));
+  _cached_size_ = 0;
+  query_start_time_ = GOOGLE_LONGLONG(0);
+  time_zone_ = 0;
+  default_schema_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
+  session_id_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
 }
 
 QueryContextInformation::~QueryContextInformation() {
-  // @@protoc_insertion_point(destructor:exec.bit.control.QueryContextInformation)
   SharedDtor();
 }
 
 void QueryContextInformation::SharedDtor() {
-  default_schema_name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  session_id_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (default_schema_name_ != &::google::protobuf::internal::kEmptyString) {
+    delete default_schema_name_;
+  }
+  if (session_id_ != &::google::protobuf::internal::kEmptyString) {
+    delete session_id_;
+  }
+  if (this != default_instance_) {
+  }
 }
 
 void QueryContextInformation::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
 }
 const ::google::protobuf::Descriptor* QueryContextInformation::descriptor() {
-  ::protobuf_BitControl_2eproto::protobuf_AssignDescriptorsOnce();
-  return ::protobuf_BitControl_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+  protobuf_AssignDescriptorsOnce();
+  return QueryContextInformation_descriptor_;
 }
 
 const QueryContextInformation& QueryContextInformation::default_instance() {
-  ::google::protobuf::internal::InitSCC(&protobuf_BitControl_2eproto::scc_info_QueryContextInformation.base);
-  return *internal_default_instance();
+  if (default_instance_ == NULL) protobuf_AddDesc_BitControl_2eproto();
+  return *default_instance_;
 }
 
+QueryContextInformation* QueryContextInformation::default_instance_ = NULL;
+
+QueryContextInformation* QueryContextInformation::New() const {
+  return new QueryContextInformation;
+}
 
 void QueryContextInformation::Clear() {
-// @@protoc_insertion_point(message_clear_start:exec.bit.control.QueryContextInformation)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 3u) {
-    if (cached_has_bits & 0x00000001u) {
-      default_schema_name_.ClearNonDefaultToEmptyNoArena();
+  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    query_start_time_ = GOOGLE_LONGLONG(0);
+    time_zone_ = 0;
+    if (has_default_schema_name()) {
+      if (default_schema_name_ != &::google::protobuf::internal::kEmptyString) {
+        default_schema_name_->clear();
+      }
     }
-    if (cached_has_bits & 0x00000002u) {
-      session_id_.ClearNonDefaultToEmptyNoArena();
+    if (has_session_id()) {
+      if (session_id_ != &::google::protobuf::internal::kEmptyString) {
+        session_id_->clear();
+      }
     }
   }
-  if (cached_has_bits & 12u) {
-    ::memset(&query_start_time_, 0, static_cast<size_t>(
-        reinterpret_cast<char*>(&time_zone_) -
-        reinterpret_cast<char*>(&query_start_time_)) + sizeof(time_zone_));
-  }
-  _has_bits_.Clear();
-  _internal_metadata_.Clear();
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
+  mutable_unknown_fields()->Clear();
 }
 
 bool QueryContextInformation::MergePartialFromCodedStream(
     ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   ::google::protobuf::uint32 tag;
-  // @@protoc_insertion_point(parse_start:exec.bit.control.QueryContextInformation)
-  for (;;) {
-    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
-    tag = p.first;
-    if (!p.second) goto handle_unusual;
+  while ((tag = input->ReadTag()) != 0) {
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // optional int64 query_start_time = 1;
       case 1: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
-          set_has_query_start_time();
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
                  input, &query_start_time_)));
+          set_has_query_start_time();
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
+        if (input->ExpectTag(16)) goto parse_time_zone;
         break;
       }
 
       // optional int32 time_zone = 2;
       case 2: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
-          set_has_time_zone();
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+         parse_time_zone:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                  input, &time_zone_)));
+          set_has_time_zone();
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
+        if (input->ExpectTag(26)) goto parse_default_schema_name;
         break;
       }
 
       // optional string default_schema_name = 3;
       case 3: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+         parse_default_schema_name:
           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                 input, this->mutable_default_schema_name()));
-          ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
-            this->default_schema_name().data(), static_cast<int>(this->default_schema_name().length()),
-            ::google::protobuf::internal::WireFormat::PARSE,
-            "exec.bit.control.QueryContextInformation.default_schema_name");
+          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
+            this->default_schema_name().data(), this->default_schema_name().length(),
+            ::google::protobuf::internal::WireFormat::PARSE);
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
+        if (input->ExpectTag(34)) goto parse_session_id;
         break;
       }
 
       // optional string session_id = 4;
       case 4: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+         parse_session_id:
           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                 input, this->mutable_session_id()));
-          ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
-            this->session_id().data(), static_cast<int>(this->session_id().length()),
-            ::google::protobuf::internal::WireFormat::PARSE,
-            "exec.bit.control.QueryContextInformation.session_id");
+          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
+            this->session_id().data(), this->session_id().length(),
+            ::google::protobuf::internal::WireFormat::PARSE);
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
+        if (input->ExpectAtEnd()) return true;
         break;
       }
 
       default: {
-      handle_unusual:
-        if (tag == 0) {
-          goto success;
+      handle_uninterpreted:
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
+          return true;
         }
         DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, _internal_metadata_.mutable_unknown_fields()));
+              input, tag, mutable_unknown_fields()));
         break;
       }
     }
   }
-success:
-  // @@protoc_insertion_point(parse_success:exec.bit.control.QueryContextInformation)
   return true;
-failure:
-  // @@protoc_insertion_point(parse_failure:exec.bit.control.QueryContextInformation)
-  return false;
 #undef DO_
 }
 
 void QueryContextInformation::SerializeWithCachedSizes(
     ::google::protobuf::io::CodedOutputStream* output) const {
-  // @@protoc_insertion_point(serialize_start:exec.bit.control.QueryContextInformation)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
   // optional int64 query_start_time = 1;
-  if (cached_has_bits & 0x00000004u) {
+  if (has_query_start_time()) {
     ::google::protobuf::internal::WireFormatLite::WriteInt64(1, this->query_start_time(), output);
   }
 
   // optional int32 time_zone = 2;
-  if (cached_has_bits & 0x00000008u) {
+  if (has_time_zone()) {
     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->time_zone(), output);
   }
 
   // optional string default_schema_name = 3;
-  if (cached_has_bits & 0x00000001u) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
-      this->default_schema_name().data(), static_cast<int>(this->default_schema_name().length()),
-      ::google::protobuf::internal::WireFormat::SERIALIZE,
-      "exec.bit.control.QueryContextInformation.default_schema_name");
-    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+  if (has_default_schema_name()) {
+    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
+      this->default_schema_name().data(), this->default_schema_name().length(),
+      ::google::protobuf::internal::WireFormat::SERIALIZE);
+    ::google::protobuf::internal::WireFormatLite::WriteString(
       3, this->default_schema_name(), output);
   }
 
   // optional string session_id = 4;
-  if (cached_has_bits & 0x00000002u) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
-      this->session_id().data(), static_cast<int>(this->session_id().length()),
-      ::google::protobuf::internal::WireFormat::SERIALIZE,
-      "exec.bit.control.QueryContextInformation.session_id");
-    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+  if (has_session_id()) {
+    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
+      this->session_id().data(), this->session_id().length(),
+      ::google::protobuf::internal::WireFormat::SERIALIZE);
+    ::google::protobuf::internal::WireFormatLite::WriteString(
       4, this->session_id(), output);
   }
 
-  if (_internal_metadata_.have_unknown_fields()) {
+  if (!unknown_fields().empty()) {
     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        _internal_metadata_.unknown_fields(), output);
+        unknown_fields(), output);
   }
-  // @@protoc_insertion_point(serialize_end:exec.bit.control.QueryContextInformation)
 }
 
-::google::protobuf::uint8* QueryContextInformation::InternalSerializeWithCachedSizesToArray(
-    bool deterministic, ::google::protobuf::uint8* target) const {
-  (void)deterministic; // Unused
-  // @@protoc_insertion_point(serialize_to_array_start:exec.bit.control.QueryContextInformation)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
+::google::protobuf::uint8* QueryContextInformation::SerializeWithCachedSizesToArray(
+    ::google::protobuf::uint8* target) const {
   // optional int64 query_start_time = 1;
-  if (cached_has_bits & 0x00000004u) {
+  if (has_query_start_time()) {
     target = ::google::protobuf::internal::WireFormatLite::WriteInt64ToArray(1, this->query_start_time(), target);
   }
 
   // optional int32 time_zone = 2;
-  if (cached_has_bits & 0x00000008u) {
+  if (has_time_zone()) {
     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->time_zone(), target);
   }
 
   // optional string default_schema_name = 3;
-  if (cached_has_bits & 0x00000001u) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
-      this->default_schema_name().data(), static_cast<int>(this->default_schema_name().length()),
-      ::google::protobuf::internal::WireFormat::SERIALIZE,
-      "exec.bit.control.QueryContextInformation.default_schema_name");
+  if (has_default_schema_name()) {
+    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
+      this->default_schema_name().data(), this->default_schema_name().length(),
+      ::google::protobuf::internal::WireFormat::SERIALIZE);
     target =
       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
         3, this->default_schema_name(), target);
   }
 
   // optional string session_id = 4;
-  if (cached_has_bits & 0x00000002u) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
-      this->session_id().data(), static_cast<int>(this->session_id().length()),
-      ::google::protobuf::internal::WireFormat::SERIALIZE,
-      "exec.bit.control.QueryContextInformation.session_id");
+  if (has_session_id()) {
+    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
+      this->session_id().data(), this->session_id().length(),
+      ::google::protobuf::internal::WireFormat::SERIALIZE);
     target =
       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
         4, this->session_id(), target);
   }
 
-  if (_internal_metadata_.have_unknown_fields()) {
+  if (!unknown_fields().empty()) {
     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields(), target);
+        unknown_fields(), target);
   }
-  // @@protoc_insertion_point(serialize_to_array_end:exec.bit.control.QueryContextInformation)
   return target;
 }
 
-size_t QueryContextInformation::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:exec.bit.control.QueryContextInformation)
-  size_t total_size = 0;
-
-  if (_internal_metadata_.have_unknown_fields()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        _internal_metadata_.unknown_fields());
-  }
-  if (_has_bits_[0 / 32] & 15u) {
-    // optional string default_schema_name = 3;
-    if (has_default_schema_name()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->default_schema_name());
-    }
-
-    // optional string session_id = 4;
-    if (has_session_id()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->session_id());
-    }
+int QueryContextInformation::ByteSize() const {
+  int total_size = 0;
 
+  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
     // optional int64 query_start_time = 1;
     if (has_query_start_time()) {
       total_size += 1 +
@@ -3557,337 +3130,301 @@ size_t QueryContextInformation::ByteSizeLong() const {
           this->time_zone());
     }
 
+    // optional string default_schema_name = 3;
+    if (has_default_schema_name()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::StringSize(
+          this->default_schema_name());
+    }
+
+    // optional string session_id = 4;
+    if (has_session_id()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::StringSize(
+          this->session_id());
+    }
+
+  }
+  if (!unknown_fields().empty()) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        unknown_fields());
   }
-  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = total_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
   return total_size;
 }
 
 void QueryContextInformation::MergeFrom(const ::google::protobuf::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:exec.bit.control.QueryContextInformation)
-  GOOGLE_DCHECK_NE(&from, this);
+  GOOGLE_CHECK_NE(&from, this);
   const QueryContextInformation* source =
-      ::google::protobuf::internal::DynamicCastToGenerated<const QueryContextInformation>(
-          &from);
+    ::google::protobuf::internal::dynamic_cast_if_available<const QueryContextInformation*>(
+      &from);
   if (source == NULL) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.bit.control.QueryContextInformation)
     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.bit.control.QueryContextInformation)
     MergeFrom(*source);
   }
 }
 
 void QueryContextInformation::MergeFrom(const QueryContextInformation& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:exec.bit.control.QueryContextInformation)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = from._has_bits_[0];
-  if (cached_has_bits & 15u) {
-    if (cached_has_bits & 0x00000001u) {
-      set_has_default_schema_name();
-      default_schema_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.default_schema_name_);
+  GOOGLE_CHECK_NE(&from, this);
+  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    if (from.has_query_start_time()) {
+      set_query_start_time(from.query_start_time());
     }
-    if (cached_has_bits & 0x00000002u) {
-      set_has_session_id();
-      session_id_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.session_id_);
+    if (from.has_time_zone()) {
+      set_time_zone(from.time_zone());
     }
-    if (cached_has_bits & 0x00000004u) {
-      query_start_time_ = from.query_start_time_;
+    if (from.has_default_schema_name()) {
+      set_default_schema_name(from.default_schema_name());
     }
-    if (cached_has_bits & 0x00000008u) {
-      time_zone_ = from.time_zone_;
+    if (from.has_session_id()) {
+      set_session_id(from.session_id());
     }
-    _has_bits_[0] |= cached_has_bits;
   }
+  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
 }
 
 void QueryContextInformation::CopyFrom(const ::google::protobuf::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:exec.bit.control.QueryContextInformation)
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
 void QueryContextInformation::CopyFrom(const QueryContextInformation& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:exec.bit.control.QueryContextInformation)
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
 bool QueryContextInformation::IsInitialized() const {
+
   return true;
 }
 
 void QueryContextInformation::Swap(QueryContextInformation* other) {
-  if (other == this) return;
-  InternalSwap(other);
-}
-void QueryContextInformation::InternalSwap(QueryContextInformation* other) {
-  using std::swap;
-  default_schema_name_.Swap(&other->default_schema_name_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-    GetArenaNoVirtual());
-  session_id_.Swap(&other->session_id_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-    GetArenaNoVirtual());
-  swap(query_start_time_, other->query_start_time_);
-  swap(time_zone_, other->time_zone_);
-  swap(_has_bits_[0], other->_has_bits_[0]);
-  _internal_metadata_.Swap(&other->_internal_metadata_);
+  if (other != this) {
+    std::swap(query_start_time_, other->query_start_time_);
+    std::swap(time_zone_, other->time_zone_);
+    std::swap(default_schema_name_, other->default_schema_name_);
+    std::swap(session_id_, other->session_id_);
+    std::swap(_has_bits_[0], other->_has_bits_[0]);
+    _unknown_fields_.Swap(&other->_unknown_fields_);
+    std::swap(_cached_size_, other->_cached_size_);
+  }
 }
 
 ::google::protobuf::Metadata QueryContextInformation::GetMetadata() const {
-  protobuf_BitControl_2eproto::protobuf_AssignDescriptorsOnce();
-  return ::protobuf_BitControl_2eproto::file_level_metadata[kIndexInFileMessages];
+  protobuf_AssignDescriptorsOnce();
+  ::google::protobuf::Metadata metadata;
+  metadata.descriptor = QueryContextInformation_descriptor_;
+  metadata.reflection = QueryContextInformation_reflection_;
+  return metadata;
 }
 
 
 // ===================================================================
 
-void WorkQueueStatus::InitAsDefaultInstance() {
-  ::exec::bit::control::_WorkQueueStatus_default_instance_._instance.get_mutable()->endpoint_ = const_cast< ::exec::DrillbitEndpoint*>(
-      ::exec::DrillbitEndpoint::internal_default_instance());
-}
-void WorkQueueStatus::clear_endpoint() {
-  if (endpoint_ != NULL) endpoint_->Clear();
-  clear_has_endpoint();
-}
-#if !defined(_MSC_VER) || _MSC_VER >= 1900
+#ifndef _MSC_VER
 const int WorkQueueStatus::kEndpointFieldNumber;
 const int WorkQueueStatus::kQueueLengthFieldNumber;
 const int WorkQueueStatus::kReportTimeFieldNumber;
-#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+#endif  // !_MSC_VER
 
 WorkQueueStatus::WorkQueueStatus()
-  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  ::google::protobuf::internal::InitSCC(
-      &protobuf_BitControl_2eproto::scc_info_WorkQueueStatus.base);
+  : ::google::protobuf::Message() {
   SharedCtor();
-  // @@protoc_insertion_point(constructor:exec.bit.control.WorkQueueStatus)
 }
+
+void WorkQueueStatus::InitAsDefaultInstance() {
+  endpoint_ = const_cast< ::exec::DrillbitEndpoint*>(&::exec::DrillbitEndpoint::default_instance());
+}
+
 WorkQueueStatus::WorkQueueStatus(const WorkQueueStatus& from)
-  : ::google::protobuf::Message(),
-      _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_) {
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  if (from.has_endpoint()) {
-    endpoint_ = new ::exec::DrillbitEndpoint(*from.endpoint_);
-  } else {
-    endpoint_ = NULL;
-  }
-  ::memcpy(&report_time_, &from.report_time_,
-    static_cast<size_t>(reinterpret_cast<char*>(&queue_length_) -
-    reinterpret_cast<char*>(&report_time_)) + sizeof(queue_length_));
-  // @@protoc_insertion_point(copy_constructor:exec.bit.control.WorkQueueStatus)
+  : ::google::protobuf::Message() {
+  SharedCtor();
+  MergeFrom(from);
 }
 
 void WorkQueueStatus::SharedCtor() {
-  ::memset(&endpoint_, 0, static_cast<size_t>(
-      reinterpret_cast<char*>(&queue_length_) -
-      reinterpret_cast<char*>(&endpoint_)) + sizeof(queue_length_));
+  _cached_size_ = 0;
+  endpoint_ = NULL;
+  queue_length_ = 0;
+  report_time_ = GOOGLE_LONGLONG(0);
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
 }
 
 WorkQueueStatus::~WorkQueueStatus() {
-  // @@protoc_insertion_point(destructor:exec.bit.control.WorkQueueStatus)
   SharedDtor();
 }
 
 void WorkQueueStatus::SharedDtor() {
-  if (this != internal_default_instance()) delete endpoint_;
+  if (this != default_instance_) {
+    delete endpoint_;
+  }
 }
 
 void WorkQueueStatus::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
 }
 const ::google::protobuf::Descriptor* WorkQueueStatus::descriptor() {
-  ::protobuf_BitControl_2eproto::protobuf_AssignDescriptorsOnce();
-  return ::protobuf_BitControl_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+  protobuf_AssignDescriptorsOnce();
+  return WorkQueueStatus_descriptor_;
 }
 
 const WorkQueueStatus& WorkQueueStatus::default_instance() {
-  ::google::protobuf::internal::InitSCC(&protobuf_BitControl_2eproto::scc_info_WorkQueueStatus.base);
-  return *internal_default_instance();
+  if (default_instance_ == NULL) protobuf_AddDesc_BitControl_2eproto();
+  return *default_instance_;
 }
 
+WorkQueueStatus* WorkQueueStatus::default_instance_ = NULL;
 
-void WorkQueueStatus::Clear() {
-// @@protoc_insertion_point(message_clear_start:exec.bit.control.WorkQueueStatus)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
+WorkQueueStatus* WorkQueueStatus::New() const {
+  return new WorkQueueStatus;
+}
 
-  cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 0x00000001u) {
-    GOOGLE_DCHECK(endpoint_ != NULL);
-    endpoint_->Clear();
-  }
-  if (cached_has_bits & 6u) {
-    ::memset(&report_time_, 0, static_cast<size_t>(
-        reinterpret_cast<char*>(&queue_length_) -
-        reinterpret_cast<char*>(&report_time_)) + sizeof(queue_length_));
+void WorkQueueStatus::Clear() {
+  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    if (has_endpoint()) {
+      if (endpoint_ != NULL) endpoint_->::exec::DrillbitEndpoint::Clear();
+    }
+    queue_length_ = 0;
+    report_time_ = GOOGLE_LONGLONG(0);
   }
-  _has_bits_.Clear();
-  _internal_metadata_.Clear();
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
+  mutable_unknown_fields()->Clear();
 }
 
 bool WorkQueueStatus::MergePartialFromCodedStream(
     ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   ::google::protobuf::uint32 tag;
-  // @@protoc_insertion_point(parse_start:exec.bit.control.WorkQueueStatus)
-  for (;;) {
-    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
-    tag = p.first;
-    if (!p.second) goto handle_unusual;
+  while ((tag = input->ReadTag()) != 0) {
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // optional .exec.DrillbitEndpoint endpoint = 1;
       case 1: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_endpoint()));
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
+        if (input->ExpectTag(16)) goto parse_queue_length;
         break;
       }
 
       // optional int32 queue_length = 2;
       case 2: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
-          set_has_queue_length();
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+         parse_queue_length:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                  input, &queue_length_)));
+          set_has_queue_length();
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
+        if (input->ExpectTag(24)) goto parse_report_time;
         break;
       }
 
       // optional int64 report_time = 3;
       case 3: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) {
-          set_has_report_time();
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+         parse_report_time:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
                  input, &report_time_)));
+          set_has_report_time();
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
+        if (input->ExpectAtEnd()) return true;
         break;
       }
 
       default: {
-      handle_unusual:
-        if (tag == 0) {
-          goto success;
+      handle_uninterpreted:
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
+          return true;
         }
         DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, _internal_metadata_.mutable_unknown_fields()));
+              input, tag, mutable_unknown_fields()));
         break;
       }
     }
   }
-success:
-  // @@protoc_insertion_point(parse_success:exec.bit.control.WorkQueueStatus)
   return true;
-failure:
-  // @@protoc_insertion_point(parse_failure:exec.bit.control.WorkQueueStatus)
-  return false;
 #undef DO_
 }
 
 void WorkQueueStatus::SerializeWithCachedSizes(
     ::google::protobuf::io::CodedOutputStream* output) const {
-  // @@protoc_insertion_point(serialize_start:exec.bit.control.WorkQueueStatus)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
   // optional .exec.DrillbitEndpoint endpoint = 1;
-  if (cached_has_bits & 0x00000001u) {
+  if (has_endpoint()) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      1, this->_internal_endpoint(), output);
+      1, this->endpoint(), output);
   }
 
   // optional int32 queue_length = 2;
-  if (cached_has_bits & 0x00000004u) {
+  if (has_queue_length()) {
     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->queue_length(), output);
   }
 
   // optional int64 report_time = 3;
-  if (cached_has_bits & 0x00000002u) {
+  if (has_report_time()) {
     ::google::protobuf::internal::WireFormatLite::WriteInt64(3, this->report_time(), output);
   }
 
-  if (_internal_metadata_.have_unknown_fields()) {
+  if (!unknown_fields().empty()) {
     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        _internal_metadata_.unknown_fields(), output);
+        unknown_fields(), output);
   }
-  // @@protoc_insertion_point(serialize_end:exec.bit.control.WorkQueueStatus)
 }
 
-::google::protobuf::uint8* WorkQueueStatus::InternalSerializeWithCachedSizesToArray(
-    bool deterministic, ::google::protobuf::uint8* target) const {
-  (void)deterministic; // Unused
-  // @@protoc_insertion_point(serialize_to_array_start:exec.bit.control.WorkQueueStatus)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
+::google::protobuf::uint8* WorkQueueStatus::SerializeWithCachedSizesToArray(
+    ::google::protobuf::uint8* target) const {
   // optional .exec.DrillbitEndpoint endpoint = 1;
-  if (cached_has_bits & 0x00000001u) {
+  if (has_endpoint()) {
     target = ::google::protobuf::internal::WireFormatLite::
-      InternalWriteMessageToArray(
-        1, this->_internal_endpoint(), deterministic, target);
+      WriteMessageNoVirtualToArray(
+        1, this->endpoint(), target);
   }
 
   // optional int32 queue_length = 2;
-  if (cached_has_bits & 0x00000004u) {
+  if (has_queue_length()) {
     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->queue_length(), target);
   }
 
   // optional int64 report_time = 3;
-  if (cached_has_bits & 0x00000002u) {
+  if (has_report_time()) {
     target = ::google::protobuf::internal::WireFormatLite::WriteInt64ToArray(3, this->report_time(), target);
   }
 
-  if (_internal_metadata_.have_unknown_fields()) {
+  if (!unknown_fields().empty()) {
     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields(), target);
+        unknown_fields(), target);
   }
-  // @@protoc_insertion_point(serialize_to_array_end:exec.bit.control.WorkQueueStatus)
   return target;
 }
 
-size_t WorkQueueStatus::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:exec.bit.control.WorkQueueStatus)
-  size_t total_size = 0;
+int WorkQueueStatus::ByteSize() const {
+  int total_size = 0;
 
-  if (_internal_metadata_.have_unknown_fields()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        _internal_metadata_.unknown_fields());
-  }
-  if (_has_bits_[0 / 32] & 7u) {
+  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
     // optional .exec.DrillbitEndpoint endpoint = 1;
     if (has_endpoint()) {
       total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSize(
-          *endpoint_);
-    }
-
-    // optional int64 report_time = 3;
-    if (has_report_time()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int64Size(
-          this->report_time());
+        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+          this->endpoint());
     }
 
     // optional int32 queue_length = 2;
@@ -3897,429 +3434,352 @@ size_t WorkQueueStatus::ByteSizeLong() const {
           this->queue_length());
     }
 
+    // optional int64 report_time = 3;
+    if (has_report_time()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::Int64Size(
+          this->report_time());
+    }
+
+  }
+  if (!unknown_fields().empty()) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        unknown_fields());
   }
-  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = total_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
   return total_size;
 }
 
 void WorkQueueStatus::MergeFrom(const ::google::protobuf::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:exec.bit.control.WorkQueueStatus)
-  GOOGLE_DCHECK_NE(&from, this);
+  GOOGLE_CHECK_NE(&from, this);
   const WorkQueueStatus* source =
-      ::google::protobuf::internal::DynamicCastToGenerated<const WorkQueueStatus>(
-          &from);
+    ::google::protobuf::internal::dynamic_cast_if_available<const WorkQueueStatus*>(
+      &from);
   if (source == NULL) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.bit.control.WorkQueueStatus)
     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.bit.control.WorkQueueStatus)
     MergeFrom(*source);
   }
 }
 
 void WorkQueueStatus::MergeFrom(const WorkQueueStatus& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:exec.bit.control.WorkQueueStatus)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = from._has_bits_[0];
-  if (cached_has_bits & 7u) {
-    if (cached_has_bits & 0x00000001u) {
+  GOOGLE_CHECK_NE(&from, this);
+  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    if (from.has_endpoint()) {
       mutable_endpoint()->::exec::DrillbitEndpoint::MergeFrom(from.endpoint());
     }
-    if (cached_has_bits & 0x00000002u) {
-      report_time_ = from.report_time_;
+    if (from.has_queue_length()) {
+      set_queue_length(from.queue_length());
     }
-    if (cached_has_bits & 0x00000004u) {
-      queue_length_ = from.queue_length_;
+    if (from.has_report_time()) {
+      set_report_time(from.report_time());
     }
-    _has_bits_[0] |= cached_has_bits;
   }
+  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
 }
 
 void WorkQueueStatus::CopyFrom(const ::google::protobuf::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:exec.bit.control.WorkQueueStatus)
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
 void WorkQueueStatus::CopyFrom(const WorkQueueStatus& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:exec.bit.control.WorkQueueStatus)
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
 bool WorkQueueStatus::IsInitialized() const {
+
   return true;
 }
 
 void WorkQueueStatus::Swap(WorkQueueStatus* other) {
-  if (other == this) return;
-  InternalSwap(other);
-}
-void WorkQueueStatus::InternalSwap(WorkQueueStatus* other) {
-  using std::swap;
-  swap(endpoint_, other->endpoint_);
-  swap(report_time_, other->report_time_);
-  swap(queue_length_, other->queue_length_);
-  swap(_has_bits_[0], other->_has_bits_[0]);
-  _internal_metadata_.Swap(&other->_internal_metadata_);
+  if (other != this) {
+    std::swap(endpoint_, other->endpoint_);
+    std::swap(queue_length_, other->queue_length_);
+    std::swap(report_time_, other->report_time_);
+    std::swap(_has_bits_[0], other->_has_bits_[0]);
+    _unknown_fields_.Swap(&other->_unknown_fields_);
+    std::swap(_cached_size_, other->_cached_size_);
+  }
 }
 
 ::google::protobuf::Metadata WorkQueueStatus::GetMetadata() const {
-  protobuf_BitControl_2eproto::protobuf_AssignDescriptorsOnce();
-  return ::protobuf_BitControl_2eproto::file_level_metadata[kIndexInFileMessages];
+  protobuf_AssignDescriptorsOnce();
+  ::google::protobuf::Metadata metadata;
+  metadata.descriptor = WorkQueueStatus_descriptor_;
+  metadata.reflection = WorkQueueStatus_reflection_;
+  return metadata;
 }
 
 
 // ===================================================================
 
-void FinishedReceiver::InitAsDefaultInstance() {
-  ::exec::bit::control::_FinishedReceiver_default_instance_._instance.get_mutable()->receiver_ = const_cast< ::exec::bit::FragmentHandle*>(
-      ::exec::bit::FragmentHandle::internal_default_instance());
-  ::exec::bit::control::_FinishedReceiver_default_instance_._instance.get_mutable()->sender_ = const_cast< ::exec::bit::FragmentHandle*>(
-      ::exec::bit::FragmentHandle::internal_default_instance());
-}
-void FinishedReceiver::clear_receiver() {
-  if (receiver_ != NULL) receiver_->Clear();
-  clear_has_receiver();
-}
-void FinishedReceiver::clear_sender() {
-  if (sender_ != NULL) sender_->Clear();
-  clear_has_sender();
-}
-#if !defined(_MSC_VER) || _MSC_VER >= 1900
+#ifndef _MSC_VER
 const int FinishedReceiver::kReceiverFieldNumber;
 const int FinishedReceiver::kSenderFieldNumber;
-#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+#endif  // !_MSC_VER
 
 FinishedReceiver::FinishedReceiver()
-  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  ::google::protobuf::internal::InitSCC(
-      &protobuf_BitControl_2eproto::scc_info_FinishedReceiver.base);
+  : ::google::protobuf::Message() {
   SharedCtor();
-  // @@protoc_insertion_point(constructor:exec.bit.control.FinishedReceiver)
 }
+
+void FinishedReceiver::InitAsDefaultInstance() {
+  receiver_ = const_cast< ::exec::bit::FragmentHandle*>(&::exec::bit::FragmentHandle::default_instance());
+  sender_ = const_cast< ::exec::bit::FragmentHandle*>(&::exec::bit::FragmentHandle::default_instance());
+}
+
 FinishedReceiver::FinishedReceiver(const FinishedReceiver& from)
-  : ::google::protobuf::Message(),
-      _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_) {
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  if (from.has_receiver()) {
-    receiver_ = new ::exec::bit::FragmentHandle(*from.receiver_);
-  } else {
-    receiver_ = NULL;
-  }
-  if (from.has_sender()) {
-    sender_ = new ::exec::bit::FragmentHandle(*from.sender_);
-  } else {
-    sender_ = NULL;
-  }
-  // @@protoc_insertion_point(copy_constructor:exec.bit.control.FinishedReceiver)
+  : ::google::protobuf::Message() {
+  SharedCtor();
+  MergeFrom(from);
 }
 
 void FinishedReceiver::SharedCtor() {
-  ::memset(&receiver_, 0, static_cast<size_t>(
-      reinterpret_cast<char*>(&sender_) -
-      reinterpret_cast<char*>(&receiver_)) + sizeof(sender_));
+  _cached_size_ = 0;
+  receiver_ = NULL;
+  sender_ = NULL;
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
 }
 
 FinishedReceiver::~FinishedReceiver() {
-  // @@protoc_insertion_point(destructor:exec.bit.control.FinishedReceiver)
   SharedDtor();
 }
 
 void FinishedReceiver::SharedDtor() {
-  if (this != internal_default_instance()) delete receiver_;
-  if (this != internal_default_instance()) delete sender_;
+  if (this != default_instance_) {
+    delete receiver_;
+    delete sender_;
+  }
 }
 
 void FinishedReceiver::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
 }
 const ::google::protobuf::Descriptor* FinishedReceiver::descriptor() {
-  ::protobuf_BitControl_2eproto::protobuf_AssignDescriptorsOnce();
-  return ::protobuf_BitControl_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+  protobuf_AssignDescriptorsOnce();
+  return FinishedReceiver_descriptor_;
 }
 
 const FinishedReceiver& FinishedReceiver::default_instance() {
-  ::google::protobuf::internal::InitSCC(&protobuf_BitControl_2eproto::scc_info_FinishedReceiver.base);
-  return *internal_default_instance();
+  if (default_instance_ == NULL) protobuf_AddDesc_BitControl_2eproto();
+  return *default_instance_;
 }
 
+FinishedReceiver* FinishedReceiver::default_instance_ = NULL;
+
+FinishedReceiver* FinishedReceiver::New() const {
+  return new FinishedReceiver;
+}
 
 void FinishedReceiver::Clear() {
-// @@protoc_insertion_point(message_clear_start:exec.bit.control.FinishedReceiver)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 3u) {
-    if (cached_has_bits & 0x00000001u) {
-      GOOGLE_DCHECK(receiver_ != NULL);
-      receiver_->Clear();
+  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    if (has_receiver()) {
+      if (receiver_ != NULL) receiver_->::exec::bit::FragmentHandle::Clear();
     }
-    if (cached_has_bits & 0x00000002u) {
-      GOOGLE_DCHECK(sender_ != NULL);
-      sender_->Clear();
+    if (has_sender()) {
+      if (sender_ != NULL) sender_->::exec::bit::FragmentHandle::Clear();
     }
   }
-  _has_bits_.Clear();
-  _internal_metadata_.Clear();
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
+  mutable_unknown_fields()->Clear();
 }
 
 bool FinishedReceiver::MergePartialFromCodedStream(
     ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   ::google::protobuf::uint32 tag;
-  // @@protoc_insertion_point(parse_start:exec.bit.control.FinishedReceiver)
-  for (;;) {
-    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
-    tag = p.first;
-    if (!p.second) goto handle_unusual;
+  while ((tag = input->ReadTag()) != 0) {
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // optional .exec.bit.FragmentHandle receiver = 1;
       case 1: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_receiver()));
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
+        if (input->ExpectTag(18)) goto parse_sender;
         break;
       }
 
       // optional .exec.bit.FragmentHandle sender = 2;
       case 2: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+         parse_sender:
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_sender()));
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
+        if (input->ExpectAtEnd()) return true;
         break;
       }
 
       default: {
-      handle_unusual:
-        if (tag == 0) {
-          goto success;
+      handle_uninterpreted:
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
+          return true;
         }
         DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, _internal_metadata_.mutable_unknown_fields()));
+              input, tag, mutable_unknown_fields()));
         break;
       }
     }
   }
-success:
-  // @@protoc_insertion_point(parse_success:exec.bit.control.FinishedReceiver)
   return true;
-failure:
-  // @@protoc_insertion_point(parse_failure:exec.bit.control.FinishedReceiver)
-  return false;
 #undef DO_
 }
 
 void FinishedReceiver::SerializeWithCachedSizes(
     ::google::protobuf::io::CodedOutputStream* output) const {
-  // @@protoc_insertion_point(serialize_start:exec.bit.control.FinishedReceiver)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
   // optional .exec.bit.FragmentHandle receiver = 1;
-  if (cached_has_bits & 0x00000001u) {
+  if (has_receiver()) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      1, this->_internal_receiver(), output);
+      1, this->receiver(), output);
   }
 
   // optional .exec.bit.FragmentHandle sender = 2;
-  if (cached_has_bits & 0x00000002u) {
+  if (has_sender()) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      2, this->_internal_sender(), output);
+      2, this->sender(), output);
   }
 
-  if (_internal_metadata_.have_unknown_fields()) {
+  if (!unknown_fields().empty()) {
     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        _internal_metadata_.unknown_fields(), output);
+        unknown_fields(), output);
   }
-  // @@protoc_insertion_point(serialize_end:exec.bit.control.FinishedReceiver)
 }
 
-::google::protobuf::uint8* FinishedReceiver::InternalSerializeWithCachedSizesToArray(
-    bool deterministic, ::google::protobuf::uint8* target) const {
-  (void)deterministic; // Unused
-  // @@protoc_insertion_point(serialize_to_array_start:exec.bit.control.FinishedReceiver)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
+::google::protobuf::uint8* FinishedReceiver::SerializeWithCachedSizesToArray(
+    ::google::protobuf::uint8* target) const {
   // optional .exec.bit.FragmentHandle receiver = 1;
-  if (cached_has_bits & 0x00000001u) {
+  if (has_receiver()) {
     target = ::google::protobuf::internal::WireFormatLite::
-      InternalWriteMessageToArray(
-        1, this->_internal_receiver(), deterministic, target);
+      WriteMessageNoVirtualToArray(
+        1, this->receiver(), target);
   }
 
   // optional .exec.bit.FragmentHandle sender = 2;
-  if (cached_has_bits & 0x00000002u) {
+  if (has_sender()) {
     target = ::google::protobuf::internal::WireFormatLite::
-      InternalWriteMessageToArray(
-        2, this->_internal_sender(), deterministic, target);
+      WriteMessageNoVirtualToArray(
+        2, this->sender(), target);
   }
 
-  if (_internal_metadata_.have_unknown_fields()) {
+  if (!unknown_fields().empty()) {
     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields(), target);
+        unknown_fields(), target);
   }
-  // @@protoc_insertion_point(serialize_to_array_end:exec.bit.control.FinishedReceiver)
   return target;
 }
 
-size_t FinishedReceiver::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:exec.bit.control.FinishedReceiver)
-  size_t total_size = 0;
+int FinishedReceiver::ByteSize() const {
+  int total_size = 0;
 
-  if (_internal_metadata_.have_unknown_fields()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        _internal_metadata_.unknown_fields());
-  }
-  if (_has_bits_[0 / 32] & 3u) {
+  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
     // optional .exec.bit.FragmentHandle receiver = 1;
     if (has_receiver()) {
       total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSize(
-          *receiver_);
+        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+          this->receiver());
     }
 
     // optional .exec.bit.FragmentHandle sender = 2;
     if (has_sender()) {
       total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSize(
-          *sender_);
+        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+          this->sender());
     }
 
   }
-  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
+  if (!unknown_fields().empty()) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        unknown_fields());
+  }
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = total_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
   return total_size;
 }
 
 void FinishedReceiver::MergeFrom(const ::google::protobuf::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:exec.bit.control.FinishedReceiver)
-  GOOGLE_DCHECK_NE(&from, this);
+  GOOGLE_CHECK_NE(&from, this);
   const FinishedReceiver* source =
-      ::google::protobuf::internal::DynamicCastToGenerated<const FinishedReceiver>(
-          &from);
+    ::google::protobuf::internal::dynamic_cast_if_available<const FinishedReceiver*>(
+      &from);
   if (source == NULL) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.bit.control.FinishedReceiver)
     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.bit.control.FinishedReceiver)
     MergeFrom(*source);
   }
 }
 
 void FinishedReceiver::MergeFrom(const FinishedReceiver& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:exec.bit.control.FinishedReceiver)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = from._has_bits_[0];
-  if (cached_has_bits & 3u) {
-    if (cached_has_bits & 0x00000001u) {
+  GOOGLE_CHECK_NE(&from, this);
+  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    if (from.has_receiver()) {
       mutable_receiver()->::exec::bit::FragmentHandle::MergeFrom(from.receiver());
     }
-    if (cached_has_bits & 0x00000002u) {
+    if (from.has_sender()) {
       mutable_sender()->::exec::bit::FragmentHandle::MergeFrom(from.sender());
     }
   }
+  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
 }
 
 void FinishedReceiver::CopyFrom(const ::google::protobuf::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:exec.bit.control.FinishedReceiver)
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
 void FinishedReceiver::CopyFrom(const FinishedReceiver& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:exec.bit.control.FinishedReceiver)
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
 bool FinishedReceiver::IsInitialized() const {
+
   return true;
 }
 
 void FinishedReceiver::Swap(FinishedReceiver* other) {
-  if (other == this) return;
-  InternalSwap(other);
-}
-void FinishedReceiver::InternalSwap(FinishedReceiver* other) {
-  using std::swap;
-  swap(receiver_, other->receiver_);
-  swap(sender_, other->sender_);
-  swap(_has_bits_[0], other->_has_bits_[0]);
-  _internal_metadata_.Swap(&other->_internal_metadata_);
+  if (other != this) {
+    std::swap(receiver_, other->receiver_);
+    std::swap(sender_, other->sender_);
+    std::swap(_has_bits_[0], other->_has_bits_[0]);
+    _unknown_fields_.Swap(&other->_unknown_fields_);
+    std::swap(_cached_size_, other->_cached_size_);
+  }
 }
 
 ::google::protobuf::Metadata FinishedReceiver::GetMetadata() const {
-  protobuf_BitControl_2eproto::protobuf_AssignDescriptorsOnce();
-  return ::protobuf_BitControl_2eproto::file_level_metadata[kIndexInFileMessages];
+  protobuf_AssignDescriptorsOnce();
+  ::google::protobuf::Metadata metadata;
+  metadata.descriptor = FinishedReceiver_descriptor_;
+  metadata.reflection = FinishedReceiver_reflection_;
+  return metadata;
 }
 
 
 // @@protoc_insertion_point(namespace_scope)
+
 }  // namespace control
 }  // namespace bit
 }  // namespace exec
-namespace google {
-namespace protobuf {
-template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::exec::bit::control::BitControlHandshake* Arena::CreateMaybeMessage< ::exec::bit::control::BitControlHandshake >(Arena* arena) {
-  return Arena::CreateInternal< ::exec::bit::control::BitControlHandshake >(arena);
-}
-template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::exec::bit::control::BitStatus* Arena::CreateMaybeMessage< ::exec::bit::control::BitStatus >(Arena* arena) {
-  return Arena::CreateInternal< ::exec::bit::control::BitStatus >(arena);
-}
-template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::exec::bit::control::FragmentStatus* Arena::CreateMaybeMessage< ::exec::bit::control::FragmentStatus >(Arena* arena) {
-  return Arena::CreateInternal< ::exec::bit::control::FragmentStatus >(arena);
-}
-template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::exec::bit::control::InitializeFragments* Arena::CreateMaybeMessage< ::exec::bit::control::InitializeFragments >(Arena* arena) {
-  return Arena::CreateInternal< ::exec::bit::control::InitializeFragments >(arena);
-}
-template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::exec::bit::control::CustomMessage* Arena::CreateMaybeMessage< ::exec::bit::control::CustomMessage >(Arena* arena) {
-  return Arena::CreateInternal< ::exec::bit::control::CustomMessage >(arena);
-}
-template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::exec::bit::control::PlanFragment* Arena::CreateMaybeMessage< ::exec::bit::control::PlanFragment >(Arena* arena) {
-  return Arena::CreateInternal< ::exec::bit::control::PlanFragment >(arena);
-}
-template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::exec::bit::control::Collector* Arena::CreateMaybeMessage< ::exec::bit::control::Collector >(Arena* arena) {
-  return Arena::CreateInternal< ::exec::bit::control::Collector >(arena);
-}
-template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::exec::bit::control::QueryContextInformation* Arena::CreateMaybeMessage< ::exec::bit::control::QueryContextInformation >(Arena* arena) {
-  return Arena::CreateInternal< ::exec::bit::control::QueryContextInformation >(arena);
-}
-template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::exec::bit::control::WorkQueueStatus* Arena::CreateMaybeMessage< ::exec::bit::control::WorkQueueStatus >(Arena* arena) {
-  return Arena::CreateInternal< ::exec::bit::control::WorkQueueStatus >(arena);
-}
-template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::exec::bit::control::FinishedReceiver* Arena::CreateMaybeMessage< ::exec::bit::control::FinishedReceiver >(Arena* arena) {
-  return Arena::CreateInternal< ::exec::bit::control::FinishedReceiver >(arena);
-}
-}  // namespace protobuf
-}  // namespace google
 
 // @@protoc_insertion_point(global_scope)
diff --git a/contrib/native/client/src/protobuf/BitControl.pb.h b/contrib/native/client/src/protobuf/BitControl.pb.h
index abfda10..400c901 100644
--- a/contrib/native/client/src/protobuf/BitControl.pb.h
+++ b/contrib/native/client/src/protobuf/BitControl.pb.h
@@ -1,107 +1,54 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: BitControl.proto
 
-#ifndef PROTOBUF_INCLUDED_BitControl_2eproto
-#define PROTOBUF_INCLUDED_BitControl_2eproto
+#ifndef PROTOBUF_BitControl_2eproto__INCLUDED
+#define PROTOBUF_BitControl_2eproto__INCLUDED
 
 #include <string>
 
 #include <google/protobuf/stubs/common.h>
 
-#if GOOGLE_PROTOBUF_VERSION < 3006001
+#if GOOGLE_PROTOBUF_VERSION < 2005000
 #error This file was generated by a newer version of protoc which is
 #error incompatible with your Protocol Buffer headers.  Please update
 #error your headers.
 #endif
-#if 3006001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
+#if 2005000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
 #error This file was generated by an older version of protoc which is
 #error incompatible with your Protocol Buffer headers.  Please
 #error regenerate this file with a newer version of protoc.
 #endif
 
-#include <google/protobuf/io/coded_stream.h>
-#include <google/protobuf/arena.h>
-#include <google/protobuf/arenastring.h>
-#include <google/protobuf/generated_message_table_driven.h>
 #include <google/protobuf/generated_message_util.h>
-#include <google/protobuf/inlined_string_field.h>
-#include <google/protobuf/metadata.h>
 #include <google/protobuf/message.h>
-#include <google/protobuf/repeated_field.h>  // IWYU pragma: export
-#include <google/protobuf/extension_set.h>  // IWYU pragma: export
+#include <google/protobuf/repeated_field.h>
+#include <google/protobuf/extension_set.h>
 #include <google/protobuf/generated_enum_reflection.h>
 #include <google/protobuf/unknown_field_set.h>
 #include "ExecutionProtos.pb.h"
 #include "Coordination.pb.h"
 #include "UserBitShared.pb.h"
 // @@protoc_insertion_point(includes)
-#define PROTOBUF_INTERNAL_EXPORT_protobuf_BitControl_2eproto 
-
-namespace protobuf_BitControl_2eproto {
-// Internal implementation detail -- do not use these members.
-struct TableStruct {
-  static const ::google::protobuf::internal::ParseTableField entries[];
-  static const ::google::protobuf::internal::AuxillaryParseTableField aux[];
-  static const ::google::protobuf::internal::ParseTable schema[10];
-  static const ::google::protobuf::internal::FieldMetadata field_metadata[];
-  static const ::google::protobuf::internal::SerializationTable serialization_table[];
-  static const ::google::protobuf::uint32 offsets[];
-};
-void AddDescriptors();
-}  // namespace protobuf_BitControl_2eproto
+
 namespace exec {
 namespace bit {
 namespace control {
+
+// Internal implementation detail -- do not call these.
+void  protobuf_AddDesc_BitControl_2eproto();
+void protobuf_AssignDesc_BitControl_2eproto();
+void protobuf_ShutdownFile_BitControl_2eproto();
+
 class BitControlHandshake;
-class BitControlHandshakeDefaultTypeInternal;
-extern BitControlHandshakeDefaultTypeInternal _BitControlHandshake_default_instance_;
 class BitStatus;
-class BitStatusDefaultTypeInternal;
-extern BitStatusDefaultTypeInternal _BitStatus_default_instance_;
-class Collector;
-class CollectorDefaultTypeInternal;
-extern CollectorDefaultTypeInternal _Collector_default_instance_;
-class CustomMessage;
-class CustomMessageDefaultTypeInternal;
-extern CustomMessageDefaultTypeInternal _CustomMessage_default_instance_;
-class FinishedReceiver;
-class FinishedReceiverDefaultTypeInternal;
-extern FinishedReceiverDefaultTypeInternal _FinishedReceiver_default_instance_;
 class FragmentStatus;
-class FragmentStatusDefaultTypeInternal;
-extern FragmentStatusDefaultTypeInternal _FragmentStatus_default_instance_;
 class InitializeFragments;
-class InitializeFragmentsDefaultTypeInternal;
-extern InitializeFragmentsDefaultTypeInternal _InitializeFragments_default_instance_;
+class CustomMessage;
 class PlanFragment;
-class PlanFragmentDefaultTypeInternal;
-extern PlanFragmentDefaultTypeInternal _PlanFragment_default_instance_;
+class Collector;
 class QueryContextInformation;
-class QueryContextInformationDefaultTypeInternal;
-extern QueryContextInformationDefaultTypeInternal _QueryContextInformation_default_instance_;
 class WorkQueueStatus;
-class WorkQueueStatusDefaultTypeInternal;
-extern WorkQueueStatusDefaultTypeInternal _WorkQueueStatus_default_instance_;
-}  // namespace control
-}  // namespace bit
-}  // namespace exec
-namespace google {
-namespace protobuf {
-template<> ::exec::bit::control::BitControlHandshake* Arena::CreateMaybeMessage<::exec::bit::control::BitControlHandshake>(Arena*);
-template<> ::exec::bit::control::BitStatus* Arena::CreateMaybeMessage<::exec::bit::control::BitStatus>(Arena*);
-template<> ::exec::bit::control::Collector* Arena::CreateMaybeMessage<::exec::bit::control::Collector>(Arena*);
-template<> ::exec::bit::control::CustomMessage* Arena::CreateMaybeMessage<::exec::bit::control::CustomMessage>(Arena*);
-template<> ::exec::bit::control::FinishedReceiver* Arena::CreateMaybeMessage<::exec::bit::control::FinishedReceiver>(Arena*);
-template<> ::exec::bit::control::FragmentStatus* Arena::CreateMaybeMessage<::exec::bit::control::FragmentStatus>(Arena*);
-template<> ::exec::bit::control::InitializeFragments* Arena::CreateMaybeMessage<::exec::bit::control::InitializeFragments>(Arena*);
-template<> ::exec::bit::control::PlanFragment* Arena::CreateMaybeMessage<::exec::bit::control::PlanFragment>(Arena*);
-template<> ::exec::bit::control::QueryContextInformation* Arena::CreateMaybeMessage<::exec::bit::control::QueryContextInformation>(Arena*);
-template<> ::exec::bit::control::WorkQueueStatus* Arena::CreateMaybeMessage<::exec::bit::control::WorkQueueStatus>(Arena*);
-}  // namespace protobuf
-}  // namespace google
-namespace exec {
-namespace bit {
-namespace control {
+class FinishedReceiver;
 
 enum RpcType {
   HANDSHAKE = 0,
@@ -140,7 +87,7 @@ inline bool RpcType_Parse(
 }
 // ===================================================================
 
-class BitControlHandshake : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:exec.bit.control.BitControlHandshake) */ {
+class BitControlHandshake : public ::google::protobuf::Message {
  public:
   BitControlHandshake();
   virtual ~BitControlHandshake();
@@ -151,158 +98,117 @@ class BitControlHandshake : public ::google::protobuf::Message /* @@protoc_inser
     CopyFrom(from);
     return *this;
   }
-  #if LANG_CXX11
-  BitControlHandshake(BitControlHandshake&& from) noexcept
-    : BitControlHandshake() {
-    *this = ::std::move(from);
-  }
 
-  inline BitControlHandshake& operator=(BitControlHandshake&& from) noexcept {
-    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-  #endif
   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _internal_metadata_.unknown_fields();
+    return _unknown_fields_;
   }
+
   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return _internal_metadata_.mutable_unknown_fields();
+    return &_unknown_fields_;
   }
 
   static const ::google::protobuf::Descriptor* descriptor();
   static const BitControlHandshake& default_instance();
 
-  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
-  static inline const BitControlHandshake* internal_default_instance() {
-    return reinterpret_cast<const BitControlHandshake*>(
-               &_BitControlHandshake_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    0;
-
   void Swap(BitControlHandshake* other);
-  friend void swap(BitControlHandshake& a, BitControlHandshake& b) {
-    a.Swap(&b);
-  }
 
   // implements Message ----------------------------------------------
 
-  inline BitControlHandshake* New() const final {
-    return CreateMaybeMessage<BitControlHandshake>(NULL);
-  }
-
-  BitControlHandshake* New(::google::protobuf::Arena* arena) const final {
-    return CreateMaybeMessage<BitControlHandshake>(arena);
-  }
-  void CopyFrom(const ::google::protobuf::Message& from) final;
-  void MergeFrom(const ::google::protobuf::Message& from) final;
+  BitControlHandshake* New() const;
+  void CopyFrom(const ::google::protobuf::Message& from);
+  void MergeFrom(const ::google::protobuf::Message& from);
   void CopyFrom(const BitControlHandshake& from);
   void MergeFrom(const BitControlHandshake& from);
-  void Clear() final;
-  bool IsInitialized() const final;
+  void Clear();
+  bool IsInitialized() const;
 
-  size_t ByteSizeLong() const final;
+  int ByteSize() const;
   bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) final;
+      ::google::protobuf::io::CodedInputStream* input);
   void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const final;
-  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
+      ::google::protobuf::io::CodedOutputStream* output) const;
+  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
+  int GetCachedSize() const { return _cached_size_; }
   private:
   void SharedCtor();
   void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(BitControlHandshake* other);
-  private:
-  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
-    return NULL;
-  }
-  inline void* MaybeArenaPtr() const {
-    return NULL;
-  }
+  void SetCachedSize(int size) const;
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const final;
+  ::google::protobuf::Metadata GetMetadata() const;
 
   // nested types ----------------------------------------------------
 
   // accessors -------------------------------------------------------
 
-  // repeated string authenticationMechanisms = 4;
-  int authenticationmechanisms_size() const;
-  void clear_authenticationmechanisms();
-  static const int kAuthenticationMechanismsFieldNumber = 4;
-  const ::std::string& authenticationmechanisms(int index) const;
-  ::std::string* mutable_authenticationmechanisms(int index);
-  void set_authenticationmechanisms(int index, const ::std::string& value);
-  #if LANG_CXX11
-  void set_authenticationmechanisms(int index, ::std::string&& value);
-  #endif
-  void set_authenticationmechanisms(int index, const char* value);
-  void set_authenticationmechanisms(int index, const char* value, size_t size);
-  ::std::string* add_authenticationmechanisms();
-  void add_authenticationmechanisms(const ::std::string& value);
-  #if LANG_CXX11
-  void add_authenticationmechanisms(::std::string&& value);
-  #endif
-  void add_authenticationmechanisms(const char* value);
-  void add_authenticationmechanisms(const char* value, size_t size);
-  const ::google::protobuf::RepeatedPtrField< ::std::string>& authenticationmechanisms() const;
-  ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_authenticationmechanisms();
-
-  // optional .exec.DrillbitEndpoint endpoint = 3;
-  bool has_endpoint() const;
-  void clear_endpoint();
-  static const int kEndpointFieldNumber = 3;
-  private:
-  const ::exec::DrillbitEndpoint& _internal_endpoint() const;
-  public:
-  const ::exec::DrillbitEndpoint& endpoint() const;
-  ::exec::DrillbitEndpoint* release_endpoint();
-  ::exec::DrillbitEndpoint* mutable_endpoint();
-  void set_allocated_endpoint(::exec::DrillbitEndpoint* endpoint);
-
   // optional int32 rpc_version = 1;
-  bool has_rpc_version() const;
-  void clear_rpc_version();
+  inline bool has_rpc_version() const;
+  inline void clear_rpc_version();
   static const int kRpcVersionFieldNumber = 1;
-  ::google::protobuf::int32 rpc_version() const;
-  void set_rpc_version(::google::protobuf::int32 value);
+  inline ::google::protobuf::int32 rpc_version() const;
+  inline void set_rpc_version(::google::protobuf::int32 value);
 
   // optional .exec.shared.RpcChannel channel = 2 [default = BIT_CONTROL];
-  bool has_channel() const;
-  void clear_channel();
+  inline bool has_channel() const;
+  inline void clear_channel();
   static const int kChannelFieldNumber = 2;
-  ::exec::shared::RpcChannel channel() const;
-  void set_channel(::exec::shared::RpcChannel value);
+  inline ::exec::shared::RpcChannel channel() const;
+  inline void set_channel(::exec::shared::RpcChannel value);
+
+  // optional .exec.DrillbitEndpoint endpoint = 3;
+  inline bool has_endpoint() const;
+  inline void clear_endpoint();
+  static const int kEndpointFieldNumber = 3;
+  inline const ::exec::DrillbitEndpoint& endpoint() const;
+  inline ::exec::DrillbitEndpoint* mutable_endpoint();
+  inline ::exec::DrillbitEndpoint* release_endpoint();
+  inline void set_allocated_endpoint(::exec::DrillbitEndpoint* endpoint);
+
+  // repeated string authenticationMechanisms = 4;
+  inline int authenticationmechanisms_size() const;
+  inline void clear_authenticationmechanisms();
+  static const int kAuthenticationMechanismsFieldNumber = 4;
+  inline const ::std::string& authenticationmechanisms(int index) const;
+  inline ::std::string* mutable_authenticationmechanisms(int index);
+  inline void set_authenticationmechanisms(int index, const ::std::string& value);
+  inline void set_authenticationmechanisms(int index, const char* value);
+  inline void set_authenticationmechanisms(int index, const char* value, size_t size);
+  inline ::std::string* add_authenticationmechanisms();
+  inline void add_authenticationmechanisms(const ::std::string& value);
+  inline void add_authenticationmechanisms(const char* value);
+  inline void add_authenticationmechanisms(const char* value, size_t size);
+  inline const ::google::protobuf::RepeatedPtrField< ::std::string>& authenticationmechanisms() const;
+  inline ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_authenticationmechanisms();
 
   // @@protoc_insertion_point(class_scope:exec.bit.control.BitControlHandshake)
  private:
-  void set_has_rpc_version();
-  void clear_has_rpc_version();
-  void set_has_channel();
-  void clear_has_channel();
-  void set_has_endpoint();
-  void clear_has_endpoint();
-
-  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
-  ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable ::google::protobuf::internal::CachedSize _cached_size_;
-  ::google::protobuf::RepeatedPtrField< ::std::string> authenticationmechanisms_;
-  ::exec::DrillbitEndpoint* endpoint_;
+  inline void set_has_rpc_version();
+  inline void clear_has_rpc_version();
+  inline void set_has_channel();
+  inline void clear_has_channel();
+  inline void set_has_endpoint();
+  inline void clear_has_endpoint();
+
+  ::google::protobuf::UnknownFieldSet _unknown_fields_;
+
   ::google::protobuf::int32 rpc_version_;
   int channel_;
-  friend struct ::protobuf_BitControl_2eproto::TableStruct;
+  ::exec::DrillbitEndpoint* endpoint_;
+  ::google::protobuf::RepeatedPtrField< ::std::string> authenticationmechanisms_;
+
+  mutable int _cached_size_;
+  ::google::protobuf::uint32 _has_bits_[(4 + 31) / 32];
+
+  friend void  protobuf_AddDesc_BitControl_2eproto();
+  friend void protobuf_AssignDesc_BitControl_2eproto();
+  friend void protobuf_ShutdownFile_BitControl_2eproto();
+
+  void InitAsDefaultInstance();
+  static BitControlHandshake* default_instance_;
 };
 // -------------------------------------------------------------------
 
-class BitStatus : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:exec.bit.control.BitStatus) */ {
+class BitStatus : public ::google::protobuf::Message {
  public:
   BitStatus();
   virtual ~BitStatus();
@@ -313,113 +219,81 @@ class BitStatus : public ::google::protobuf::Message /* @@protoc_insertion_point
     CopyFrom(from);
     return *this;
   }
-  #if LANG_CXX11
-  BitStatus(BitStatus&& from) noexcept
-    : BitStatus() {
-    *this = ::std::move(from);
-  }
 
-  inline BitStatus& operator=(BitStatus&& from) noexcept {
-    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-  #endif
   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _internal_metadata_.unknown_fields();
+    return _unknown_fields_;
   }
+
   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return _internal_metadata_.mutable_unknown_fields();
+    return &_unknown_fields_;
   }
 
   static const ::google::protobuf::Descriptor* descriptor();
   static const BitStatus& default_instance();
 
-  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
-  static inline const BitStatus* internal_default_instance() {
-    return reinterpret_cast<const BitStatus*>(
-               &_BitStatus_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    1;
-
   void Swap(BitStatus* other);
-  friend void swap(BitStatus& a, BitStatus& b) {
-    a.Swap(&b);
-  }
 
   // implements Message ----------------------------------------------
 
-  inline BitStatus* New() const final {
-    return CreateMaybeMessage<BitStatus>(NULL);
-  }
-
-  BitStatus* New(::google::protobuf::Arena* arena) const final {
-    return CreateMaybeMessage<BitStatus>(arena);
-  }
-  void CopyFrom(const ::google::protobuf::Message& from) final;
-  void MergeFrom(const ::google::protobuf::Message& from) final;
+  BitStatus* New() const;
+  void CopyFrom(const ::google::protobuf::Message& from);
+  void MergeFrom(const ::google::protobuf::Message& from);
   void CopyFrom(const BitStatus& from);
   void MergeFrom(const BitStatus& from);
-  void Clear() final;
-  bool IsInitialized() const final;
+  void Clear();
+  bool IsInitialized() const;
 
-  size_t ByteSizeLong() const final;
+  int ByteSize() const;
   bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) final;
+      ::google::protobuf::io::CodedInputStream* input);
   void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const final;
-  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
+      ::google::protobuf::io::CodedOutputStream* output) const;
+  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
+  int GetCachedSize() const { return _cached_size_; }
   private:
   void SharedCtor();
   void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(BitStatus* other);
-  private:
-  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
-    return NULL;
-  }
-  inline void* MaybeArenaPtr() const {
-    return NULL;
-  }
+  void SetCachedSize(int size) const;
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const final;
+  ::google::protobuf::Metadata GetMetadata() const;
 
   // nested types ----------------------------------------------------
 
   // accessors -------------------------------------------------------
 
   // repeated .exec.bit.control.FragmentStatus fragment_status = 1;
-  int fragment_status_size() const;
-  void clear_fragment_status();
+  inline int fragment_status_size() const;
+  inline void clear_fragment_status();
   static const int kFragmentStatusFieldNumber = 1;
-  ::exec::bit::control::FragmentStatus* mutable_fragment_status(int index);
-  ::google::protobuf::RepeatedPtrField< ::exec::bit::control::FragmentStatus >*
-      mutable_fragment_status();
-  const ::exec::bit::control::FragmentStatus& fragment_status(int index) const;
-  ::exec::bit::control::FragmentStatus* add_fragment_status();
-  const ::google::protobuf::RepeatedPtrField< ::exec::bit::control::FragmentStatus >&
+  inline const ::exec::bit::control::FragmentStatus& fragment_status(int index) const;
+  inline ::exec::bit::control::FragmentStatus* mutable_fragment_status(int index);
+  inline ::exec::bit::control::FragmentStatus* add_fragment_status();
+  inline const ::google::protobuf::RepeatedPtrField< ::exec::bit::control::FragmentStatus >&
       fragment_status() const;
+  inline ::google::protobuf::RepeatedPtrField< ::exec::bit::control::FragmentStatus >*
+      mutable_fragment_status();
 
   // @@protoc_insertion_point(class_scope:exec.bit.control.BitStatus)
  private:
 
-  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
-  ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable ::google::protobuf::internal::CachedSize _cached_size_;
+  ::google::protobuf::UnknownFieldSet _unknown_fields_;
+
   ::google::protobuf::RepeatedPtrField< ::exec::bit::control::FragmentStatus > fragment_status_;
-  friend struct ::protobuf_BitControl_2eproto::TableStruct;
+
+  mutable int _cached_size_;
+  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
+
+  friend void  protobuf_AddDesc_BitControl_2eproto();
+  friend void protobuf_AssignDesc_BitControl_2eproto();
+  friend void protobuf_ShutdownFile_BitControl_2eproto();
+
+  void InitAsDefaultInstance();
+  static BitStatus* default_instance_;
 };
 // -------------------------------------------------------------------
 
-class FragmentStatus : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:exec.bit.control.FragmentStatus) */ {
+class FragmentStatus : public ::google::protobuf::Message {
  public:
   FragmentStatus();
   virtual ~FragmentStatus();
@@ -430,130 +304,92 @@ class FragmentStatus : public ::google::protobuf::Message /* @@protoc_insertion_
     CopyFrom(from);
     return *this;
   }
-  #if LANG_CXX11
-  FragmentStatus(FragmentStatus&& from) noexcept
-    : FragmentStatus() {
-    *this = ::std::move(from);
-  }
 
-  inline FragmentStatus& operator=(FragmentStatus&& from) noexcept {
-    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-  #endif
   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _internal_metadata_.unknown_fields();
+    return _unknown_fields_;
   }
+
   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return _internal_metadata_.mutable_unknown_fields();
+    return &_unknown_fields_;
   }
 
   static const ::google::protobuf::Descriptor* descriptor();
   static const FragmentStatus& default_instance();
 
-  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
-  static inline const FragmentStatus* internal_default_instance() {
-    return reinterpret_cast<const FragmentStatus*>(
-               &_FragmentStatus_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    2;
-
   void Swap(FragmentStatus* other);
-  friend void swap(FragmentStatus& a, FragmentStatus& b) {
-    a.Swap(&b);
-  }
 
   // implements Message ----------------------------------------------
 
-  inline FragmentStatus* New() const final {
-    return CreateMaybeMessage<FragmentStatus>(NULL);
-  }
-
-  FragmentStatus* New(::google::protobuf::Arena* arena) const final {
-    return CreateMaybeMessage<FragmentStatus>(arena);
-  }
-  void CopyFrom(const ::google::protobuf::Message& from) final;
-  void MergeFrom(const ::google::protobuf::Message& from) final;
+  FragmentStatus* New() const;
+  void CopyFrom(const ::google::protobuf::Message& from);
+  void MergeFrom(const ::google::protobuf::Message& from);
   void CopyFrom(const FragmentStatus& from);
   void MergeFrom(const FragmentStatus& from);
-  void Clear() final;
-  bool IsInitialized() const final;
+  void Clear();
+  bool IsInitialized() const;
 
-  size_t ByteSizeLong() const final;
+  int ByteSize() const;
   bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) final;
+      ::google::protobuf::io::CodedInputStream* input);
   void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const final;
-  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
+      ::google::protobuf::io::CodedOutputStream* output) const;
+  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
+  int GetCachedSize() const { return _cached_size_; }
   private:
   void SharedCtor();
   void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(FragmentStatus* other);
-  private:
-  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
-    return NULL;
-  }
-  inline void* MaybeArenaPtr() const {
-    return NULL;
-  }
+  void SetCachedSize(int size) const;
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const final;
+  ::google::protobuf::Metadata GetMetadata() const;
 
   // nested types ----------------------------------------------------
 
   // accessors -------------------------------------------------------
 
   // optional .exec.shared.MinorFragmentProfile profile = 1;
-  bool has_profile() const;
-  void clear_profile();
+  inline bool has_profile() const;
+  inline void clear_profile();
   static const int kProfileFieldNumber = 1;
-  private:
-  const ::exec::shared::MinorFragmentProfile& _internal_profile() const;
-  public:
-  const ::exec::shared::MinorFragmentProfile& profile() const;
-  ::exec::shared::MinorFragmentProfile* release_profile();
-  ::exec::shared::MinorFragmentProfile* mutable_profile();
-  void set_allocated_profile(::exec::shared::MinorFragmentProfile* profile);
+  inline const ::exec::shared::MinorFragmentProfile& profile() const;
+  inline ::exec::shared::MinorFragmentProfile* mutable_profile();
+  inline ::exec::shared::MinorFragmentProfile* release_profile();
+  inline void set_allocated_profile(::exec::shared::MinorFragmentProfile* profile);
 
   // optional .exec.bit.FragmentHandle handle = 2;
-  bool has_handle() const;
-  void clear_handle();
+  inline bool has_handle() const;
+  inline void clear_handle();
   static const int kHandleFieldNumber = 2;
-  private:
-  const ::exec::bit::FragmentHandle& _internal_handle() const;
-  public:
-  const ::exec::bit::FragmentHandle& handle() const;
-  ::exec::bit::FragmentHandle* release_handle();
-  ::exec::bit::FragmentHandle* mutable_handle();
-  void set_allocated_handle(::exec::bit::FragmentHandle* handle);
+  inline const ::exec::bit::FragmentHandle& handle() const;
+  inline ::exec::bit::FragmentHandle* mutable_handle();
+  inline ::exec::bit::FragmentHandle* release_handle();
+  inline void set_allocated_handle(::exec::bit::FragmentHandle* handle);
 
   // @@protoc_insertion_point(class_scope:exec.bit.control.FragmentStatus)
  private:
-  void set_has_profile();
-  void clear_has_profile();
-  void set_has_handle();
-  void clear_has_handle();
-
-  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
-  ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable ::google::protobuf::internal::CachedSize _cached_size_;
+  inline void set_has_profile();
+  inline void clear_has_profile();
+  inline void set_has_handle();
+  inline void clear_has_handle();
+
+  ::google::protobuf::UnknownFieldSet _unknown_fields_;
+
   ::exec::shared::MinorFragmentProfile* profile_;
   ::exec::bit::FragmentHandle* handle_;
-  friend struct ::protobuf_BitControl_2eproto::TableStruct;
+
+  mutable int _cached_size_;
+  ::google::protobuf::uint32 _has_bits_[(2 + 31) / 32];
+
+  friend void  protobuf_AddDesc_BitControl_2eproto();
+  friend void protobuf_AssignDesc_BitControl_2eproto();
+  friend void protobuf_ShutdownFile_BitControl_2eproto();
+
+  void InitAsDefaultInstance();
+  static FragmentStatus* default_instance_;
 };
 // -------------------------------------------------------------------
 
-class InitializeFragments : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:exec.bit.control.InitializeFragments) */ {
+class InitializeFragments : public ::google::protobuf::Message {
  public:
   InitializeFragments();
   virtual ~InitializeFragments();
@@ -564,113 +400,81 @@ class InitializeFragments : public ::google::protobuf::Message /* @@protoc_inser
     CopyFrom(from);
     return *this;
   }
-  #if LANG_CXX11
-  InitializeFragments(InitializeFragments&& from) noexcept
-    : InitializeFragments() {
-    *this = ::std::move(from);
-  }
 
-  inline InitializeFragments& operator=(InitializeFragments&& from) noexcept {
-    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-  #endif
   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _internal_metadata_.unknown_fields();
+    return _unknown_fields_;
   }
+
   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return _internal_metadata_.mutable_unknown_fields();
+    return &_unknown_fields_;
   }
 
   static const ::google::protobuf::Descriptor* descriptor();
   static const InitializeFragments& default_instance();
 
-  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
-  static inline const InitializeFragments* internal_default_instance() {
-    return reinterpret_cast<const InitializeFragments*>(
-               &_InitializeFragments_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    3;
-
   void Swap(InitializeFragments* other);
-  friend void swap(InitializeFragments& a, InitializeFragments& b) {
-    a.Swap(&b);
-  }
 
   // implements Message ----------------------------------------------
 
-  inline InitializeFragments* New() const final {
-    return CreateMaybeMessage<InitializeFragments>(NULL);
-  }
-
-  InitializeFragments* New(::google::protobuf::Arena* arena) const final {
-    return CreateMaybeMessage<InitializeFragments>(arena);
-  }
-  void CopyFrom(const ::google::protobuf::Message& from) final;
-  void MergeFrom(const ::google::protobuf::Message& from) final;
+  InitializeFragments* New() const;
+  void CopyFrom(const ::google::protobuf::Message& from);
+  void MergeFrom(const ::google::protobuf::Message& from);
   void CopyFrom(const InitializeFragments& from);
   void MergeFrom(const InitializeFragments& from);
-  void Clear() final;
-  bool IsInitialized() const final;
+  void Clear();
+  bool IsInitialized() const;
 
-  size_t ByteSizeLong() const final;
+  int ByteSize() const;
   bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) final;
+      ::google::protobuf::io::CodedInputStream* input);
   void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const final;
-  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
+      ::google::protobuf::io::CodedOutputStream* output) const;
+  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
+  int GetCachedSize() const { return _cached_size_; }
   private:
   void SharedCtor();
   void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(InitializeFragments* other);
-  private:
-  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
-    return NULL;
-  }
-  inline void* MaybeArenaPtr() const {
-    return NULL;
-  }
+  void SetCachedSize(int size) const;
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const final;
+  ::google::protobuf::Metadata GetMetadata() const;
 
   // nested types ----------------------------------------------------
 
   // accessors -------------------------------------------------------
 
   // repeated .exec.bit.control.PlanFragment fragment = 1;
-  int fragment_size() const;
-  void clear_fragment();
+  inline int fragment_size() const;
+  inline void clear_fragment();
   static const int kFragmentFieldNumber = 1;
-  ::exec::bit::control::PlanFragment* mutable_fragment(int index);
-  ::google::protobuf::RepeatedPtrField< ::exec::bit::control::PlanFragment >*
-      mutable_fragment();
-  const ::exec::bit::control::PlanFragment& fragment(int index) const;
-  ::exec::bit::control::PlanFragment* add_fragment();
-  const ::google::protobuf::RepeatedPtrField< ::exec::bit::control::PlanFragment >&
+  inline const ::exec::bit::control::PlanFragment& fragment(int index) const;
+  inline ::exec::bit::control::PlanFragment* mutable_fragment(int index);
+  inline ::exec::bit::control::PlanFragment* add_fragment();
+  inline const ::google::protobuf::RepeatedPtrField< ::exec::bit::control::PlanFragment >&
       fragment() const;
+  inline ::google::protobuf::RepeatedPtrField< ::exec::bit::control::PlanFragment >*
+      mutable_fragment();
 
   // @@protoc_insertion_point(class_scope:exec.bit.control.InitializeFragments)
  private:
 
-  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
-  ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable ::google::protobuf::internal::CachedSize _cached_size_;
+  ::google::protobuf::UnknownFieldSet _unknown_fields_;
+
   ::google::protobuf::RepeatedPtrField< ::exec::bit::control::PlanFragment > fragment_;
-  friend struct ::protobuf_BitControl_2eproto::TableStruct;
+
+  mutable int _cached_size_;
+  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
+
+  friend void  protobuf_AddDesc_BitControl_2eproto();
+  friend void protobuf_AssignDesc_BitControl_2eproto();
+  friend void protobuf_ShutdownFile_BitControl_2eproto();
+
+  void InitAsDefaultInstance();
+  static InitializeFragments* default_instance_;
 };
 // -------------------------------------------------------------------
 
-class CustomMessage : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:exec.bit.control.CustomMessage) */ {
+class CustomMessage : public ::google::protobuf::Message {
  public:
   CustomMessage();
   virtual ~CustomMessage();
@@ -681,128 +485,93 @@ class CustomMessage : public ::google::protobuf::Message /* @@protoc_insertion_p
     CopyFrom(from);
     return *this;
   }
-  #if LANG_CXX11
-  CustomMessage(CustomMessage&& from) noexcept
-    : CustomMessage() {
-    *this = ::std::move(from);
-  }
 
-  inline CustomMessage& operator=(CustomMessage&& from) noexcept {
-    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-  #endif
   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _internal_metadata_.unknown_fields();
+    return _unknown_fields_;
   }
+
   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return _internal_metadata_.mutable_unknown_fields();
+    return &_unknown_fields_;
   }
 
   static const ::google::protobuf::Descriptor* descriptor();
   static const CustomMessage& default_instance();
 
-  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
-  static inline const CustomMessage* internal_default_instance() {
-    return reinterpret_cast<const CustomMessage*>(
-               &_CustomMessage_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    4;
-
   void Swap(CustomMessage* other);
-  friend void swap(CustomMessage& a, CustomMessage& b) {
-    a.Swap(&b);
-  }
 
   // implements Message ----------------------------------------------
 
-  inline CustomMessage* New() const final {
-    return CreateMaybeMessage<CustomMessage>(NULL);
-  }
-
-  CustomMessage* New(::google::protobuf::Arena* arena) const final {
-    return CreateMaybeMessage<CustomMessage>(arena);
-  }
-  void CopyFrom(const ::google::protobuf::Message& from) final;
-  void MergeFrom(const ::google::protobuf::Message& from) final;
+  CustomMessage* New() const;
+  void CopyFrom(const ::google::protobuf::Message& from);
+  void MergeFrom(const ::google::protobuf::Message& from);
   void CopyFrom(const CustomMessage& from);
   void MergeFrom(const CustomMessage& from);
-  void Clear() final;
-  bool IsInitialized() const final;
+  void Clear();
+  bool IsInitialized() const;
 
-  size_t ByteSizeLong() const final;
+  int ByteSize() const;
   bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) final;
+      ::google::protobuf::io::CodedInputStream* input);
   void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const final;
-  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
+      ::google::protobuf::io::CodedOutputStream* output) const;
+  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
+  int GetCachedSize() const { return _cached_size_; }
   private:
   void SharedCtor();
   void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(CustomMessage* other);
-  private:
-  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
-    return NULL;
-  }
-  inline void* MaybeArenaPtr() const {
-    return NULL;
-  }
+  void SetCachedSize(int size) const;
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const final;
+  ::google::protobuf::Metadata GetMetadata() const;
 
   // nested types ----------------------------------------------------
 
   // accessors -------------------------------------------------------
 
-  // optional bytes message = 2;
-  bool has_message() const;
-  void clear_message();
-  static const int kMessageFieldNumber = 2;
-  const ::std::string& message() const;
-  void set_message(const ::std::string& value);
-  #if LANG_CXX11
-  void set_message(::std::string&& value);
-  #endif
-  void set_message(const char* value);
-  void set_message(const void* value, size_t size);
-  ::std::string* mutable_message();
-  ::std::string* release_message();
-  void set_allocated_message(::std::string* message);
-
   // optional int32 type = 1;
-  bool has_type() const;
-  void clear_type();
+  inline bool has_type() const;
+  inline void clear_type();
   static const int kTypeFieldNumber = 1;
-  ::google::protobuf::int32 type() const;
-  void set_type(::google::protobuf::int32 value);
+  inline ::google::protobuf::int32 type() const;
+  inline void set_type(::google::protobuf::int32 value);
+
+  // optional bytes message = 2;
+  inline bool has_message() const;
+  inline void clear_message();
+  static const int kMessageFieldNumber = 2;
+  inline const ::std::string& message() const;
+  inline void set_message(const ::std::string& value);
+  inline void set_message(const char* value);
+  inline void set_message(const void* value, size_t size);
+  inline ::std::string* mutable_message();
+  inline ::std::string* release_message();
+  inline void set_allocated_message(::std::string* message);
 
   // @@protoc_insertion_point(class_scope:exec.bit.control.CustomMessage)
  private:
-  void set_has_type();
-  void clear_has_type();
-  void set_has_message();
-  void clear_has_message();
-
-  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
-  ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable ::google::protobuf::internal::CachedSize _cached_size_;
-  ::google::protobuf::internal::ArenaStringPtr message_;
+  inline void set_has_type();
+  inline void clear_has_type();
+  inline void set_has_message();
+  inline void clear_has_message();
+
+  ::google::protobuf::UnknownFieldSet _unknown_fields_;
+
+  ::std::string* message_;
   ::google::protobuf::int32 type_;
-  friend struct ::protobuf_BitControl_2eproto::TableStruct;
+
+  mutable int _cached_size_;
+  ::google::protobuf::uint32 _has_bits_[(2 + 31) / 32];
+
+  friend void  protobuf_AddDesc_BitControl_2eproto();
+  friend void protobuf_AssignDesc_BitControl_2eproto();
+  friend void protobuf_ShutdownFile_BitControl_2eproto();
+
+  void InitAsDefaultInstance();
+  static CustomMessage* default_instance_;
 };
 // -------------------------------------------------------------------
 
-class PlanFragment : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:exec.bit.control.PlanFragment) */ {
+class PlanFragment : public ::google::protobuf::Message {
  public:
   PlanFragment();
   virtual ~PlanFragment();
@@ -813,294 +582,241 @@ class PlanFragment : public ::google::protobuf::Message /* @@protoc_insertion_po
     CopyFrom(from);
     return *this;
   }
-  #if LANG_CXX11
-  PlanFragment(PlanFragment&& from) noexcept
-    : PlanFragment() {
-    *this = ::std::move(from);
-  }
 
-  inline PlanFragment& operator=(PlanFragment&& from) noexcept {
-    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-  #endif
   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _internal_metadata_.unknown_fields();
+    return _unknown_fields_;
   }
+
   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return _internal_metadata_.mutable_unknown_fields();
+    return &_unknown_fields_;
   }
 
   static const ::google::protobuf::Descriptor* descriptor();
   static const PlanFragment& default_instance();
 
-  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
-  static inline const PlanFragment* internal_default_instance() {
-    return reinterpret_cast<const PlanFragment*>(
-               &_PlanFragment_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    5;
-
   void Swap(PlanFragment* other);
-  friend void swap(PlanFragment& a, PlanFragment& b) {
-    a.Swap(&b);
-  }
 
   // implements Message ----------------------------------------------
 
-  inline PlanFragment* New() const final {
-    return CreateMaybeMessage<PlanFragment>(NULL);
-  }
-
-  PlanFragment* New(::google::protobuf::Arena* arena) const final {
-    return CreateMaybeMessage<PlanFragment>(arena);
-  }
-  void CopyFrom(const ::google::protobuf::Message& from) final;
-  void MergeFrom(const ::google::protobuf::Message& from) final;
+  PlanFragment* New() const;
+  void CopyFrom(const ::google::protobuf::Message& from);
+  void MergeFrom(const ::google::protobuf::Message& from);
   void CopyFrom(const PlanFragment& from);
   void MergeFrom(const PlanFragment& from);
-  void Clear() final;
-  bool IsInitialized() const final;
+  void Clear();
+  bool IsInitialized() const;
 
-  size_t ByteSizeLong() const final;
+  int ByteSize() const;
   bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) final;
+      ::google::protobuf::io::CodedInputStream* input);
   void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const final;
-  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
+      ::google::protobuf::io::CodedOutputStream* output) const;
+  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
+  int GetCachedSize() const { return _cached_size_; }
   private:
   void SharedCtor();
   void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(PlanFragment* other);
-  private:
-  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
-    return NULL;
-  }
-  inline void* MaybeArenaPtr() const {
-    return NULL;
-  }
+  void SetCachedSize(int size) const;
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const final;
+  ::google::protobuf::Metadata GetMetadata() const;
 
   // nested types ----------------------------------------------------
 
   // accessors -------------------------------------------------------
 
-  // repeated .exec.bit.control.Collector collector = 17;
-  int collector_size() const;
-  void clear_collector();
-  static const int kCollectorFieldNumber = 17;
-  ::exec::bit::control::Collector* mutable_collector(int index);
-  ::google::protobuf::RepeatedPtrField< ::exec::bit::control::Collector >*
-      mutable_collector();
-  const ::exec::bit::control::Collector& collector(int index) const;
-  ::exec::bit::control::Collector* add_collector();
-  const ::google::protobuf::RepeatedPtrField< ::exec::bit::control::Collector >&
-      collector() const;
-
-  // optional string fragment_json = 8;
-  bool has_fragment_json() const;
-  void clear_fragment_json();
-  static const int kFragmentJsonFieldNumber = 8;
-  const ::std::string& fragment_json() const;
-  void set_fragment_json(const ::std::string& value);
-  #if LANG_CXX11
-  void set_fragment_json(::std::string&& value);
-  #endif
-  void set_fragment_json(const char* value);
-  void set_fragment_json(const char* value, size_t size);
-  ::std::string* mutable_fragment_json();
-  ::std::string* release_fragment_json();
-  void set_allocated_fragment_json(::std::string* fragment_json);
-
-  // optional string options_json = 15;
-  bool has_options_json() const;
-  void clear_options_json();
-  static const int kOptionsJsonFieldNumber = 15;
-  const ::std::string& options_json() const;
-  void set_options_json(const ::std::string& value);
-  #if LANG_CXX11
-  void set_options_json(::std::string&& value);
-  #endif
-  void set_options_json(const char* value);
-  void set_options_json(const char* value, size_t size);
-  ::std::string* mutable_options_json();
-  ::std::string* release_options_json();
-  void set_allocated_options_json(::std::string* options_json);
-
   // optional .exec.bit.FragmentHandle handle = 1;
-  bool has_handle() const;
-  void clear_handle();
+  inline bool has_handle() const;
+  inline void clear_handle();
   static const int kHandleFieldNumber = 1;
-  private:
-  const ::exec::bit::FragmentHandle& _internal_handle() const;
-  public:
-  const ::exec::bit::FragmentHandle& handle() const;
-  ::exec::bit::FragmentHandle* release_handle();
-  ::exec::bit::FragmentHandle* mutable_handle();
-  void set_allocated_handle(::exec::bit::FragmentHandle* handle);
-
-  // optional .exec.DrillbitEndpoint assignment = 10;
-  bool has_assignment() const;
-  void clear_assignment();
-  static const int kAssignmentFieldNumber = 10;
-  private:
-  const ::exec::DrillbitEndpoint& _internal_assignment() const;
-  public:
-  const ::exec::DrillbitEndpoint& assignment() const;
-  ::exec::DrillbitEndpoint* release_assignment();
-  ::exec::DrillbitEndpoint* mutable_assignment();
-  void set_allocated_assignment(::exec::DrillbitEndpoint* assignment);
-
-  // optional .exec.DrillbitEndpoint foreman = 11;
-  bool has_foreman() const;
-  void clear_foreman();
-  static const int kForemanFieldNumber = 11;
-  private:
-  const ::exec::DrillbitEndpoint& _internal_foreman() const;
-  public:
-  const ::exec::DrillbitEndpoint& foreman() const;
-  ::exec::DrillbitEndpoint* release_foreman();
-  ::exec::DrillbitEndpoint* mutable_foreman();
-  void set_allocated_foreman(::exec::DrillbitEndpoint* foreman);
-
-  // optional .exec.shared.UserCredentials credentials = 14;
-  bool has_credentials() const;
-  void clear_credentials();
-  static const int kCredentialsFieldNumber = 14;
-  private:
-  const ::exec::shared::UserCredentials& _internal_credentials() const;
-  public:
-  const ::exec::shared::UserCredentials& credentials() const;
-  ::exec::shared::UserCredentials* release_credentials();
-  ::exec::shared::UserCredentials* mutable_credentials();
-  void set_allocated_credentials(::exec::shared::UserCredentials* credentials);
-
-  // optional .exec.bit.control.QueryContextInformation context = 16;
-  bool has_context() const;
-  void clear_context();
-  static const int kContextFieldNumber = 16;
-  private:
-  const ::exec::bit::control::QueryContextInformation& _internal_context() const;
-  public:
-  const ::exec::bit::control::QueryContextInformation& context() const;
-  ::exec::bit::control::QueryContextInformation* release_context();
-  ::exec::bit::control::QueryContextInformation* mutable_context();
-  void set_allocated_context(::exec::bit::control::QueryContextInformation* context);
+  inline const ::exec::bit::FragmentHandle& handle() const;
+  inline ::exec::bit::FragmentHandle* mutable_handle();
+  inline ::exec::bit::FragmentHandle* release_handle();
+  inline void set_allocated_handle(::exec::bit::FragmentHandle* handle);
 
   // optional float network_cost = 4;
-  bool has_network_cost() const;
-  void clear_network_cost();
+  inline bool has_network_cost() const;
+  inline void clear_network_cost();
   static const int kNetworkCostFieldNumber = 4;
-  float network_cost() const;
-  void set_network_cost(float value);
+  inline float network_cost() const;
+  inline void set_network_cost(float value);
 
   // optional float cpu_cost = 5;
-  bool has_cpu_cost() const;
-  void clear_cpu_cost();
+  inline bool has_cpu_cost() const;
+  inline void clear_cpu_cost();
   static const int kCpuCostFieldNumber = 5;
-  float cpu_cost() const;
-  void set_cpu_cost(float value);
+  inline float cpu_cost() const;
+  inline void set_cpu_cost(float value);
 
   // optional float disk_cost = 6;
-  bool has_disk_cost() const;
-  void clear_disk_cost();
+  inline bool has_disk_cost() const;
+  inline void clear_disk_cost();
   static const int kDiskCostFieldNumber = 6;
-  float disk_cost() const;
-  void set_disk_cost(float value);
+  inline float disk_cost() const;
+  inline void set_disk_cost(float value);
 
   // optional float memory_cost = 7;
-  bool has_memory_cost() const;
-  void clear_memory_cost();
+  inline bool has_memory_cost() const;
+  inline void clear_memory_cost();
   static const int kMemoryCostFieldNumber = 7;
-  float memory_cost() const;
-  void set_memory_cost(float value);
+  inline float memory_cost() const;
+  inline void set_memory_cost(float value);
+
+  // optional string fragment_json = 8;
+  inline bool has_fragment_json() const;
+  inline void clear_fragment_json();
+  static const int kFragmentJsonFieldNumber = 8;
+  inline const ::std::string& fragment_json() const;
+  inline void set_fragment_json(const ::std::string& value);
+  inline void set_fragment_json(const char* value);
+  inline void set_fragment_json(const char* value, size_t size);
+  inline ::std::string* mutable_fragment_json();
+  inline ::std::string* release_fragment_json();
+  inline void set_allocated_fragment_json(::std::string* fragment_json);
 
   // optional bool leaf_fragment = 9;
-  bool has_leaf_fragment() const;
-  void clear_leaf_fragment();
+  inline bool has_leaf_fragment() const;
+  inline void clear_leaf_fragment();
   static const int kLeafFragmentFieldNumber = 9;
-  bool leaf_fragment() const;
-  void set_leaf_fragment(bool value);
+  inline bool leaf_fragment() const;
+  inline void set_leaf_fragment(bool value);
+
+  // optional .exec.DrillbitEndpoint assignment = 10;
+  inline bool has_assignment() const;
+  inline void clear_assignment();
+  static const int kAssignmentFieldNumber = 10;
+  inline const ::exec::DrillbitEndpoint& assignment() const;
+  inline ::exec::DrillbitEndpoint* mutable_assignment();
+  inline ::exec::DrillbitEndpoint* release_assignment();
+  inline void set_allocated_assignment(::exec::DrillbitEndpoint* assignment);
+
+  // optional .exec.DrillbitEndpoint foreman = 11;
+  inline bool has_foreman() const;
+  inline void clear_foreman();
+  static const int kForemanFieldNumber = 11;
+  inline const ::exec::DrillbitEndpoint& foreman() const;
+  inline ::exec::DrillbitEndpoint* mutable_foreman();
+  inline ::exec::DrillbitEndpoint* release_foreman();
+  inline void set_allocated_foreman(::exec::DrillbitEndpoint* foreman);
 
   // optional int64 mem_initial = 12 [default = 20000000];
-  bool has_mem_initial() const;
-  void clear_mem_initial();
+  inline bool has_mem_initial() const;
+  inline void clear_mem_initial();
   static const int kMemInitialFieldNumber = 12;
-  ::google::protobuf::int64 mem_initial() const;
-  void set_mem_initial(::google::protobuf::int64 value);
+  inline ::google::protobuf::int64 mem_initial() const;
+  inline void set_mem_initial(::google::protobuf::int64 value);
 
   // optional int64 mem_max = 13 [default = 2000000000];
-  bool has_mem_max() const;
-  void clear_mem_max();
+  inline bool has_mem_max() const;
+  inline void clear_mem_max();
   static const int kMemMaxFieldNumber = 13;
-  ::google::protobuf::int64 mem_max() const;
-  void set_mem_max(::google::protobuf::int64 value);
+  inline ::google::protobuf::int64 mem_max() const;
+  inline void set_mem_max(::google::protobuf::int64 value);
+
+  // optional .exec.shared.UserCredentials credentials = 14;
+  inline bool has_credentials() const;
+  inline void clear_credentials();
+  static const int kCredentialsFieldNumber = 14;
+  inline const ::exec::shared::UserCredentials& credentials() const;
+  inline ::exec::shared::UserCredentials* mutable_credentials();
+  inline ::exec::shared::UserCredentials* release_credentials();
+  inline void set_allocated_credentials(::exec::shared::UserCredentials* credentials);
+
+  // optional string options_json = 15;
+  inline bool has_options_json() const;
+  inline void clear_options_json();
+  static const int kOptionsJsonFieldNumber = 15;
+  inline const ::std::string& options_json() const;
+  inline void set_options_json(const ::std::string& value);
+  inline void set_options_json(const char* value);
+  inline void set_options_json(const char* value, size_t size);
+  inline ::std::string* mutable_options_json();
+  inline ::std::string* release_options_json();
+  inline void set_allocated_options_json(::std::string* options_json);
+
+  // optional .exec.bit.control.QueryContextInformation context = 16;
+  inline bool has_context() const;
+  inline void clear_context();
+  static const int kContextFieldNumber = 16;
+  inline const ::exec::bit::control::QueryContextInformation& context() const;
+  inline ::exec::bit::control::QueryContextInformation* mutable_context();
+  inline ::exec::bit::control::QueryContextInformation* release_context();
+  inline void set_allocated_context(::exec::bit::control::QueryContextInformation* context);
+
+  // repeated .exec.bit.control.Collector collector = 17;
+  inline int collector_size() const;
+  inline void clear_collector();
+  static const int kCollectorFieldNumber = 17;
+  inline const ::exec::bit::control::Collector& collector(int index) const;
+  inline ::exec::bit::control::Collector* mutable_collector(int index);
+  inline ::exec::bit::control::Collector* add_collector();
+  inline const ::google::protobuf::RepeatedPtrField< ::exec::bit::control::Collector >&
+      collector() const;
+  inline ::google::protobuf::RepeatedPtrField< ::exec::bit::control::Collector >*
+      mutable_collector();
 
   // @@protoc_insertion_point(class_scope:exec.bit.control.PlanFragment)
  private:
-  void set_has_handle();
-  void clear_has_handle();
-  void set_has_network_cost();
-  void clear_has_network_cost();
-  void set_has_cpu_cost();
-  void clear_has_cpu_cost();
-  void set_has_disk_cost();
-  void clear_has_disk_cost();
-  void set_has_memory_cost();
-  void clear_has_memory_cost();
-  void set_has_fragment_json();
-  void clear_has_fragment_json();
-  void set_has_leaf_fragment();
-  void clear_has_leaf_fragment();
-  void set_has_assignment();
-  void clear_has_assignment();
-  void set_has_foreman();
-  void clear_has_foreman();
-  void set_has_mem_initial();
-  void clear_has_mem_initial();
-  void set_has_mem_max();
-  void clear_has_mem_max();
-  void set_has_credentials();
-  void clear_has_credentials();
-  void set_has_options_json();
-  void clear_has_options_json();
-  void set_has_context();
-  void clear_has_context();
-
-  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
-  ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable ::google::protobuf::internal::CachedSize _cached_size_;
-  ::google::protobuf::RepeatedPtrField< ::exec::bit::control::Collector > collector_;
-  ::google::protobuf::internal::ArenaStringPtr fragment_json_;
-  ::google::protobuf::internal::ArenaStringPtr options_json_;
+  inline void set_has_handle();
+  inline void clear_has_handle();
+  inline void set_has_network_cost();
+  inline void clear_has_network_cost();
+  inline void set_has_cpu_cost();
+  inline void clear_has_cpu_cost();
+  inline void set_has_disk_cost();
+  inline void clear_has_disk_cost();
+  inline void set_has_memory_cost();
+  inline void clear_has_memory_cost();
+  inline void set_has_fragment_json();
+  inline void clear_has_fragment_json();
+  inline void set_has_leaf_fragment();
+  inline void clear_has_leaf_fragment();
+  inline void set_has_assignment();
+  inline void clear_has_assignment();
+  inline void set_has_foreman();
+  inline void clear_has_foreman();
+  inline void set_has_mem_initial();
+  inline void clear_has_mem_initial();
+  inline void set_has_mem_max();
+  inline void clear_has_mem_max();
+  inline void set_has_credentials();
+  inline void clear_has_credentials();
+  inline void set_has_options_json();
+  inline void clear_has_options_json();
+  inline void set_has_context();
+  inline void clear_has_context();
+
+  ::google::protobuf::UnknownFieldSet _unknown_fields_;
+
   ::exec::bit::FragmentHandle* handle_;
-  ::exec::DrillbitEndpoint* assignment_;
-  ::exec::DrillbitEndpoint* foreman_;
-  ::exec::shared::UserCredentials* credentials_;
-  ::exec::bit::control::QueryContextInformation* context_;
   float network_cost_;
   float cpu_cost_;
   float disk_cost_;
   float memory_cost_;
-  bool leaf_fragment_;
+  ::std::string* fragment_json_;
+  ::exec::DrillbitEndpoint* assignment_;
+  ::exec::DrillbitEndpoint* foreman_;
   ::google::protobuf::int64 mem_initial_;
   ::google::protobuf::int64 mem_max_;
-  friend struct ::protobuf_BitControl_2eproto::TableStruct;
+  ::exec::shared::UserCredentials* credentials_;
+  ::std::string* options_json_;
+  ::exec::bit::control::QueryContextInformation* context_;
+  ::google::protobuf::RepeatedPtrField< ::exec::bit::control::Collector > collector_;
+  bool leaf_fragment_;
+
+  mutable int _cached_size_;
+  ::google::protobuf::uint32 _has_bits_[(15 + 31) / 32];
+
+  friend void  protobuf_AddDesc_BitControl_2eproto();
+  friend void protobuf_AssignDesc_BitControl_2eproto();
+  friend void protobuf_ShutdownFile_BitControl_2eproto();
+
+  void InitAsDefaultInstance();
+  static PlanFragment* default_instance_;
 };
 // -------------------------------------------------------------------
 
-class Collector : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:exec.bit.control.Collector) */ {
+class Collector : public ::google::protobuf::Message {
  public:
   Collector();
   virtual ~Collector();
@@ -1111,144 +827,112 @@ class Collector : public ::google::protobuf::Message /* @@protoc_insertion_point
     CopyFrom(from);
     return *this;
   }
-  #if LANG_CXX11
-  Collector(Collector&& from) noexcept
-    : Collector() {
-    *this = ::std::move(from);
-  }
 
-  inline Collector& operator=(Collector&& from) noexcept {
-    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-  #endif
   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _internal_metadata_.unknown_fields();
+    return _unknown_fields_;
   }
+
   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return _internal_metadata_.mutable_unknown_fields();
+    return &_unknown_fields_;
   }
 
   static const ::google::protobuf::Descriptor* descriptor();
   static const Collector& default_instance();
 
-  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
-  static inline const Collector* internal_default_instance() {
-    return reinterpret_cast<const Collector*>(
-               &_Collector_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    6;
-
   void Swap(Collector* other);
-  friend void swap(Collector& a, Collector& b) {
-    a.Swap(&b);
-  }
 
   // implements Message ----------------------------------------------
 
-  inline Collector* New() const final {
-    return CreateMaybeMessage<Collector>(NULL);
-  }
-
-  Collector* New(::google::protobuf::Arena* arena) const final {
-    return CreateMaybeMessage<Collector>(arena);
-  }
-  void CopyFrom(const ::google::protobuf::Message& from) final;
-  void MergeFrom(const ::google::protobuf::Message& from) final;
+  Collector* New() const;
+  void CopyFrom(const ::google::protobuf::Message& from);
+  void MergeFrom(const ::google::protobuf::Message& from);
   void CopyFrom(const Collector& from);
   void MergeFrom(const Collector& from);
-  void Clear() final;
-  bool IsInitialized() const final;
+  void Clear();
+  bool IsInitialized() const;
 
-  size_t ByteSizeLong() const final;
+  int ByteSize() const;
   bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) final;
+      ::google::protobuf::io::CodedInputStream* input);
   void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const final;
-  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
+      ::google::protobuf::io::CodedOutputStream* output) const;
+  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
+  int GetCachedSize() const { return _cached_size_; }
   private:
   void SharedCtor();
   void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(Collector* other);
-  private:
-  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
-    return NULL;
-  }
-  inline void* MaybeArenaPtr() const {
-    return NULL;
-  }
+  void SetCachedSize(int size) const;
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const final;
+  ::google::protobuf::Metadata GetMetadata() const;
 
   // nested types ----------------------------------------------------
 
   // accessors -------------------------------------------------------
 
+  // optional int32 opposite_major_fragment_id = 1;
+  inline bool has_opposite_major_fragment_id() const;
+  inline void clear_opposite_major_fragment_id();
+  static const int kOppositeMajorFragmentIdFieldNumber = 1;
+  inline ::google::protobuf::int32 opposite_major_fragment_id() const;
+  inline void set_opposite_major_fragment_id(::google::protobuf::int32 value);
+
   // repeated int32 incoming_minor_fragment = 2 [packed = true];
-  int incoming_minor_fragment_size() const;
-  void clear_incoming_minor_fragment();
+  inline int incoming_minor_fragment_size() const;
+  inline void clear_incoming_minor_fragment();
   static const int kIncomingMinorFragmentFieldNumber = 2;
-  ::google::protobuf::int32 incoming_minor_fragment(int index) const;
-  void set_incoming_minor_fragment(int index, ::google::protobuf::int32 value);
-  void add_incoming_minor_fragment(::google::protobuf::int32 value);
-  const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
+  inline ::google::protobuf::int32 incoming_minor_fragment(int index) const;
+  inline void set_incoming_minor_fragment(int index, ::google::protobuf::int32 value);
+  inline void add_incoming_minor_fragment(::google::protobuf::int32 value);
+  inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
       incoming_minor_fragment() const;
-  ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
+  inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
       mutable_incoming_minor_fragment();
 
-  // optional int32 opposite_major_fragment_id = 1;
-  bool has_opposite_major_fragment_id() const;
-  void clear_opposite_major_fragment_id();
-  static const int kOppositeMajorFragmentIdFieldNumber = 1;
-  ::google::protobuf::int32 opposite_major_fragment_id() const;
-  void set_opposite_major_fragment_id(::google::protobuf::int32 value);
-
   // optional bool supports_out_of_order = 3;
-  bool has_supports_out_of_order() const;
-  void clear_supports_out_of_order();
+  inline bool has_supports_out_of_order() const;
+  inline void clear_supports_out_of_order();
   static const int kSupportsOutOfOrderFieldNumber = 3;
-  bool supports_out_of_order() const;
-  void set_supports_out_of_order(bool value);
+  inline bool supports_out_of_order() const;
+  inline void set_supports_out_of_order(bool value);
 
   // optional bool is_spooling = 4;
-  bool has_is_spooling() const;
-  void clear_is_spooling();
+  inline bool has_is_spooling() const;
+  inline void clear_is_spooling();
   static const int kIsSpoolingFieldNumber = 4;
-  bool is_spooling() const;
-  void set_is_spooling(bool value);
+  inline bool is_spooling() const;
+  inline void set_is_spooling(bool value);
 
   // @@protoc_insertion_point(class_scope:exec.bit.control.Collector)
  private:
-  void set_has_opposite_major_fragment_id();
-  void clear_has_opposite_major_fragment_id();
-  void set_has_supports_out_of_order();
-  void clear_has_supports_out_of_order();
-  void set_has_is_spooling();
-  void clear_has_is_spooling();
-
-  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
-  ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable ::google::protobuf::internal::CachedSize _cached_size_;
+  inline void set_has_opposite_major_fragment_id();
+  inline void clear_has_opposite_major_fragment_id();
+  inline void set_has_supports_out_of_order();
+  inline void clear_has_supports_out_of_order();
+  inline void set_has_is_spooling();
+  inline void clear_has_is_spooling();
+
+  ::google::protobuf::UnknownFieldSet _unknown_fields_;
+
   ::google::protobuf::RepeatedField< ::google::protobuf::int32 > incoming_minor_fragment_;
   mutable int _incoming_minor_fragment_cached_byte_size_;
   ::google::protobuf::int32 opposite_major_fragment_id_;
   bool supports_out_of_order_;
   bool is_spooling_;
-  friend struct ::protobuf_BitControl_2eproto::TableStruct;
+
+  mutable int _cached_size_;
+  ::google::protobuf::uint32 _has_bits_[(4 + 31) / 32];
+
+  friend void  protobuf_AddDesc_BitControl_2eproto();
+  friend void protobuf_AssignDesc_BitControl_2eproto();
+  friend void protobuf_ShutdownFile_BitControl_2eproto();
+
+  void InitAsDefaultInstance();
+  static Collector* default_instance_;
 };
 // -------------------------------------------------------------------
 
-class QueryContextInformation : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:exec.bit.control.QueryContextInformation) */ {
+class QueryContextInformation : public ::google::protobuf::Message {
  public:
   QueryContextInformation();
   virtual ~QueryContextInformation();
@@ -1259,156 +943,118 @@ class QueryContextInformation : public ::google::protobuf::Message /* @@protoc_i
     CopyFrom(from);
     return *this;
   }
-  #if LANG_CXX11
-  QueryContextInformation(QueryContextInformation&& from) noexcept
-    : QueryContextInformation() {
-    *this = ::std::move(from);
-  }
 
-  inline QueryContextInformation& operator=(QueryContextInformation&& from) noexcept {
-    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-  #endif
   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _internal_metadata_.unknown_fields();
+    return _unknown_fields_;
   }
+
   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return _internal_metadata_.mutable_unknown_fields();
+    return &_unknown_fields_;
   }
 
   static const ::google::protobuf::Descriptor* descriptor();
   static const QueryContextInformation& default_instance();
 
-  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
-  static inline const QueryContextInformation* internal_default_instance() {
-    return reinterpret_cast<const QueryContextInformation*>(
-               &_QueryContextInformation_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    7;
-
   void Swap(QueryContextInformation* other);
-  friend void swap(QueryContextInformation& a, QueryContextInformation& b) {
-    a.Swap(&b);
-  }
 
   // implements Message ----------------------------------------------
 
-  inline QueryContextInformation* New() const final {
-    return CreateMaybeMessage<QueryContextInformation>(NULL);
-  }
-
-  QueryContextInformation* New(::google::protobuf::Arena* arena) const final {
-    return CreateMaybeMessage<QueryContextInformation>(arena);
-  }
-  void CopyFrom(const ::google::protobuf::Message& from) final;
-  void MergeFrom(const ::google::protobuf::Message& from) final;
+  QueryContextInformation* New() const;
+  void CopyFrom(const ::google::protobuf::Message& from);
+  void MergeFrom(const ::google::protobuf::Message& from);
   void CopyFrom(const QueryContextInformation& from);
   void MergeFrom(const QueryContextInformation& from);
-  void Clear() final;
-  bool IsInitialized() const final;
+  void Clear();
+  bool IsInitialized() const;
 
-  size_t ByteSizeLong() const final;
+  int ByteSize() const;
   bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) final;
+      ::google::protobuf::io::CodedInputStream* input);
   void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const final;
-  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
+      ::google::protobuf::io::CodedOutputStream* output) const;
+  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
+  int GetCachedSize() const { return _cached_size_; }
   private:
   void SharedCtor();
   void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(QueryContextInformation* other);
-  private:
-  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
-    return NULL;
-  }
-  inline void* MaybeArenaPtr() const {
-    return NULL;
-  }
+  void SetCachedSize(int size) const;
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const final;
+  ::google::protobuf::Metadata GetMetadata() const;
 
   // nested types ----------------------------------------------------
 
   // accessors -------------------------------------------------------
 
-  // optional string default_schema_name = 3;
-  bool has_default_schema_name() const;
-  void clear_default_schema_name();
-  static const int kDefaultSchemaNameFieldNumber = 3;
-  const ::std::string& default_schema_name() const;
-  void set_default_schema_name(const ::std::string& value);
-  #if LANG_CXX11
-  void set_default_schema_name(::std::string&& value);
-  #endif
-  void set_default_schema_name(const char* value);
-  void set_default_schema_name(const char* value, size_t size);
-  ::std::string* mutable_default_schema_name();
-  ::std::string* release_default_schema_name();
-  void set_allocated_default_schema_name(::std::string* default_schema_name);
-
-  // optional string session_id = 4;
-  bool has_session_id() const;
-  void clear_session_id();
-  static const int kSessionIdFieldNumber = 4;
-  const ::std::string& session_id() const;
-  void set_session_id(const ::std::string& value);
-  #if LANG_CXX11
-  void set_session_id(::std::string&& value);
-  #endif
-  void set_session_id(const char* value);
-  void set_session_id(const char* value, size_t size);
-  ::std::string* mutable_session_id();
-  ::std::string* release_session_id();
-  void set_allocated_session_id(::std::string* session_id);
-
   // optional int64 query_start_time = 1;
-  bool has_query_start_time() const;
-  void clear_query_start_time();
+  inline bool has_query_start_time() const;
+  inline void clear_query_start_time();
   static const int kQueryStartTimeFieldNumber = 1;
-  ::google::protobuf::int64 query_start_time() const;
-  void set_query_start_time(::google::protobuf::int64 value);
+  inline ::google::protobuf::int64 query_start_time() const;
+  inline void set_query_start_time(::google::protobuf::int64 value);
 
   // optional int32 time_zone = 2;
-  bool has_time_zone() const;
-  void clear_time_zone();
+  inline bool has_time_zone() const;
+  inline void clear_time_zone();
   static const int kTimeZoneFieldNumber = 2;
-  ::google::protobuf::int32 time_zone() const;
-  void set_time_zone(::google::protobuf::int32 value);
+  inline ::google::protobuf::int32 time_zone() const;
+  inline void set_time_zone(::google::protobuf::int32 value);
+
+  // optional string default_schema_name = 3;
+  inline bool has_default_schema_name() const;
+  inline void clear_default_schema_name();
+  static const int kDefaultSchemaNameFieldNumber = 3;
+  inline const ::std::string& default_schema_name() const;
+  inline void set_default_schema_name(const ::std::string& value);
+  inline void set_default_schema_name(const char* value);
+  inline void set_default_schema_name(const char* value, size_t size);
+  inline ::std::string* mutable_default_schema_name();
+  inline ::std::string* release_default_schema_name();
+  inline void set_allocated_default_schema_name(::std::string* default_schema_name);
+
+  // optional string session_id = 4;
+  inline bool has_session_id() const;
+  inline void clear_session_id();
+  static const int kSessionIdFieldNumber = 4;
+  inline const ::std::string& session_id() const;
+  inline void set_session_id(const ::std::string& value);
+  inline void set_session_id(const char* value);
+  inline void set_session_id(const char* value, size_t size);
+  inline ::std::string* mutable_session_id();
+  inline ::std::string* release_session_id();
+  inline void set_allocated_session_id(::std::string* session_id);
 
   // @@protoc_insertion_point(class_scope:exec.bit.control.QueryContextInformation)
  private:
-  void set_has_query_start_time();
-  void clear_has_query_start_time();
-  void set_has_time_zone();
-  void clear_has_time_zone();
-  void set_has_default_schema_name();
-  void clear_has_default_schema_name();
-  void set_has_session_id();
-  void clear_has_session_id();
-
-  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
-  ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable ::google::protobuf::internal::CachedSize _cached_size_;
-  ::google::protobuf::internal::ArenaStringPtr default_schema_name_;
-  ::google::protobuf::internal::ArenaStringPtr session_id_;
+  inline void set_has_query_start_time();
+  inline void clear_has_query_start_time();
+  inline void set_has_time_zone();
+  inline void clear_has_time_zone();
+  inline void set_has_default_schema_name();
+  inline void clear_has_default_schema_name();
+  inline void set_has_session_id();
+  inline void clear_has_session_id();
+
+  ::google::protobuf::UnknownFieldSet _unknown_fields_;
+
   ::google::protobuf::int64 query_start_time_;
+  ::std::string* default_schema_name_;
+  ::std::string* session_id_;
   ::google::protobuf::int32 time_zone_;
-  friend struct ::protobuf_BitControl_2eproto::TableStruct;
+
+  mutable int _cached_size_;
+  ::google::protobuf::uint32 _has_bits_[(4 + 31) / 32];
+
+  friend void  protobuf_AddDesc_BitControl_2eproto();
+  friend void protobuf_AssignDesc_BitControl_2eproto();
+  friend void protobuf_ShutdownFile_BitControl_2eproto();
+
+  void InitAsDefaultInstance();
+  static QueryContextInformation* default_instance_;
 };
 // -------------------------------------------------------------------
 
-class WorkQueueStatus : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:exec.bit.control.WorkQueueStatus) */ {
+class WorkQueueStatus : public ::google::protobuf::Message {
  public:
   WorkQueueStatus();
   virtual ~WorkQueueStatus();
@@ -1419,135 +1065,100 @@ class WorkQueueStatus : public ::google::protobuf::Message /* @@protoc_insertion
     CopyFrom(from);
     return *this;
   }
-  #if LANG_CXX11
-  WorkQueueStatus(WorkQueueStatus&& from) noexcept
-    : WorkQueueStatus() {
-    *this = ::std::move(from);
-  }
 
-  inline WorkQueueStatus& operator=(WorkQueueStatus&& from) noexcept {
-    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-  #endif
   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _internal_metadata_.unknown_fields();
+    return _unknown_fields_;
   }
+
   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return _internal_metadata_.mutable_unknown_fields();
+    return &_unknown_fields_;
   }
 
   static const ::google::protobuf::Descriptor* descriptor();
   static const WorkQueueStatus& default_instance();
 
-  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
-  static inline const WorkQueueStatus* internal_default_instance() {
-    return reinterpret_cast<const WorkQueueStatus*>(
-               &_WorkQueueStatus_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    8;
-
   void Swap(WorkQueueStatus* other);
-  friend void swap(WorkQueueStatus& a, WorkQueueStatus& b) {
-    a.Swap(&b);
-  }
 
   // implements Message ----------------------------------------------
 
-  inline WorkQueueStatus* New() const final {
-    return CreateMaybeMessage<WorkQueueStatus>(NULL);
-  }
-
-  WorkQueueStatus* New(::google::protobuf::Arena* arena) const final {
-    return CreateMaybeMessage<WorkQueueStatus>(arena);
-  }
-  void CopyFrom(const ::google::protobuf::Message& from) final;
-  void MergeFrom(const ::google::protobuf::Message& from) final;
+  WorkQueueStatus* New() const;
+  void CopyFrom(const ::google::protobuf::Message& from);
+  void MergeFrom(const ::google::protobuf::Message& from);
   void CopyFrom(const WorkQueueStatus& from);
   void MergeFrom(const WorkQueueStatus& from);
-  void Clear() final;
-  bool IsInitialized() const final;
+  void Clear();
+  bool IsInitialized() const;
 
-  size_t ByteSizeLong() const final;
+  int ByteSize() const;
   bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) final;
+      ::google::protobuf::io::CodedInputStream* input);
   void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const final;
-  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
+      ::google::protobuf::io::CodedOutputStream* output) const;
+  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
+  int GetCachedSize() const { return _cached_size_; }
   private:
   void SharedCtor();
   void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(WorkQueueStatus* other);
-  private:
-  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
-    return NULL;
-  }
-  inline void* MaybeArenaPtr() const {
-    return NULL;
-  }
+  void SetCachedSize(int size) const;
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const final;
+  ::google::protobuf::Metadata GetMetadata() const;
 
   // nested types ----------------------------------------------------
 
   // accessors -------------------------------------------------------
 
   // optional .exec.DrillbitEndpoint endpoint = 1;
-  bool has_endpoint() const;
-  void clear_endpoint();
+  inline bool has_endpoint() const;
+  inline void clear_endpoint();
   static const int kEndpointFieldNumber = 1;
-  private:
-  const ::exec::DrillbitEndpoint& _internal_endpoint() const;
-  public:
-  const ::exec::DrillbitEndpoint& endpoint() const;
-  ::exec::DrillbitEndpoint* release_endpoint();
-  ::exec::DrillbitEndpoint* mutable_endpoint();
-  void set_allocated_endpoint(::exec::DrillbitEndpoint* endpoint);
-
-  // optional int64 report_time = 3;
-  bool has_report_time() const;
-  void clear_report_time();
-  static const int kReportTimeFieldNumber = 3;
-  ::google::protobuf::int64 report_time() const;
-  void set_report_time(::google::protobuf::int64 value);
+  inline const ::exec::DrillbitEndpoint& endpoint() const;
+  inline ::exec::DrillbitEndpoint* mutable_endpoint();
+  inline ::exec::DrillbitEndpoint* release_endpoint();
+  inline void set_allocated_endpoint(::exec::DrillbitEndpoint* endpoint);
 
   // optional int32 queue_length = 2;
-  bool has_queue_length() const;
-  void clear_queue_length();
+  inline bool has_queue_length() const;
+  inline void clear_queue_length();
   static const int kQueueLengthFieldNumber = 2;
-  ::google::protobuf::int32 queue_length() const;
-  void set_queue_length(::google::protobuf::int32 value);
+  inline ::google::protobuf::int32 queue_length() const;
+  inline void set_queue_length(::google::protobuf::int32 value);
+
+  // optional int64 report_time = 3;
+  inline bool has_report_time() const;
+  inline void clear_report_time();
+  static const int kReportTimeFieldNumber = 3;
+  inline ::google::protobuf::int64 report_time() const;
+  inline void set_report_time(::google::protobuf::int64 value);
 
   // @@protoc_insertion_point(class_scope:exec.bit.control.WorkQueueStatus)
  private:
-  void set_has_endpoint();
-  void clear_has_endpoint();
-  void set_has_queue_length();
-  void clear_has_queue_length();
-  void set_has_report_time();
-  void clear_has_report_time();
-
-  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
-  ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable ::google::protobuf::internal::CachedSize _cached_size_;
+  inline void set_has_endpoint();
+  inline void clear_has_endpoint();
+  inline void set_has_queue_length();
+  inline void clear_has_queue_length();
+  inline void set_has_report_time();
+  inline void clear_has_report_time();
+
+  ::google::protobuf::UnknownFieldSet _unknown_fields_;
+
   ::exec::DrillbitEndpoint* endpoint_;
   ::google::protobuf::int64 report_time_;
   ::google::protobuf::int32 queue_length_;
-  friend struct ::protobuf_BitControl_2eproto::TableStruct;
+
+  mutable int _cached_size_;
+  ::google::protobuf::uint32 _has_bits_[(3 + 31) / 32];
+
+  friend void  protobuf_AddDesc_BitControl_2eproto();
+  friend void protobuf_AssignDesc_BitControl_2eproto();
+  friend void protobuf_ShutdownFile_BitControl_2eproto();
+
+  void InitAsDefaultInstance();
+  static WorkQueueStatus* default_instance_;
 };
 // -------------------------------------------------------------------
 
-class FinishedReceiver : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:exec.bit.control.FinishedReceiver) */ {
+class FinishedReceiver : public ::google::protobuf::Message {
  public:
   FinishedReceiver();
   virtual ~FinishedReceiver();
@@ -1558,239 +1169,177 @@ class FinishedReceiver : public ::google::protobuf::Message /* @@protoc_insertio
     CopyFrom(from);
     return *this;
   }
-  #if LANG_CXX11
-  FinishedReceiver(FinishedReceiver&& from) noexcept
-    : FinishedReceiver() {
-    *this = ::std::move(from);
-  }
 
-  inline FinishedReceiver& operator=(FinishedReceiver&& from) noexcept {
-    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-  #endif
   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _internal_metadata_.unknown_fields();
+    return _unknown_fields_;
   }
+
   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return _internal_metadata_.mutable_unknown_fields();
+    return &_unknown_fields_;
   }
 
   static const ::google::protobuf::Descriptor* descriptor();
   static const FinishedReceiver& default_instance();
 
-  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
-  static inline const FinishedReceiver* internal_default_instance() {
-    return reinterpret_cast<const FinishedReceiver*>(
-               &_FinishedReceiver_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    9;
-
   void Swap(FinishedReceiver* other);
-  friend void swap(FinishedReceiver& a, FinishedReceiver& b) {
-    a.Swap(&b);
-  }
 
   // implements Message ----------------------------------------------
 
-  inline FinishedReceiver* New() const final {
-    return CreateMaybeMessage<FinishedReceiver>(NULL);
-  }
-
-  FinishedReceiver* New(::google::protobuf::Arena* arena) const final {
-    return CreateMaybeMessage<FinishedReceiver>(arena);
-  }
-  void CopyFrom(const ::google::protobuf::Message& from) final;
-  void MergeFrom(const ::google::protobuf::Message& from) final;
+  FinishedReceiver* New() const;
+  void CopyFrom(const ::google::protobuf::Message& from);
+  void MergeFrom(const ::google::protobuf::Message& from);
   void CopyFrom(const FinishedReceiver& from);
   void MergeFrom(const FinishedReceiver& from);
-  void Clear() final;
-  bool IsInitialized() const final;
+  void Clear();
+  bool IsInitialized() const;
 
-  size_t ByteSizeLong() const final;
+  int ByteSize() const;
   bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) final;
+      ::google::protobuf::io::CodedInputStream* input);
   void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const final;
-  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
+      ::google::protobuf::io::CodedOutputStream* output) const;
+  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
+  int GetCachedSize() const { return _cached_size_; }
   private:
   void SharedCtor();
   void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(FinishedReceiver* other);
-  private:
-  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
-    return NULL;
-  }
-  inline void* MaybeArenaPtr() const {
-    return NULL;
-  }
+  void SetCachedSize(int size) const;
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const final;
+  ::google::protobuf::Metadata GetMetadata() const;
 
   // nested types ----------------------------------------------------
 
   // accessors -------------------------------------------------------
 
   // optional .exec.bit.FragmentHandle receiver = 1;
-  bool has_receiver() const;
-  void clear_receiver();
+  inline bool has_receiver() const;
+  inline void clear_receiver();
   static const int kReceiverFieldNumber = 1;
-  private:
-  const ::exec::bit::FragmentHandle& _internal_receiver() const;
-  public:
-  const ::exec::bit::FragmentHandle& receiver() const;
-  ::exec::bit::FragmentHandle* release_receiver();
-  ::exec::bit::FragmentHandle* mutable_receiver();
-  void set_allocated_receiver(::exec::bit::FragmentHandle* receiver);
+  inline const ::exec::bit::FragmentHandle& receiver() const;
+  inline ::exec::bit::FragmentHandle* mutable_receiver();
+  inline ::exec::bit::FragmentHandle* release_receiver();
+  inline void set_allocated_receiver(::exec::bit::FragmentHandle* receiver);
 
   // optional .exec.bit.FragmentHandle sender = 2;
-  bool has_sender() const;
-  void clear_sender();
+  inline bool has_sender() const;
+  inline void clear_sender();
   static const int kSenderFieldNumber = 2;
-  private:
-  const ::exec::bit::FragmentHandle& _internal_sender() const;
-  public:
-  const ::exec::bit::FragmentHandle& sender() const;
-  ::exec::bit::FragmentHandle* release_sender();
-  ::exec::bit::FragmentHandle* mutable_sender();
-  void set_allocated_sender(::exec::bit::FragmentHandle* sender);
+  inline const ::exec::bit::FragmentHandle& sender() const;
+  inline ::exec::bit::FragmentHandle* mutable_sender();
+  inline ::exec::bit::FragmentHandle* release_sender();
+  inline void set_allocated_sender(::exec::bit::FragmentHandle* sender);
 
   // @@protoc_insertion_point(class_scope:exec.bit.control.FinishedReceiver)
  private:
-  void set_has_receiver();
-  void clear_has_receiver();
-  void set_has_sender();
-  void clear_has_sender();
-
-  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
-  ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable ::google::protobuf::internal::CachedSize _cached_size_;
+  inline void set_has_receiver();
+  inline void clear_has_receiver();
+  inline void set_has_sender();
+  inline void clear_has_sender();
+
+  ::google::protobuf::UnknownFieldSet _unknown_fields_;
+
   ::exec::bit::FragmentHandle* receiver_;
   ::exec::bit::FragmentHandle* sender_;
-  friend struct ::protobuf_BitControl_2eproto::TableStruct;
+
+  mutable int _cached_size_;
+  ::google::protobuf::uint32 _has_bits_[(2 + 31) / 32];
+
+  friend void  protobuf_AddDesc_BitControl_2eproto();
+  friend void protobuf_AssignDesc_BitControl_2eproto();
+  friend void protobuf_ShutdownFile_BitControl_2eproto();
+
+  void InitAsDefaultInstance();
+  static FinishedReceiver* default_instance_;
 };
 // ===================================================================
 
 
 // ===================================================================
 
-#ifdef __GNUC__
-  #pragma GCC diagnostic push
-  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
-#endif  // __GNUC__
 // BitControlHandshake
 
 // optional int32 rpc_version = 1;
 inline bool BitControlHandshake::has_rpc_version() const {
-  return (_has_bits_[0] & 0x00000002u) != 0;
+  return (_has_bits_[0] & 0x00000001u) != 0;
 }
 inline void BitControlHandshake::set_has_rpc_version() {
-  _has_bits_[0] |= 0x00000002u;
+  _has_bits_[0] |= 0x00000001u;
 }
 inline void BitControlHandshake::clear_has_rpc_version() {
-  _has_bits_[0] &= ~0x00000002u;
+  _has_bits_[0] &= ~0x00000001u;
 }
 inline void BitControlHandshake::clear_rpc_version() {
   rpc_version_ = 0;
   clear_has_rpc_version();
 }
 inline ::google::protobuf::int32 BitControlHandshake::rpc_version() const {
-  // @@protoc_insertion_point(field_get:exec.bit.control.BitControlHandshake.rpc_version)
   return rpc_version_;
 }
 inline void BitControlHandshake::set_rpc_version(::google::protobuf::int32 value) {
   set_has_rpc_version();
   rpc_version_ = value;
-  // @@protoc_insertion_point(field_set:exec.bit.control.BitControlHandshake.rpc_version)
 }
 
 // optional .exec.shared.RpcChannel channel = 2 [default = BIT_CONTROL];
 inline bool BitControlHandshake::has_channel() const {
-  return (_has_bits_[0] & 0x00000004u) != 0;
+  return (_has_bits_[0] & 0x00000002u) != 0;
 }
 inline void BitControlHandshake::set_has_channel() {
-  _has_bits_[0] |= 0x00000004u;
+  _has_bits_[0] |= 0x00000002u;
 }
 inline void BitControlHandshake::clear_has_channel() {
-  _has_bits_[0] &= ~0x00000004u;
+  _has_bits_[0] &= ~0x00000002u;
 }
 inline void BitControlHandshake::clear_channel() {
   channel_ = 0;
   clear_has_channel();
 }
 inline ::exec::shared::RpcChannel BitControlHandshake::channel() const {
-  // @@protoc_insertion_point(field_get:exec.bit.control.BitControlHandshake.channel)
   return static_cast< ::exec::shared::RpcChannel >(channel_);
 }
 inline void BitControlHandshake::set_channel(::exec::shared::RpcChannel value) {
   assert(::exec::shared::RpcChannel_IsValid(value));
   set_has_channel();
   channel_ = value;
-  // @@protoc_insertion_point(field_set:exec.bit.control.BitControlHandshake.channel)
 }
 
 // optional .exec.DrillbitEndpoint endpoint = 3;
 inline bool BitControlHandshake::has_endpoint() const {
-  return (_has_bits_[0] & 0x00000001u) != 0;
+  return (_has_bits_[0] & 0x00000004u) != 0;
 }
 inline void BitControlHandshake::set_has_endpoint() {
-  _has_bits_[0] |= 0x00000001u;
+  _has_bits_[0] |= 0x00000004u;
 }
 inline void BitControlHandshake::clear_has_endpoint() {
-  _has_bits_[0] &= ~0x00000001u;
+  _has_bits_[0] &= ~0x00000004u;
 }
-inline const ::exec::DrillbitEndpoint& BitControlHandshake::_internal_endpoint() const {
-  return *endpoint_;
+inline void BitControlHandshake::clear_endpoint() {
+  if (endpoint_ != NULL) endpoint_->::exec::DrillbitEndpoint::Clear();
+  clear_has_endpoint();
 }
 inline const ::exec::DrillbitEndpoint& BitControlHandshake::endpoint() const {
-  const ::exec::DrillbitEndpoint* p = endpoint_;
-  // @@protoc_insertion_point(field_get:exec.bit.control.BitControlHandshake.endpoint)
-  return p != NULL ? *p : *reinterpret_cast<const ::exec::DrillbitEndpoint*>(
-      &::exec::_DrillbitEndpoint_default_instance_);
+  return endpoint_ != NULL ? *endpoint_ : *default_instance_->endpoint_;
+}
+inline ::exec::DrillbitEndpoint* BitControlHandshake::mutable_endpoint() {
+  set_has_endpoint();
+  if (endpoint_ == NULL) endpoint_ = new ::exec::DrillbitEndpoint;
+  return endpoint_;
 }
 inline ::exec::DrillbitEndpoint* BitControlHandshake::release_endpoint() {
-  // @@protoc_insertion_point(field_release:exec.bit.control.BitControlHandshake.endpoint)
   clear_has_endpoint();
   ::exec::DrillbitEndpoint* temp = endpoint_;
   endpoint_ = NULL;
   return temp;
 }
-inline ::exec::DrillbitEndpoint* BitControlHandshake::mutable_endpoint() {
-  set_has_endpoint();
-  if (endpoint_ == NULL) {
-    auto* p = CreateMaybeMessage<::exec::DrillbitEndpoint>(GetArenaNoVirtual());
-    endpoint_ = p;
-  }
-  // @@protoc_insertion_point(field_mutable:exec.bit.control.BitControlHandshake.endpoint)
-  return endpoint_;
-}
 inline void BitControlHandshake::set_allocated_endpoint(::exec::DrillbitEndpoint* endpoint) {
-  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
-  if (message_arena == NULL) {
-    delete reinterpret_cast< ::google::protobuf::MessageLite*>(endpoint_);
-  }
+  delete endpoint_;
+  endpoint_ = endpoint;
   if (endpoint) {
-    ::google::protobuf::Arena* submessage_arena = NULL;
-    if (message_arena != submessage_arena) {
-      endpoint = ::google::protobuf::internal::GetOwnedMessage(
-          message_arena, endpoint, submessage_arena);
-    }
     set_has_endpoint();
   } else {
     clear_has_endpoint();
   }
-  endpoint_ = endpoint;
-  // @@protoc_insertion_point(field_set_allocated:exec.bit.control.BitControlHandshake.endpoint)
 }
 
 // repeated string authenticationMechanisms = 4;
@@ -1801,64 +1350,39 @@ inline void BitControlHandshake::clear_authenticationmechanisms() {
   authenticationmechanisms_.Clear();
 }
 inline const ::std::string& BitControlHandshake::authenticationmechanisms(int index) const {
-  // @@protoc_insertion_point(field_get:exec.bit.control.BitControlHandshake.authenticationMechanisms)
   return authenticationmechanisms_.Get(index);
 }
 inline ::std::string* BitControlHandshake::mutable_authenticationmechanisms(int index) {
-  // @@protoc_insertion_point(field_mutable:exec.bit.control.BitControlHandshake.authenticationMechanisms)
   return authenticationmechanisms_.Mutable(index);
 }
 inline void BitControlHandshake::set_authenticationmechanisms(int index, const ::std::string& value) {
-  // @@protoc_insertion_point(field_set:exec.bit.control.BitControlHandshake.authenticationMechanisms)
   authenticationmechanisms_.Mutable(index)->assign(value);
 }
-#if LANG_CXX11
-inline void BitControlHandshake::set_authenticationmechanisms(int index, ::std::string&& value) {
-  // @@protoc_insertion_point(field_set:exec.bit.control.BitControlHandshake.authenticationMechanisms)
-  authenticationmechanisms_.Mutable(index)->assign(std::move(value));
-}
-#endif
 inline void BitControlHandshake::set_authenticationmechanisms(int index, const char* value) {
-  GOOGLE_DCHECK(value != NULL);
   authenticationmechanisms_.Mutable(index)->assign(value);
-  // @@protoc_insertion_point(field_set_char:exec.bit.control.BitControlHandshake.authenticationMechanisms)
 }
 inline void BitControlHandshake::set_authenticationmechanisms(int index, const char* value, size_t size) {
   authenticationmechanisms_.Mutable(index)->assign(
     reinterpret_cast<const char*>(value), size);
-  // @@protoc_insertion_point(field_set_pointer:exec.bit.control.BitControlHandshake.authenticationMechanisms)
 }
 inline ::std::string* BitControlHandshake::add_authenticationmechanisms() {
-  // @@protoc_insertion_point(field_add_mutable:exec.bit.control.BitControlHandshake.authenticationMechanisms)
   return authenticationmechanisms_.Add();
 }
 inline void BitControlHandshake::add_authenticationmechanisms(const ::std::string& value) {
   authenticationmechanisms_.Add()->assign(value);
-  // @@protoc_insertion_point(field_add:exec.bit.control.BitControlHandshake.authenticationMechanisms)
 }
-#if LANG_CXX11
-inline void BitControlHandshake::add_authenticationmechanisms(::std::string&& value) {
-  authenticationmechanisms_.Add(std::move(value));
-  // @@protoc_insertion_point(field_add:exec.bit.control.BitControlHandshake.authenticationMechanisms)
-}
-#endif
 inline void BitControlHandshake::add_authenticationmechanisms(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
   authenticationmechanisms_.Add()->assign(value);
-  // @@protoc_insertion_point(field_add_char:exec.bit.control.BitControlHandshake.authenticationMechanisms)
 }
 inline void BitControlHandshake::add_authenticationmechanisms(const char* value, size_t size) {
   authenticationmechanisms_.Add()->assign(reinterpret_cast<const char*>(value), size);
-  // @@protoc_insertion_point(field_add_pointer:exec.bit.control.BitControlHandshake.authenticationMechanisms)
 }
 inline const ::google::protobuf::RepeatedPtrField< ::std::string>&
 BitControlHandshake::authenticationmechanisms() const {
-  // @@protoc_insertion_point(field_list:exec.bit.control.BitControlHandshake.authenticationMechanisms)
   return authenticationmechanisms_;
 }
 inline ::google::protobuf::RepeatedPtrField< ::std::string>*
 BitControlHandshake::mutable_authenticationmechanisms() {
-  // @@protoc_insertion_point(field_mutable_list:exec.bit.control.BitControlHandshake.authenticationMechanisms)
   return &authenticationmechanisms_;
 }
 
@@ -1873,28 +1397,23 @@ inline int BitStatus::fragment_status_size() const {
 inline void BitStatus::clear_fragment_status() {
   fragment_status_.Clear();
 }
-inline ::exec::bit::control::FragmentStatus* BitStatus::mutable_fragment_status(int index) {
-  // @@protoc_insertion_point(field_mutable:exec.bit.control.BitStatus.fragment_status)
-  return fragment_status_.Mutable(index);
-}
-inline ::google::protobuf::RepeatedPtrField< ::exec::bit::control::FragmentStatus >*
-BitStatus::mutable_fragment_status() {
-  // @@protoc_insertion_point(field_mutable_list:exec.bit.control.BitStatus.fragment_status)
-  return &fragment_status_;
-}
 inline const ::exec::bit::control::FragmentStatus& BitStatus::fragment_status(int index) const {
-  // @@protoc_insertion_point(field_get:exec.bit.control.BitStatus.fragment_status)
   return fragment_status_.Get(index);
 }
+inline ::exec::bit::control::FragmentStatus* BitStatus::mutable_fragment_status(int index) {
+  return fragment_status_.Mutable(index);
+}
 inline ::exec::bit::control::FragmentStatus* BitStatus::add_fragment_status() {
-  // @@protoc_insertion_point(field_add:exec.bit.control.BitStatus.fragment_status)
   return fragment_status_.Add();
 }
 inline const ::google::protobuf::RepeatedPtrField< ::exec::bit::control::FragmentStatus >&
 BitStatus::fragment_status() const {
-  // @@protoc_insertion_point(field_list:exec.bit.control.BitStatus.fragment_status)
   return fragment_status_;
 }
+inline ::google::protobuf::RepeatedPtrField< ::exec::bit::control::FragmentStatus >*
+BitStatus::mutable_fragment_status() {
+  return &fragment_status_;
+}
 
 // -------------------------------------------------------------------
 
@@ -1910,48 +1429,32 @@ inline void FragmentStatus::set_has_profile() {
 inline void FragmentStatus::clear_has_profile() {
   _has_bits_[0] &= ~0x00000001u;
 }
-inline const ::exec::shared::MinorFragmentProfile& FragmentStatus::_internal_profile() const {
-  return *profile_;
+inline void FragmentStatus::clear_profile() {
+  if (profile_ != NULL) profile_->::exec::shared::MinorFragmentProfile::Clear();
+  clear_has_profile();
 }
 inline const ::exec::shared::MinorFragmentProfile& FragmentStatus::profile() const {
-  const ::exec::shared::MinorFragmentProfile* p = profile_;
-  // @@protoc_insertion_point(field_get:exec.bit.control.FragmentStatus.profile)
-  return p != NULL ? *p : *reinterpret_cast<const ::exec::shared::MinorFragmentProfile*>(
-      &::exec::shared::_MinorFragmentProfile_default_instance_);
+  return profile_ != NULL ? *profile_ : *default_instance_->profile_;
+}
+inline ::exec::shared::MinorFragmentProfile* FragmentStatus::mutable_profile() {
+  set_has_profile();
+  if (profile_ == NULL) profile_ = new ::exec::shared::MinorFragmentProfile;
+  return profile_;
 }
 inline ::exec::shared::MinorFragmentProfile* FragmentStatus::release_profile() {
-  // @@protoc_insertion_point(field_release:exec.bit.control.FragmentStatus.profile)
   clear_has_profile();
   ::exec::shared::MinorFragmentProfile* temp = profile_;
   profile_ = NULL;
   return temp;
 }
-inline ::exec::shared::MinorFragmentProfile* FragmentStatus::mutable_profile() {
-  set_has_profile();
-  if (profile_ == NULL) {
-    auto* p = CreateMaybeMessage<::exec::shared::MinorFragmentProfile>(GetArenaNoVirtual());
-    profile_ = p;
-  }
-  // @@protoc_insertion_point(field_mutable:exec.bit.control.FragmentStatus.profile)
-  return profile_;
-}
 inline void FragmentStatus::set_allocated_profile(::exec::shared::MinorFragmentProfile* profile) {
-  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
-  if (message_arena == NULL) {
-    delete reinterpret_cast< ::google::protobuf::MessageLite*>(profile_);
-  }
+  delete profile_;
+  profile_ = profile;
   if (profile) {
-    ::google::protobuf::Arena* submessage_arena = NULL;
-    if (message_arena != submessage_arena) {
-      profile = ::google::protobuf::internal::GetOwnedMessage(
-          message_arena, profile, submessage_arena);
-    }
     set_has_profile();
   } else {
     clear_has_profile();
   }
-  profile_ = profile;
-  // @@protoc_insertion_point(field_set_allocated:exec.bit.control.FragmentStatus.profile)
 }
 
 // optional .exec.bit.FragmentHandle handle = 2;
@@ -1964,48 +1467,32 @@ inline void FragmentStatus::set_has_handle() {
 inline void FragmentStatus::clear_has_handle() {
   _has_bits_[0] &= ~0x00000002u;
 }
-inline const ::exec::bit::FragmentHandle& FragmentStatus::_internal_handle() const {
-  return *handle_;
+inline void FragmentStatus::clear_handle() {
+  if (handle_ != NULL) handle_->::exec::bit::FragmentHandle::Clear();
+  clear_has_handle();
 }
 inline const ::exec::bit::FragmentHandle& FragmentStatus::handle() const {
-  const ::exec::bit::FragmentHandle* p = handle_;
-  // @@protoc_insertion_point(field_get:exec.bit.control.FragmentStatus.handle)
-  return p != NULL ? *p : *reinterpret_cast<const ::exec::bit::FragmentHandle*>(
-      &::exec::bit::_FragmentHandle_default_instance_);
+  return handle_ != NULL ? *handle_ : *default_instance_->handle_;
+}
+inline ::exec::bit::FragmentHandle* FragmentStatus::mutable_handle() {
+  set_has_handle();
+  if (handle_ == NULL) handle_ = new ::exec::bit::FragmentHandle;
+  return handle_;
 }
 inline ::exec::bit::FragmentHandle* FragmentStatus::release_handle() {
-  // @@protoc_insertion_point(field_release:exec.bit.control.FragmentStatus.handle)
   clear_has_handle();
   ::exec::bit::FragmentHandle* temp = handle_;
   handle_ = NULL;
   return temp;
 }
-inline ::exec::bit::FragmentHandle* FragmentStatus::mutable_handle() {
-  set_has_handle();
-  if (handle_ == NULL) {
-    auto* p = CreateMaybeMessage<::exec::bit::FragmentHandle>(GetArenaNoVirtual());
-    handle_ = p;
-  }
-  // @@protoc_insertion_point(field_mutable:exec.bit.control.FragmentStatus.handle)
-  return handle_;
-}
 inline void FragmentStatus::set_allocated_handle(::exec::bit::FragmentHandle* handle) {
-  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
-  if (message_arena == NULL) {
-    delete reinterpret_cast< ::google::protobuf::MessageLite*>(handle_);
-  }
+  delete handle_;
+  handle_ = handle;
   if (handle) {
-    ::google::protobuf::Arena* submessage_arena = NULL;
-    if (message_arena != submessage_arena) {
-      handle = ::google::protobuf::internal::GetOwnedMessage(
-          message_arena, handle, submessage_arena);
-    }
     set_has_handle();
   } else {
     clear_has_handle();
   }
-  handle_ = handle;
-  // @@protoc_insertion_point(field_set_allocated:exec.bit.control.FragmentStatus.handle)
 }
 
 // -------------------------------------------------------------------
@@ -2019,28 +1506,23 @@ inline int InitializeFragments::fragment_size() const {
 inline void InitializeFragments::clear_fragment() {
   fragment_.Clear();
 }
-inline ::exec::bit::control::PlanFragment* InitializeFragments::mutable_fragment(int index) {
-  // @@protoc_insertion_point(field_mutable:exec.bit.control.InitializeFragments.fragment)
-  return fragment_.Mutable(index);
-}
-inline ::google::protobuf::RepeatedPtrField< ::exec::bit::control::PlanFragment >*
-InitializeFragments::mutable_fragment() {
-  // @@protoc_insertion_point(field_mutable_list:exec.bit.control.InitializeFragments.fragment)
-  return &fragment_;
-}
 inline const ::exec::bit::control::PlanFragment& InitializeFragments::fragment(int index) const {
-  // @@protoc_insertion_point(field_get:exec.bit.control.InitializeFragments.fragment)
   return fragment_.Get(index);
 }
+inline ::exec::bit::control::PlanFragment* InitializeFragments::mutable_fragment(int index) {
+  return fragment_.Mutable(index);
+}
 inline ::exec::bit::control::PlanFragment* InitializeFragments::add_fragment() {
-  // @@protoc_insertion_point(field_add:exec.bit.control.InitializeFragments.fragment)
   return fragment_.Add();
 }
 inline const ::google::protobuf::RepeatedPtrField< ::exec::bit::control::PlanFragment >&
 InitializeFragments::fragment() const {
-  // @@protoc_insertion_point(field_list:exec.bit.control.InitializeFragments.fragment)
   return fragment_;
 }
+inline ::google::protobuf::RepeatedPtrField< ::exec::bit::control::PlanFragment >*
+InitializeFragments::mutable_fragment() {
+  return &fragment_;
+}
 
 // -------------------------------------------------------------------
 
@@ -2048,92 +1530,94 @@ InitializeFragments::fragment() const {
 
 // optional int32 type = 1;
 inline bool CustomMessage::has_type() const {
-  return (_has_bits_[0] & 0x00000002u) != 0;
+  return (_has_bits_[0] & 0x00000001u) != 0;
 }
 inline void CustomMessage::set_has_type() {
-  _has_bits_[0] |= 0x00000002u;
+  _has_bits_[0] |= 0x00000001u;
 }
 inline void CustomMessage::clear_has_type() {
-  _has_bits_[0] &= ~0x00000002u;
+  _has_bits_[0] &= ~0x00000001u;
 }
 inline void CustomMessage::clear_type() {
   type_ = 0;
   clear_has_type();
 }
 inline ::google::protobuf::int32 CustomMessage::type() const {
-  // @@protoc_insertion_point(field_get:exec.bit.control.CustomMessage.type)
   return type_;
 }
 inline void CustomMessage::set_type(::google::protobuf::int32 value) {
   set_has_type();
   type_ = value;
-  // @@protoc_insertion_point(field_set:exec.bit.control.CustomMessage.type)
 }
 
 // optional bytes message = 2;
 inline bool CustomMessage::has_message() const {
-  return (_has_bits_[0] & 0x00000001u) != 0;
+  return (_has_bits_[0] & 0x00000002u) != 0;
 }
 inline void CustomMessage::set_has_message() {
-  _has_bits_[0] |= 0x00000001u;
+  _has_bits_[0] |= 0x00000002u;
 }
 inline void CustomMessage::clear_has_message() {
-  _has_bits_[0] &= ~0x00000001u;
+  _has_bits_[0] &= ~0x00000002u;
 }
 inline void CustomMessage::clear_message() {
-  message_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (message_ != &::google::protobuf::internal::kEmptyString) {
+    message_->clear();
+  }
   clear_has_message();
 }
 inline const ::std::string& CustomMessage::message() const {
-  // @@protoc_insertion_point(field_get:exec.bit.control.CustomMessage.message)
-  return message_.GetNoArena();
+  return *message_;
 }
 inline void CustomMessage::set_message(const ::std::string& value) {
   set_has_message();
-  message_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:exec.bit.control.CustomMessage.message)
-}
-#if LANG_CXX11
-inline void CustomMessage::set_message(::std::string&& value) {
-  set_has_message();
-  message_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:exec.bit.control.CustomMessage.message)
+  if (message_ == &::google::protobuf::internal::kEmptyString) {
+    message_ = new ::std::string;
+  }
+  message_->assign(value);
 }
-#endif
 inline void CustomMessage::set_message(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
   set_has_message();
-  message_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:exec.bit.control.CustomMessage.message)
+  if (message_ == &::google::protobuf::internal::kEmptyString) {
+    message_ = new ::std::string;
+  }
+  message_->assign(value);
 }
 inline void CustomMessage::set_message(const void* value, size_t size) {
   set_has_message();
-  message_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:exec.bit.control.CustomMessage.message)
+  if (message_ == &::google::protobuf::internal::kEmptyString) {
+    message_ = new ::std::string;
+  }
+  message_->assign(reinterpret_cast<const char*>(value), size);
 }
 inline ::std::string* CustomMessage::mutable_message() {
   set_has_message();
-  // @@protoc_insertion_point(field_mutable:exec.bit.control.CustomMessage.message)
-  return message_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (message_ == &::google::protobuf::internal::kEmptyString) {
+    message_ = new ::std::string;
+  }
+  return message_;
 }
 inline ::std::string* CustomMessage::release_message() {
-  // @@protoc_insertion_point(field_release:exec.bit.control.CustomMessage.message)
-  if (!has_message()) {
+  clear_has_message();
+  if (message_ == &::google::protobuf::internal::kEmptyString) {
     return NULL;
+  } else {
+    ::std::string* temp = message_;
+    message_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
+    return temp;
   }
-  clear_has_message();
-  return message_.ReleaseNonDefaultNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
 }
 inline void CustomMessage::set_allocated_message(::std::string* message) {
-  if (message != NULL) {
+  if (message_ != &::google::protobuf::internal::kEmptyString) {
+    delete message_;
+  }
+  if (message) {
     set_has_message();
+    message_ = message;
   } else {
     clear_has_message();
+    message_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
   }
-  message_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), message);
-  // @@protoc_insertion_point(field_set_allocated:exec.bit.control.CustomMessage.message)
 }
 
 // -------------------------------------------------------------------
@@ -2142,576 +1626,486 @@ inline void CustomMessage::set_allocated_message(::std::string* message) {
 
 // optional .exec.bit.FragmentHandle handle = 1;
 inline bool PlanFragment::has_handle() const {
-  return (_has_bits_[0] & 0x00000004u) != 0;
+  return (_has_bits_[0] & 0x00000001u) != 0;
 }
 inline void PlanFragment::set_has_handle() {
-  _has_bits_[0] |= 0x00000004u;
+  _has_bits_[0] |= 0x00000001u;
 }
 inline void PlanFragment::clear_has_handle() {
-  _has_bits_[0] &= ~0x00000004u;
+  _has_bits_[0] &= ~0x00000001u;
 }
-inline const ::exec::bit::FragmentHandle& PlanFragment::_internal_handle() const {
-  return *handle_;
+inline void PlanFragment::clear_handle() {
+  if (handle_ != NULL) handle_->::exec::bit::FragmentHandle::Clear();
+  clear_has_handle();
 }
 inline const ::exec::bit::FragmentHandle& PlanFragment::handle() const {
-  const ::exec::bit::FragmentHandle* p = handle_;
-  // @@protoc_insertion_point(field_get:exec.bit.control.PlanFragment.handle)
-  return p != NULL ? *p : *reinterpret_cast<const ::exec::bit::FragmentHandle*>(
-      &::exec::bit::_FragmentHandle_default_instance_);
+  return handle_ != NULL ? *handle_ : *default_instance_->handle_;
+}
+inline ::exec::bit::FragmentHandle* PlanFragment::mutable_handle() {
+  set_has_handle();
+  if (handle_ == NULL) handle_ = new ::exec::bit::FragmentHandle;
+  return handle_;
 }
 inline ::exec::bit::FragmentHandle* PlanFragment::release_handle() {
-  // @@protoc_insertion_point(field_release:exec.bit.control.PlanFragment.handle)
   clear_has_handle();
   ::exec::bit::FragmentHandle* temp = handle_;
   handle_ = NULL;
   return temp;
 }
-inline ::exec::bit::FragmentHandle* PlanFragment::mutable_handle() {
-  set_has_handle();
-  if (handle_ == NULL) {
-    auto* p = CreateMaybeMessage<::exec::bit::FragmentHandle>(GetArenaNoVirtual());
-    handle_ = p;
-  }
-  // @@protoc_insertion_point(field_mutable:exec.bit.control.PlanFragment.handle)
-  return handle_;
-}
 inline void PlanFragment::set_allocated_handle(::exec::bit::FragmentHandle* handle) {
-  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
-  if (message_arena == NULL) {
-    delete reinterpret_cast< ::google::protobuf::MessageLite*>(handle_);
-  }
+  delete handle_;
+  handle_ = handle;
   if (handle) {
-    ::google::protobuf::Arena* submessage_arena = NULL;
-    if (message_arena != submessage_arena) {
-      handle = ::google::protobuf::internal::GetOwnedMessage(
-          message_arena, handle, submessage_arena);
-    }
     set_has_handle();
   } else {
     clear_has_handle();
   }
-  handle_ = handle;
-  // @@protoc_insertion_point(field_set_allocated:exec.bit.control.PlanFragment.handle)
 }
 
 // optional float network_cost = 4;
 inline bool PlanFragment::has_network_cost() const {
-  return (_has_bits_[0] & 0x00000080u) != 0;
+  return (_has_bits_[0] & 0x00000002u) != 0;
 }
 inline void PlanFragment::set_has_network_cost() {
-  _has_bits_[0] |= 0x00000080u;
+  _has_bits_[0] |= 0x00000002u;
 }
 inline void PlanFragment::clear_has_network_cost() {
-  _has_bits_[0] &= ~0x00000080u;
+  _has_bits_[0] &= ~0x00000002u;
 }
 inline void PlanFragment::clear_network_cost() {
   network_cost_ = 0;
   clear_has_network_cost();
 }
 inline float PlanFragment::network_cost() const {
-  // @@protoc_insertion_point(field_get:exec.bit.control.PlanFragment.network_cost)
   return network_cost_;
 }
 inline void PlanFragment::set_network_cost(float value) {
   set_has_network_cost();
   network_cost_ = value;
-  // @@protoc_insertion_point(field_set:exec.bit.control.PlanFragment.network_cost)
 }
 
 // optional float cpu_cost = 5;
 inline bool PlanFragment::has_cpu_cost() const {
-  return (_has_bits_[0] & 0x00000100u) != 0;
+  return (_has_bits_[0] & 0x00000004u) != 0;
 }
 inline void PlanFragment::set_has_cpu_cost() {
-  _has_bits_[0] |= 0x00000100u;
+  _has_bits_[0] |= 0x00000004u;
 }
 inline void PlanFragment::clear_has_cpu_cost() {
-  _has_bits_[0] &= ~0x00000100u;
+  _has_bits_[0] &= ~0x00000004u;
 }
 inline void PlanFragment::clear_cpu_cost() {
   cpu_cost_ = 0;
   clear_has_cpu_cost();
 }
 inline float PlanFragment::cpu_cost() const {
-  // @@protoc_insertion_point(field_get:exec.bit.control.PlanFragment.cpu_cost)
   return cpu_cost_;
 }
 inline void PlanFragment::set_cpu_cost(float value) {
   set_has_cpu_cost();
   cpu_cost_ = value;
-  // @@protoc_insertion_point(field_set:exec.bit.control.PlanFragment.cpu_cost)
 }
 
 // optional float disk_cost = 6;
 inline bool PlanFragment::has_disk_cost() const {
-  return (_has_bits_[0] & 0x00000200u) != 0;
+  return (_has_bits_[0] & 0x00000008u) != 0;
 }
 inline void PlanFragment::set_has_disk_cost() {
-  _has_bits_[0] |= 0x00000200u;
+  _has_bits_[0] |= 0x00000008u;
 }
 inline void PlanFragment::clear_has_disk_cost() {
-  _has_bits_[0] &= ~0x00000200u;
+  _has_bits_[0] &= ~0x00000008u;
 }
 inline void PlanFragment::clear_disk_cost() {
   disk_cost_ = 0;
   clear_has_disk_cost();
 }
 inline float PlanFragment::disk_cost() const {
-  // @@protoc_insertion_point(field_get:exec.bit.control.PlanFragment.disk_cost)
   return disk_cost_;
 }
 inline void PlanFragment::set_disk_cost(float value) {
   set_has_disk_cost();
   disk_cost_ = value;
-  // @@protoc_insertion_point(field_set:exec.bit.control.PlanFragment.disk_cost)
 }
 
 // optional float memory_cost = 7;
 inline bool PlanFragment::has_memory_cost() const {
-  return (_has_bits_[0] & 0x00000400u) != 0;
+  return (_has_bits_[0] & 0x00000010u) != 0;
 }
 inline void PlanFragment::set_has_memory_cost() {
-  _has_bits_[0] |= 0x00000400u;
+  _has_bits_[0] |= 0x00000010u;
 }
 inline void PlanFragment::clear_has_memory_cost() {
-  _has_bits_[0] &= ~0x00000400u;
+  _has_bits_[0] &= ~0x00000010u;
 }
 inline void PlanFragment::clear_memory_cost() {
   memory_cost_ = 0;
   clear_has_memory_cost();
 }
 inline float PlanFragment::memory_cost() const {
-  // @@protoc_insertion_point(field_get:exec.bit.control.PlanFragment.memory_cost)
   return memory_cost_;
 }
 inline void PlanFragment::set_memory_cost(float value) {
   set_has_memory_cost();
   memory_cost_ = value;
-  // @@protoc_insertion_point(field_set:exec.bit.control.PlanFragment.memory_cost)
 }
 
 // optional string fragment_json = 8;
 inline bool PlanFragment::has_fragment_json() const {
-  return (_has_bits_[0] & 0x00000001u) != 0;
+  return (_has_bits_[0] & 0x00000020u) != 0;
 }
 inline void PlanFragment::set_has_fragment_json() {
-  _has_bits_[0] |= 0x00000001u;
+  _has_bits_[0] |= 0x00000020u;
 }
 inline void PlanFragment::clear_has_fragment_json() {
-  _has_bits_[0] &= ~0x00000001u;
+  _has_bits_[0] &= ~0x00000020u;
 }
 inline void PlanFragment::clear_fragment_json() {
-  fragment_json_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (fragment_json_ != &::google::protobuf::internal::kEmptyString) {
+    fragment_json_->clear();
+  }
   clear_has_fragment_json();
 }
 inline const ::std::string& PlanFragment::fragment_json() const {
-  // @@protoc_insertion_point(field_get:exec.bit.control.PlanFragment.fragment_json)
-  return fragment_json_.GetNoArena();
+  return *fragment_json_;
 }
 inline void PlanFragment::set_fragment_json(const ::std::string& value) {
   set_has_fragment_json();
-  fragment_json_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:exec.bit.control.PlanFragment.fragment_json)
-}
-#if LANG_CXX11
-inline void PlanFragment::set_fragment_json(::std::string&& value) {
-  set_has_fragment_json();
-  fragment_json_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:exec.bit.control.PlanFragment.fragment_json)
+  if (fragment_json_ == &::google::protobuf::internal::kEmptyString) {
+    fragment_json_ = new ::std::string;
+  }
+  fragment_json_->assign(value);
 }
-#endif
 inline void PlanFragment::set_fragment_json(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
   set_has_fragment_json();
-  fragment_json_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:exec.bit.control.PlanFragment.fragment_json)
+  if (fragment_json_ == &::google::protobuf::internal::kEmptyString) {
+    fragment_json_ = new ::std::string;
+  }
+  fragment_json_->assign(value);
 }
 inline void PlanFragment::set_fragment_json(const char* value, size_t size) {
   set_has_fragment_json();
-  fragment_json_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:exec.bit.control.PlanFragment.fragment_json)
+  if (fragment_json_ == &::google::protobuf::internal::kEmptyString) {
+    fragment_json_ = new ::std::string;
+  }
+  fragment_json_->assign(reinterpret_cast<const char*>(value), size);
 }
 inline ::std::string* PlanFragment::mutable_fragment_json() {
   set_has_fragment_json();
-  // @@protoc_insertion_point(field_mutable:exec.bit.control.PlanFragment.fragment_json)
-  return fragment_json_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (fragment_json_ == &::google::protobuf::internal::kEmptyString) {
+    fragment_json_ = new ::std::string;
+  }
+  return fragment_json_;
 }
 inline ::std::string* PlanFragment::release_fragment_json() {
-  // @@protoc_insertion_point(field_release:exec.bit.control.PlanFragment.fragment_json)
-  if (!has_fragment_json()) {
+  clear_has_fragment_json();
+  if (fragment_json_ == &::google::protobuf::internal::kEmptyString) {
     return NULL;
+  } else {
+    ::std::string* temp = fragment_json_;
+    fragment_json_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
+    return temp;
   }
-  clear_has_fragment_json();
-  return fragment_json_.ReleaseNonDefaultNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
 }
 inline void PlanFragment::set_allocated_fragment_json(::std::string* fragment_json) {
-  if (fragment_json != NULL) {
+  if (fragment_json_ != &::google::protobuf::internal::kEmptyString) {
+    delete fragment_json_;
+  }
+  if (fragment_json) {
     set_has_fragment_json();
+    fragment_json_ = fragment_json;
   } else {
     clear_has_fragment_json();
+    fragment_json_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
   }
-  fragment_json_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), fragment_json);
-  // @@protoc_insertion_point(field_set_allocated:exec.bit.control.PlanFragment.fragment_json)
 }
 
 // optional bool leaf_fragment = 9;
 inline bool PlanFragment::has_leaf_fragment() const {
-  return (_has_bits_[0] & 0x00000800u) != 0;
+  return (_has_bits_[0] & 0x00000040u) != 0;
 }
 inline void PlanFragment::set_has_leaf_fragment() {
-  _has_bits_[0] |= 0x00000800u;
+  _has_bits_[0] |= 0x00000040u;
 }
 inline void PlanFragment::clear_has_leaf_fragment() {
-  _has_bits_[0] &= ~0x00000800u;
+  _has_bits_[0] &= ~0x00000040u;
 }
 inline void PlanFragment::clear_leaf_fragment() {
   leaf_fragment_ = false;
   clear_has_leaf_fragment();
 }
 inline bool PlanFragment::leaf_fragment() const {
-  // @@protoc_insertion_point(field_get:exec.bit.control.PlanFragment.leaf_fragment)
   return leaf_fragment_;
 }
 inline void PlanFragment::set_leaf_fragment(bool value) {
   set_has_leaf_fragment();
   leaf_fragment_ = value;
-  // @@protoc_insertion_point(field_set:exec.bit.control.PlanFragment.leaf_fragment)
 }
 
 // optional .exec.DrillbitEndpoint assignment = 10;
 inline bool PlanFragment::has_assignment() const {
-  return (_has_bits_[0] & 0x00000008u) != 0;
+  return (_has_bits_[0] & 0x00000080u) != 0;
 }
 inline void PlanFragment::set_has_assignment() {
-  _has_bits_[0] |= 0x00000008u;
+  _has_bits_[0] |= 0x00000080u;
 }
 inline void PlanFragment::clear_has_assignment() {
-  _has_bits_[0] &= ~0x00000008u;
+  _has_bits_[0] &= ~0x00000080u;
 }
-inline const ::exec::DrillbitEndpoint& PlanFragment::_internal_assignment() const {
-  return *assignment_;
+inline void PlanFragment::clear_assignment() {
+  if (assignment_ != NULL) assignment_->::exec::DrillbitEndpoint::Clear();
+  clear_has_assignment();
 }
 inline const ::exec::DrillbitEndpoint& PlanFragment::assignment() const {
-  const ::exec::DrillbitEndpoint* p = assignment_;
-  // @@protoc_insertion_point(field_get:exec.bit.control.PlanFragment.assignment)
-  return p != NULL ? *p : *reinterpret_cast<const ::exec::DrillbitEndpoint*>(
-      &::exec::_DrillbitEndpoint_default_instance_);
+  return assignment_ != NULL ? *assignment_ : *default_instance_->assignment_;
+}
+inline ::exec::DrillbitEndpoint* PlanFragment::mutable_assignment() {
+  set_has_assignment();
+  if (assignment_ == NULL) assignment_ = new ::exec::DrillbitEndpoint;
+  return assignment_;
 }
 inline ::exec::DrillbitEndpoint* PlanFragment::release_assignment() {
-  // @@protoc_insertion_point(field_release:exec.bit.control.PlanFragment.assignment)
   clear_has_assignment();
   ::exec::DrillbitEndpoint* temp = assignment_;
   assignment_ = NULL;
   return temp;
 }
-inline ::exec::DrillbitEndpoint* PlanFragment::mutable_assignment() {
-  set_has_assignment();
-  if (assignment_ == NULL) {
-    auto* p = CreateMaybeMessage<::exec::DrillbitEndpoint>(GetArenaNoVirtual());
-    assignment_ = p;
-  }
-  // @@protoc_insertion_point(field_mutable:exec.bit.control.PlanFragment.assignment)
-  return assignment_;
-}
 inline void PlanFragment::set_allocated_assignment(::exec::DrillbitEndpoint* assignment) {
-  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
-  if (message_arena == NULL) {
-    delete reinterpret_cast< ::google::protobuf::MessageLite*>(assignment_);
-  }
+  delete assignment_;
+  assignment_ = assignment;
   if (assignment) {
-    ::google::protobuf::Arena* submessage_arena = NULL;
-    if (message_arena != submessage_arena) {
-      assignment = ::google::protobuf::internal::GetOwnedMessage(
-          message_arena, assignment, submessage_arena);
-    }
     set_has_assignment();
   } else {
     clear_has_assignment();
   }
-  assignment_ = assignment;
-  // @@protoc_insertion_point(field_set_allocated:exec.bit.control.PlanFragment.assignment)
 }
 
 // optional .exec.DrillbitEndpoint foreman = 11;
 inline bool PlanFragment::has_foreman() const {
-  return (_has_bits_[0] & 0x00000010u) != 0;
+  return (_has_bits_[0] & 0x00000100u) != 0;
 }
 inline void PlanFragment::set_has_foreman() {
-  _has_bits_[0] |= 0x00000010u;
+  _has_bits_[0] |= 0x00000100u;
 }
 inline void PlanFragment::clear_has_foreman() {
-  _has_bits_[0] &= ~0x00000010u;
+  _has_bits_[0] &= ~0x00000100u;
 }
-inline const ::exec::DrillbitEndpoint& PlanFragment::_internal_foreman() const {
-  return *foreman_;
+inline void PlanFragment::clear_foreman() {
+  if (foreman_ != NULL) foreman_->::exec::DrillbitEndpoint::Clear();
+  clear_has_foreman();
 }
 inline const ::exec::DrillbitEndpoint& PlanFragment::foreman() const {
-  const ::exec::DrillbitEndpoint* p = foreman_;
-  // @@protoc_insertion_point(field_get:exec.bit.control.PlanFragment.foreman)
-  return p != NULL ? *p : *reinterpret_cast<const ::exec::DrillbitEndpoint*>(
-      &::exec::_DrillbitEndpoint_default_instance_);
+  return foreman_ != NULL ? *foreman_ : *default_instance_->foreman_;
+}
+inline ::exec::DrillbitEndpoint* PlanFragment::mutable_foreman() {
+  set_has_foreman();
+  if (foreman_ == NULL) foreman_ = new ::exec::DrillbitEndpoint;
+  return foreman_;
 }
 inline ::exec::DrillbitEndpoint* PlanFragment::release_foreman() {
-  // @@protoc_insertion_point(field_release:exec.bit.control.PlanFragment.foreman)
   clear_has_foreman();
   ::exec::DrillbitEndpoint* temp = foreman_;
   foreman_ = NULL;
   return temp;
 }
-inline ::exec::DrillbitEndpoint* PlanFragment::mutable_foreman() {
-  set_has_foreman();
-  if (foreman_ == NULL) {
-    auto* p = CreateMaybeMessage<::exec::DrillbitEndpoint>(GetArenaNoVirtual());
-    foreman_ = p;
-  }
-  // @@protoc_insertion_point(field_mutable:exec.bit.control.PlanFragment.foreman)
-  return foreman_;
-}
 inline void PlanFragment::set_allocated_foreman(::exec::DrillbitEndpoint* foreman) {
-  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
-  if (message_arena == NULL) {
-    delete reinterpret_cast< ::google::protobuf::MessageLite*>(foreman_);
-  }
+  delete foreman_;
+  foreman_ = foreman;
   if (foreman) {
-    ::google::protobuf::Arena* submessage_arena = NULL;
-    if (message_arena != submessage_arena) {
-      foreman = ::google::protobuf::internal::GetOwnedMessage(
-          message_arena, foreman, submessage_arena);
-    }
     set_has_foreman();
   } else {
     clear_has_foreman();
   }
-  foreman_ = foreman;
-  // @@protoc_insertion_point(field_set_allocated:exec.bit.control.PlanFragment.foreman)
 }
 
 // optional int64 mem_initial = 12 [default = 20000000];
 inline bool PlanFragment::has_mem_initial() const {
-  return (_has_bits_[0] & 0x00001000u) != 0;
+  return (_has_bits_[0] & 0x00000200u) != 0;
 }
 inline void PlanFragment::set_has_mem_initial() {
-  _has_bits_[0] |= 0x00001000u;
+  _has_bits_[0] |= 0x00000200u;
 }
 inline void PlanFragment::clear_has_mem_initial() {
-  _has_bits_[0] &= ~0x00001000u;
+  _has_bits_[0] &= ~0x00000200u;
 }
 inline void PlanFragment::clear_mem_initial() {
   mem_initial_ = GOOGLE_LONGLONG(20000000);
   clear_has_mem_initial();
 }
 inline ::google::protobuf::int64 PlanFragment::mem_initial() const {
-  // @@protoc_insertion_point(field_get:exec.bit.control.PlanFragment.mem_initial)
   return mem_initial_;
 }
 inline void PlanFragment::set_mem_initial(::google::protobuf::int64 value) {
   set_has_mem_initial();
   mem_initial_ = value;
-  // @@protoc_insertion_point(field_set:exec.bit.control.PlanFragment.mem_initial)
 }
 
 // optional int64 mem_max = 13 [default = 2000000000];
 inline bool PlanFragment::has_mem_max() const {
-  return (_has_bits_[0] & 0x00002000u) != 0;
+  return (_has_bits_[0] & 0x00000400u) != 0;
 }
 inline void PlanFragment::set_has_mem_max() {
-  _has_bits_[0] |= 0x00002000u;
+  _has_bits_[0] |= 0x00000400u;
 }
 inline void PlanFragment::clear_has_mem_max() {
-  _has_bits_[0] &= ~0x00002000u;
+  _has_bits_[0] &= ~0x00000400u;
 }
 inline void PlanFragment::clear_mem_max() {
   mem_max_ = GOOGLE_LONGLONG(2000000000);
   clear_has_mem_max();
 }
 inline ::google::protobuf::int64 PlanFragment::mem_max() const {
-  // @@protoc_insertion_point(field_get:exec.bit.control.PlanFragment.mem_max)
   return mem_max_;
 }
 inline void PlanFragment::set_mem_max(::google::protobuf::int64 value) {
... 166270 lines suppressed ...