org.apache.drill.exec.proto.BitControl Maven / Gradle / Ivy
/**
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: BitControl.proto
package org.apache.drill.exec.proto;
public final class BitControl {
  private BitControl() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
  }
  /**
   * Protobuf enum {@code exec.bit.control.RpcType}
   *
   * 
   *//// BitControl RPC ///////
   * 
   */
  public enum RpcType
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * HANDSHAKE = 0;
     */
    HANDSHAKE(0, 0),
    /**
     * ACK = 1;
     */
    ACK(1, 1),
    /**
     * GOODBYE = 2;
     */
    GOODBYE(2, 2),
    /**
     * REQ_INITIALIZE_FRAGMENTS = 3;
     *
     * 
     * bit requests
     * 
     */
    REQ_INITIALIZE_FRAGMENTS(3, 3),
    /**
     * REQ_CANCEL_FRAGMENT = 6;
     *
     * 
     * send a cancellation message for a fragment, returns Ack
     * 
     */
    REQ_CANCEL_FRAGMENT(4, 6),
    /**
     * REQ_RECEIVER_FINISHED = 7;
     */
    REQ_RECEIVER_FINISHED(5, 7),
    /**
     * REQ_FRAGMENT_STATUS = 8;
     *
     * 
     * send a fragment status, return Ack
     * 
     */
    REQ_FRAGMENT_STATUS(6, 8),
    /**
     * REQ_BIT_STATUS = 9;
     *
     * 
     * get bit status.
     * 
     */
    REQ_BIT_STATUS(7, 9),
    /**
     * REQ_QUERY_STATUS = 10;
     */
    REQ_QUERY_STATUS(8, 10),
    /**
     * REQ_QUERY_CANCEL = 15;
     */
    REQ_QUERY_CANCEL(9, 15),
    /**
     * REQ_UNPAUSE_FRAGMENT = 16;
     *
     * 
     * send a resume message for a fragment, returns Ack
     * 
     */
    REQ_UNPAUSE_FRAGMENT(10, 16),
    /**
     * RESP_FRAGMENT_HANDLE = 11;
     *
     * 
     * bit responses
     * 
     */
    RESP_FRAGMENT_HANDLE(11, 11),
    /**
     * RESP_FRAGMENT_STATUS = 12;
     */
    RESP_FRAGMENT_STATUS(12, 12),
    /**
     * RESP_BIT_STATUS = 13;
     */
    RESP_BIT_STATUS(13, 13),
    /**
     * RESP_QUERY_STATUS = 14;
     */
    RESP_QUERY_STATUS(14, 14),
    ;
    /**
     * HANDSHAKE = 0;
     */
    public static final int HANDSHAKE_VALUE = 0;
    /**
     * ACK = 1;
     */
    public static final int ACK_VALUE = 1;
    /**
     * GOODBYE = 2;
     */
    public static final int GOODBYE_VALUE = 2;
    /**
     * REQ_INITIALIZE_FRAGMENTS = 3;
     *
     * 
     * bit requests
     * 
     */
    public static final int REQ_INITIALIZE_FRAGMENTS_VALUE = 3;
    /**
     * REQ_CANCEL_FRAGMENT = 6;
     *
     * 
     * send a cancellation message for a fragment, returns Ack
     * 
     */
    public static final int REQ_CANCEL_FRAGMENT_VALUE = 6;
    /**
     * REQ_RECEIVER_FINISHED = 7;
     */
    public static final int REQ_RECEIVER_FINISHED_VALUE = 7;
    /**
     * REQ_FRAGMENT_STATUS = 8;
     *
     * 
     * send a fragment status, return Ack
     * 
     */
    public static final int REQ_FRAGMENT_STATUS_VALUE = 8;
    /**
     * REQ_BIT_STATUS = 9;
     *
     * 
     * get bit status.
     * 
     */
    public static final int REQ_BIT_STATUS_VALUE = 9;
    /**
     * REQ_QUERY_STATUS = 10;
     */
    public static final int REQ_QUERY_STATUS_VALUE = 10;
    /**
     * REQ_QUERY_CANCEL = 15;
     */
    public static final int REQ_QUERY_CANCEL_VALUE = 15;
    /**
     * REQ_UNPAUSE_FRAGMENT = 16;
     *
     * 
     * send a resume message for a fragment, returns Ack
     * 
     */
    public static final int REQ_UNPAUSE_FRAGMENT_VALUE = 16;
    /**
     * RESP_FRAGMENT_HANDLE = 11;
     *
     * 
     * bit responses
     * 
     */
    public static final int RESP_FRAGMENT_HANDLE_VALUE = 11;
    /**
     * RESP_FRAGMENT_STATUS = 12;
     */
    public static final int RESP_FRAGMENT_STATUS_VALUE = 12;
    /**
     * RESP_BIT_STATUS = 13;
     */
    public static final int RESP_BIT_STATUS_VALUE = 13;
    /**
     * RESP_QUERY_STATUS = 14;
     */
    public static final int RESP_QUERY_STATUS_VALUE = 14;
    public final int getNumber() { return value; }
    public static RpcType valueOf(int value) {
      switch (value) {
        case 0: return HANDSHAKE;
        case 1: return ACK;
        case 2: return GOODBYE;
        case 3: return REQ_INITIALIZE_FRAGMENTS;
        case 6: return REQ_CANCEL_FRAGMENT;
        case 7: return REQ_RECEIVER_FINISHED;
        case 8: return REQ_FRAGMENT_STATUS;
        case 9: return REQ_BIT_STATUS;
        case 10: return REQ_QUERY_STATUS;
        case 15: return REQ_QUERY_CANCEL;
        case 16: return REQ_UNPAUSE_FRAGMENT;
        case 11: return RESP_FRAGMENT_HANDLE;
        case 12: return RESP_FRAGMENT_STATUS;
        case 13: return RESP_BIT_STATUS;
        case 14: return RESP_QUERY_STATUS;
        default: return null;
      }
    }
    public static com.google.protobuf.Internal.EnumLiteMap
        internalGetValueMap() {
      return internalValueMap;
    }
    private static com.google.protobuf.Internal.EnumLiteMap
        internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap() {
            public RpcType findValueByNumber(int number) {
              return RpcType.valueOf(number);
            }
          };
    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(index);
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return org.apache.drill.exec.proto.BitControl.getDescriptor().getEnumTypes().get(0);
    }
    private static final RpcType[] VALUES = values();
    public static RpcType valueOf(
        com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
      if (desc.getType() != getDescriptor()) {
        throw new java.lang.IllegalArgumentException(
          "EnumValueDescriptor is not for this type.");
      }
      return VALUES[desc.getIndex()];
    }
    private final int index;
    private final int value;
    private RpcType(int index, int value) {
      this.index = index;
      this.value = value;
    }
    // @@protoc_insertion_point(enum_scope:exec.bit.control.RpcType)
  }
  public interface BitControlHandshakeOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    // optional int32 rpc_version = 1;
    /**
     * optional int32 rpc_version = 1;
     */
    boolean hasRpcVersion();
    /**
     * optional int32 rpc_version = 1;
     */
    int getRpcVersion();
    // optional .exec.shared.RpcChannel channel = 2 [default = BIT_CONTROL];
    /**
     * optional .exec.shared.RpcChannel channel = 2 [default = BIT_CONTROL];
     */
    boolean hasChannel();
    /**
     * optional .exec.shared.RpcChannel channel = 2 [default = BIT_CONTROL];
     */
    org.apache.drill.exec.proto.UserBitShared.RpcChannel getChannel();
    // optional .exec.DrillbitEndpoint endpoint = 3;
    /**
     * optional .exec.DrillbitEndpoint endpoint = 3;
     */
    boolean hasEndpoint();
    /**
     * optional .exec.DrillbitEndpoint endpoint = 3;
     */
    org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint getEndpoint();
    /**
     * optional .exec.DrillbitEndpoint endpoint = 3;
     */
    org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpointOrBuilder getEndpointOrBuilder();
  }
  /**
   * Protobuf type {@code exec.bit.control.BitControlHandshake}
   */
  public static final class BitControlHandshake extends
      com.google.protobuf.GeneratedMessage
      implements BitControlHandshakeOrBuilder {
    // Use BitControlHandshake.newBuilder() to construct.
    private BitControlHandshake(com.google.protobuf.GeneratedMessage.Builder> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private BitControlHandshake(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
    private static final BitControlHandshake defaultInstance;
    public static BitControlHandshake getDefaultInstance() {
      return defaultInstance;
    }
    public BitControlHandshake getDefaultInstanceForType() {
      return defaultInstance;
    }
    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private BitControlHandshake(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              rpcVersion_ = input.readInt32();
              break;
            }
            case 16: {
              int rawValue = input.readEnum();
              org.apache.drill.exec.proto.UserBitShared.RpcChannel value = org.apache.drill.exec.proto.UserBitShared.RpcChannel.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(2, rawValue);
              } else {
                bitField0_ |= 0x00000002;
                channel_ = value;
              }
              break;
            }
            case 26: {
              org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.Builder subBuilder = null;
              if (((bitField0_ & 0x00000004) == 0x00000004)) {
                subBuilder = endpoint_.toBuilder();
              }
              endpoint_ = input.readMessage(org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(endpoint_);
                endpoint_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000004;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_BitControlHandshake_descriptor;
    }
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_BitControlHandshake_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.drill.exec.proto.BitControl.BitControlHandshake.class, org.apache.drill.exec.proto.BitControl.BitControlHandshake.Builder.class);
    }
    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public BitControlHandshake parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new BitControlHandshake(input, extensionRegistry);
      }
    };
    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }
    private int bitField0_;
    // optional int32 rpc_version = 1;
    public static final int RPC_VERSION_FIELD_NUMBER = 1;
    private int rpcVersion_;
    /**
     * optional int32 rpc_version = 1;
     */
    public boolean hasRpcVersion() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 rpc_version = 1;
     */
    public int getRpcVersion() {
      return rpcVersion_;
    }
    // optional .exec.shared.RpcChannel channel = 2 [default = BIT_CONTROL];
    public static final int CHANNEL_FIELD_NUMBER = 2;
    private org.apache.drill.exec.proto.UserBitShared.RpcChannel channel_;
    /**
     * optional .exec.shared.RpcChannel channel = 2 [default = BIT_CONTROL];
     */
    public boolean hasChannel() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional .exec.shared.RpcChannel channel = 2 [default = BIT_CONTROL];
     */
    public org.apache.drill.exec.proto.UserBitShared.RpcChannel getChannel() {
      return channel_;
    }
    // optional .exec.DrillbitEndpoint endpoint = 3;
    public static final int ENDPOINT_FIELD_NUMBER = 3;
    private org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint endpoint_;
    /**
     * optional .exec.DrillbitEndpoint endpoint = 3;
     */
    public boolean hasEndpoint() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional .exec.DrillbitEndpoint endpoint = 3;
     */
    public org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint getEndpoint() {
      return endpoint_;
    }
    /**
     * optional .exec.DrillbitEndpoint endpoint = 3;
     */
    public org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpointOrBuilder getEndpointOrBuilder() {
      return endpoint_;
    }
    private void initFields() {
      rpcVersion_ = 0;
      channel_ = org.apache.drill.exec.proto.UserBitShared.RpcChannel.BIT_CONTROL;
      endpoint_ = org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      memoizedIsInitialized = 1;
      return true;
    }
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, rpcVersion_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeEnum(2, channel_.getNumber());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeMessage(3, endpoint_);
      }
      getUnknownFields().writeTo(output);
    }
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, rpcVersion_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(2, channel_.getNumber());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, endpoint_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    public static org.apache.drill.exec.proto.BitControl.BitControlHandshake parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.drill.exec.proto.BitControl.BitControlHandshake parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.drill.exec.proto.BitControl.BitControlHandshake parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.drill.exec.proto.BitControl.BitControlHandshake parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.drill.exec.proto.BitControl.BitControlHandshake parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.drill.exec.proto.BitControl.BitControlHandshake parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static org.apache.drill.exec.proto.BitControl.BitControlHandshake parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static org.apache.drill.exec.proto.BitControl.BitControlHandshake parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static org.apache.drill.exec.proto.BitControl.BitControlHandshake parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.drill.exec.proto.BitControl.BitControlHandshake parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(org.apache.drill.exec.proto.BitControl.BitControlHandshake prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code exec.bit.control.BitControlHandshake}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements org.apache.drill.exec.proto.BitControl.BitControlHandshakeOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_BitControlHandshake_descriptor;
      }
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_BitControlHandshake_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.drill.exec.proto.BitControl.BitControlHandshake.class, org.apache.drill.exec.proto.BitControl.BitControlHandshake.Builder.class);
      }
      // Construct using org.apache.drill.exec.proto.BitControl.BitControlHandshake.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getEndpointFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      public Builder clear() {
        super.clear();
        rpcVersion_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        channel_ = org.apache.drill.exec.proto.UserBitShared.RpcChannel.BIT_CONTROL;
        bitField0_ = (bitField0_ & ~0x00000002);
        if (endpointBuilder_ == null) {
          endpoint_ = org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.getDefaultInstance();
        } else {
          endpointBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_BitControlHandshake_descriptor;
      }
      public org.apache.drill.exec.proto.BitControl.BitControlHandshake getDefaultInstanceForType() {
        return org.apache.drill.exec.proto.BitControl.BitControlHandshake.getDefaultInstance();
      }
      public org.apache.drill.exec.proto.BitControl.BitControlHandshake build() {
        org.apache.drill.exec.proto.BitControl.BitControlHandshake result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      public org.apache.drill.exec.proto.BitControl.BitControlHandshake buildPartial() {
        org.apache.drill.exec.proto.BitControl.BitControlHandshake result = new org.apache.drill.exec.proto.BitControl.BitControlHandshake(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.rpcVersion_ = rpcVersion_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.channel_ = channel_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        if (endpointBuilder_ == null) {
          result.endpoint_ = endpoint_;
        } else {
          result.endpoint_ = endpointBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.drill.exec.proto.BitControl.BitControlHandshake) {
          return mergeFrom((org.apache.drill.exec.proto.BitControl.BitControlHandshake)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(org.apache.drill.exec.proto.BitControl.BitControlHandshake other) {
        if (other == org.apache.drill.exec.proto.BitControl.BitControlHandshake.getDefaultInstance()) return this;
        if (other.hasRpcVersion()) {
          setRpcVersion(other.getRpcVersion());
        }
        if (other.hasChannel()) {
          setChannel(other.getChannel());
        }
        if (other.hasEndpoint()) {
          mergeEndpoint(other.getEndpoint());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      public final boolean isInitialized() {
        return true;
      }
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.apache.drill.exec.proto.BitControl.BitControlHandshake parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.apache.drill.exec.proto.BitControl.BitControlHandshake) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;
      // optional int32 rpc_version = 1;
      private int rpcVersion_ ;
      /**
       * optional int32 rpc_version = 1;
       */
      public boolean hasRpcVersion() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 rpc_version = 1;
       */
      public int getRpcVersion() {
        return rpcVersion_;
      }
      /**
       * optional int32 rpc_version = 1;
       */
      public Builder setRpcVersion(int value) {
        bitField0_ |= 0x00000001;
        rpcVersion_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 rpc_version = 1;
       */
      public Builder clearRpcVersion() {
        bitField0_ = (bitField0_ & ~0x00000001);
        rpcVersion_ = 0;
        onChanged();
        return this;
      }
      // optional .exec.shared.RpcChannel channel = 2 [default = BIT_CONTROL];
      private org.apache.drill.exec.proto.UserBitShared.RpcChannel channel_ = org.apache.drill.exec.proto.UserBitShared.RpcChannel.BIT_CONTROL;
      /**
       * optional .exec.shared.RpcChannel channel = 2 [default = BIT_CONTROL];
       */
      public boolean hasChannel() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional .exec.shared.RpcChannel channel = 2 [default = BIT_CONTROL];
       */
      public org.apache.drill.exec.proto.UserBitShared.RpcChannel getChannel() {
        return channel_;
      }
      /**
       * optional .exec.shared.RpcChannel channel = 2 [default = BIT_CONTROL];
       */
      public Builder setChannel(org.apache.drill.exec.proto.UserBitShared.RpcChannel value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000002;
        channel_ = value;
        onChanged();
        return this;
      }
      /**
       * optional .exec.shared.RpcChannel channel = 2 [default = BIT_CONTROL];
       */
      public Builder clearChannel() {
        bitField0_ = (bitField0_ & ~0x00000002);
        channel_ = org.apache.drill.exec.proto.UserBitShared.RpcChannel.BIT_CONTROL;
        onChanged();
        return this;
      }
      // optional .exec.DrillbitEndpoint endpoint = 3;
      private org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint endpoint_ = org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint, org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.Builder, org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpointOrBuilder> endpointBuilder_;
      /**
       * optional .exec.DrillbitEndpoint endpoint = 3;
       */
      public boolean hasEndpoint() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional .exec.DrillbitEndpoint endpoint = 3;
       */
      public org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint getEndpoint() {
        if (endpointBuilder_ == null) {
          return endpoint_;
        } else {
          return endpointBuilder_.getMessage();
        }
      }
      /**
       * optional .exec.DrillbitEndpoint endpoint = 3;
       */
      public Builder setEndpoint(org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint value) {
        if (endpointBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          endpoint_ = value;
          onChanged();
        } else {
          endpointBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .exec.DrillbitEndpoint endpoint = 3;
       */
      public Builder setEndpoint(
          org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.Builder builderForValue) {
        if (endpointBuilder_ == null) {
          endpoint_ = builderForValue.build();
          onChanged();
        } else {
          endpointBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .exec.DrillbitEndpoint endpoint = 3;
       */
      public Builder mergeEndpoint(org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint value) {
        if (endpointBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004) &&
              endpoint_ != org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.getDefaultInstance()) {
            endpoint_ =
              org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.newBuilder(endpoint_).mergeFrom(value).buildPartial();
          } else {
            endpoint_ = value;
          }
          onChanged();
        } else {
          endpointBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .exec.DrillbitEndpoint endpoint = 3;
       */
      public Builder clearEndpoint() {
        if (endpointBuilder_ == null) {
          endpoint_ = org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.getDefaultInstance();
          onChanged();
        } else {
          endpointBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      /**
       * optional .exec.DrillbitEndpoint endpoint = 3;
       */
      public org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.Builder getEndpointBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getEndpointFieldBuilder().getBuilder();
      }
      /**
       * optional .exec.DrillbitEndpoint endpoint = 3;
       */
      public org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpointOrBuilder getEndpointOrBuilder() {
        if (endpointBuilder_ != null) {
          return endpointBuilder_.getMessageOrBuilder();
        } else {
          return endpoint_;
        }
      }
      /**
       * optional .exec.DrillbitEndpoint endpoint = 3;
       */
      private com.google.protobuf.SingleFieldBuilder<
          org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint, org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.Builder, org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpointOrBuilder> 
          getEndpointFieldBuilder() {
        if (endpointBuilder_ == null) {
          endpointBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint, org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.Builder, org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpointOrBuilder>(
                  endpoint_,
                  getParentForChildren(),
                  isClean());
          endpoint_ = null;
        }
        return endpointBuilder_;
      }
      // @@protoc_insertion_point(builder_scope:exec.bit.control.BitControlHandshake)
    }
    static {
      defaultInstance = new BitControlHandshake(true);
      defaultInstance.initFields();
    }
    // @@protoc_insertion_point(class_scope:exec.bit.control.BitControlHandshake)
  }
  public interface BitStatusOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    // repeated .exec.bit.control.FragmentStatus fragment_status = 1;
    /**
     * repeated .exec.bit.control.FragmentStatus fragment_status = 1;
     */
    java.util.List 
        getFragmentStatusList();
    /**
     * repeated .exec.bit.control.FragmentStatus fragment_status = 1;
     */
    org.apache.drill.exec.proto.BitControl.FragmentStatus getFragmentStatus(int index);
    /**
     * repeated .exec.bit.control.FragmentStatus fragment_status = 1;
     */
    int getFragmentStatusCount();
    /**
     * repeated .exec.bit.control.FragmentStatus fragment_status = 1;
     */
    java.util.List extends org.apache.drill.exec.proto.BitControl.FragmentStatusOrBuilder> 
        getFragmentStatusOrBuilderList();
    /**
     * repeated .exec.bit.control.FragmentStatus fragment_status = 1;
     */
    org.apache.drill.exec.proto.BitControl.FragmentStatusOrBuilder getFragmentStatusOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code exec.bit.control.BitStatus}
   */
  public static final class BitStatus extends
      com.google.protobuf.GeneratedMessage
      implements BitStatusOrBuilder {
    // Use BitStatus.newBuilder() to construct.
    private BitStatus(com.google.protobuf.GeneratedMessage.Builder> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private BitStatus(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
    private static final BitStatus defaultInstance;
    public static BitStatus getDefaultInstance() {
      return defaultInstance;
    }
    public BitStatus getDefaultInstanceForType() {
      return defaultInstance;
    }
    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private BitStatus(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                fragmentStatus_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              fragmentStatus_.add(input.readMessage(org.apache.drill.exec.proto.BitControl.FragmentStatus.PARSER, extensionRegistry));
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
          fragmentStatus_ = java.util.Collections.unmodifiableList(fragmentStatus_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_BitStatus_descriptor;
    }
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_BitStatus_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.drill.exec.proto.BitControl.BitStatus.class, org.apache.drill.exec.proto.BitControl.BitStatus.Builder.class);
    }
    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public BitStatus parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new BitStatus(input, extensionRegistry);
      }
    };
    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }
    // repeated .exec.bit.control.FragmentStatus fragment_status = 1;
    public static final int FRAGMENT_STATUS_FIELD_NUMBER = 1;
    private java.util.List fragmentStatus_;
    /**
     * repeated .exec.bit.control.FragmentStatus fragment_status = 1;
     */
    public java.util.List getFragmentStatusList() {
      return fragmentStatus_;
    }
    /**
     * repeated .exec.bit.control.FragmentStatus fragment_status = 1;
     */
    public java.util.List extends org.apache.drill.exec.proto.BitControl.FragmentStatusOrBuilder> 
        getFragmentStatusOrBuilderList() {
      return fragmentStatus_;
    }
    /**
     * repeated .exec.bit.control.FragmentStatus fragment_status = 1;
     */
    public int getFragmentStatusCount() {
      return fragmentStatus_.size();
    }
    /**
     * repeated .exec.bit.control.FragmentStatus fragment_status = 1;
     */
    public org.apache.drill.exec.proto.BitControl.FragmentStatus getFragmentStatus(int index) {
      return fragmentStatus_.get(index);
    }
    /**
     * repeated .exec.bit.control.FragmentStatus fragment_status = 1;
     */
    public org.apache.drill.exec.proto.BitControl.FragmentStatusOrBuilder getFragmentStatusOrBuilder(
        int index) {
      return fragmentStatus_.get(index);
    }
    private void initFields() {
      fragmentStatus_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      memoizedIsInitialized = 1;
      return true;
    }
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (int i = 0; i < fragmentStatus_.size(); i++) {
        output.writeMessage(1, fragmentStatus_.get(i));
      }
      getUnknownFields().writeTo(output);
    }
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
      size = 0;
      for (int i = 0; i < fragmentStatus_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, fragmentStatus_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    public static org.apache.drill.exec.proto.BitControl.BitStatus parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.drill.exec.proto.BitControl.BitStatus parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.drill.exec.proto.BitControl.BitStatus parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.drill.exec.proto.BitControl.BitStatus parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.drill.exec.proto.BitControl.BitStatus parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.drill.exec.proto.BitControl.BitStatus parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static org.apache.drill.exec.proto.BitControl.BitStatus parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static org.apache.drill.exec.proto.BitControl.BitStatus parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static org.apache.drill.exec.proto.BitControl.BitStatus parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.drill.exec.proto.BitControl.BitStatus parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(org.apache.drill.exec.proto.BitControl.BitStatus prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code exec.bit.control.BitStatus}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements org.apache.drill.exec.proto.BitControl.BitStatusOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_BitStatus_descriptor;
      }
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_BitStatus_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.drill.exec.proto.BitControl.BitStatus.class, org.apache.drill.exec.proto.BitControl.BitStatus.Builder.class);
      }
      // Construct using org.apache.drill.exec.proto.BitControl.BitStatus.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getFragmentStatusFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      public Builder clear() {
        super.clear();
        if (fragmentStatusBuilder_ == null) {
          fragmentStatus_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          fragmentStatusBuilder_.clear();
        }
        return this;
      }
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_BitStatus_descriptor;
      }
      public org.apache.drill.exec.proto.BitControl.BitStatus getDefaultInstanceForType() {
        return org.apache.drill.exec.proto.BitControl.BitStatus.getDefaultInstance();
      }
      public org.apache.drill.exec.proto.BitControl.BitStatus build() {
        org.apache.drill.exec.proto.BitControl.BitStatus result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      public org.apache.drill.exec.proto.BitControl.BitStatus buildPartial() {
        org.apache.drill.exec.proto.BitControl.BitStatus result = new org.apache.drill.exec.proto.BitControl.BitStatus(this);
        int from_bitField0_ = bitField0_;
        if (fragmentStatusBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            fragmentStatus_ = java.util.Collections.unmodifiableList(fragmentStatus_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.fragmentStatus_ = fragmentStatus_;
        } else {
          result.fragmentStatus_ = fragmentStatusBuilder_.build();
        }
        onBuilt();
        return result;
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.drill.exec.proto.BitControl.BitStatus) {
          return mergeFrom((org.apache.drill.exec.proto.BitControl.BitStatus)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(org.apache.drill.exec.proto.BitControl.BitStatus other) {
        if (other == org.apache.drill.exec.proto.BitControl.BitStatus.getDefaultInstance()) return this;
        if (fragmentStatusBuilder_ == null) {
          if (!other.fragmentStatus_.isEmpty()) {
            if (fragmentStatus_.isEmpty()) {
              fragmentStatus_ = other.fragmentStatus_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureFragmentStatusIsMutable();
              fragmentStatus_.addAll(other.fragmentStatus_);
            }
            onChanged();
          }
        } else {
          if (!other.fragmentStatus_.isEmpty()) {
            if (fragmentStatusBuilder_.isEmpty()) {
              fragmentStatusBuilder_.dispose();
              fragmentStatusBuilder_ = null;
              fragmentStatus_ = other.fragmentStatus_;
              bitField0_ = (bitField0_ & ~0x00000001);
              fragmentStatusBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getFragmentStatusFieldBuilder() : null;
            } else {
              fragmentStatusBuilder_.addAllMessages(other.fragmentStatus_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      public final boolean isInitialized() {
        return true;
      }
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.apache.drill.exec.proto.BitControl.BitStatus parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.apache.drill.exec.proto.BitControl.BitStatus) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;
      // repeated .exec.bit.control.FragmentStatus fragment_status = 1;
      private java.util.List fragmentStatus_ =
        java.util.Collections.emptyList();
      private void ensureFragmentStatusIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          fragmentStatus_ = new java.util.ArrayList(fragmentStatus_);
          bitField0_ |= 0x00000001;
         }
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          org.apache.drill.exec.proto.BitControl.FragmentStatus, org.apache.drill.exec.proto.BitControl.FragmentStatus.Builder, org.apache.drill.exec.proto.BitControl.FragmentStatusOrBuilder> fragmentStatusBuilder_;
      /**
       * repeated .exec.bit.control.FragmentStatus fragment_status = 1;
       */
      public java.util.List getFragmentStatusList() {
        if (fragmentStatusBuilder_ == null) {
          return java.util.Collections.unmodifiableList(fragmentStatus_);
        } else {
          return fragmentStatusBuilder_.getMessageList();
        }
      }
      /**
       * repeated .exec.bit.control.FragmentStatus fragment_status = 1;
       */
      public int getFragmentStatusCount() {
        if (fragmentStatusBuilder_ == null) {
          return fragmentStatus_.size();
        } else {
          return fragmentStatusBuilder_.getCount();
        }
      }
      /**
       * repeated .exec.bit.control.FragmentStatus fragment_status = 1;
       */
      public org.apache.drill.exec.proto.BitControl.FragmentStatus getFragmentStatus(int index) {
        if (fragmentStatusBuilder_ == null) {
          return fragmentStatus_.get(index);
        } else {
          return fragmentStatusBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .exec.bit.control.FragmentStatus fragment_status = 1;
       */
      public Builder setFragmentStatus(
          int index, org.apache.drill.exec.proto.BitControl.FragmentStatus value) {
        if (fragmentStatusBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureFragmentStatusIsMutable();
          fragmentStatus_.set(index, value);
          onChanged();
        } else {
          fragmentStatusBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .exec.bit.control.FragmentStatus fragment_status = 1;
       */
      public Builder setFragmentStatus(
          int index, org.apache.drill.exec.proto.BitControl.FragmentStatus.Builder builderForValue) {
        if (fragmentStatusBuilder_ == null) {
          ensureFragmentStatusIsMutable();
          fragmentStatus_.set(index, builderForValue.build());
          onChanged();
        } else {
          fragmentStatusBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .exec.bit.control.FragmentStatus fragment_status = 1;
       */
      public Builder addFragmentStatus(org.apache.drill.exec.proto.BitControl.FragmentStatus value) {
        if (fragmentStatusBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureFragmentStatusIsMutable();
          fragmentStatus_.add(value);
          onChanged();
        } else {
          fragmentStatusBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .exec.bit.control.FragmentStatus fragment_status = 1;
       */
      public Builder addFragmentStatus(
          int index, org.apache.drill.exec.proto.BitControl.FragmentStatus value) {
        if (fragmentStatusBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureFragmentStatusIsMutable();
          fragmentStatus_.add(index, value);
          onChanged();
        } else {
          fragmentStatusBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .exec.bit.control.FragmentStatus fragment_status = 1;
       */
      public Builder addFragmentStatus(
          org.apache.drill.exec.proto.BitControl.FragmentStatus.Builder builderForValue) {
        if (fragmentStatusBuilder_ == null) {
          ensureFragmentStatusIsMutable();
          fragmentStatus_.add(builderForValue.build());
          onChanged();
        } else {
          fragmentStatusBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .exec.bit.control.FragmentStatus fragment_status = 1;
       */
      public Builder addFragmentStatus(
          int index, org.apache.drill.exec.proto.BitControl.FragmentStatus.Builder builderForValue) {
        if (fragmentStatusBuilder_ == null) {
          ensureFragmentStatusIsMutable();
          fragmentStatus_.add(index, builderForValue.build());
          onChanged();
        } else {
          fragmentStatusBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .exec.bit.control.FragmentStatus fragment_status = 1;
       */
      public Builder addAllFragmentStatus(
          java.lang.Iterable extends org.apache.drill.exec.proto.BitControl.FragmentStatus> values) {
        if (fragmentStatusBuilder_ == null) {
          ensureFragmentStatusIsMutable();
          super.addAll(values, fragmentStatus_);
          onChanged();
        } else {
          fragmentStatusBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .exec.bit.control.FragmentStatus fragment_status = 1;
       */
      public Builder clearFragmentStatus() {
        if (fragmentStatusBuilder_ == null) {
          fragmentStatus_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          fragmentStatusBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .exec.bit.control.FragmentStatus fragment_status = 1;
       */
      public Builder removeFragmentStatus(int index) {
        if (fragmentStatusBuilder_ == null) {
          ensureFragmentStatusIsMutable();
          fragmentStatus_.remove(index);
          onChanged();
        } else {
          fragmentStatusBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .exec.bit.control.FragmentStatus fragment_status = 1;
       */
      public org.apache.drill.exec.proto.BitControl.FragmentStatus.Builder getFragmentStatusBuilder(
          int index) {
        return getFragmentStatusFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .exec.bit.control.FragmentStatus fragment_status = 1;
       */
      public org.apache.drill.exec.proto.BitControl.FragmentStatusOrBuilder getFragmentStatusOrBuilder(
          int index) {
        if (fragmentStatusBuilder_ == null) {
          return fragmentStatus_.get(index);  } else {
          return fragmentStatusBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .exec.bit.control.FragmentStatus fragment_status = 1;
       */
      public java.util.List extends org.apache.drill.exec.proto.BitControl.FragmentStatusOrBuilder> 
           getFragmentStatusOrBuilderList() {
        if (fragmentStatusBuilder_ != null) {
          return fragmentStatusBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(fragmentStatus_);
        }
      }
      /**
       * repeated .exec.bit.control.FragmentStatus fragment_status = 1;
       */
      public org.apache.drill.exec.proto.BitControl.FragmentStatus.Builder addFragmentStatusBuilder() {
        return getFragmentStatusFieldBuilder().addBuilder(
            org.apache.drill.exec.proto.BitControl.FragmentStatus.getDefaultInstance());
      }
      /**
       * repeated .exec.bit.control.FragmentStatus fragment_status = 1;
       */
      public org.apache.drill.exec.proto.BitControl.FragmentStatus.Builder addFragmentStatusBuilder(
          int index) {
        return getFragmentStatusFieldBuilder().addBuilder(
            index, org.apache.drill.exec.proto.BitControl.FragmentStatus.getDefaultInstance());
      }
      /**
       * repeated .exec.bit.control.FragmentStatus fragment_status = 1;
       */
      public java.util.List 
           getFragmentStatusBuilderList() {
        return getFragmentStatusFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          org.apache.drill.exec.proto.BitControl.FragmentStatus, org.apache.drill.exec.proto.BitControl.FragmentStatus.Builder, org.apache.drill.exec.proto.BitControl.FragmentStatusOrBuilder> 
          getFragmentStatusFieldBuilder() {
        if (fragmentStatusBuilder_ == null) {
          fragmentStatusBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              org.apache.drill.exec.proto.BitControl.FragmentStatus, org.apache.drill.exec.proto.BitControl.FragmentStatus.Builder, org.apache.drill.exec.proto.BitControl.FragmentStatusOrBuilder>(
                  fragmentStatus_,
                  ((bitField0_ & 0x00000001) == 0x00000001),
                  getParentForChildren(),
                  isClean());
          fragmentStatus_ = null;
        }
        return fragmentStatusBuilder_;
      }
      // @@protoc_insertion_point(builder_scope:exec.bit.control.BitStatus)
    }
    static {
      defaultInstance = new BitStatus(true);
      defaultInstance.initFields();
    }
    // @@protoc_insertion_point(class_scope:exec.bit.control.BitStatus)
  }
  public interface FragmentStatusOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    // optional .exec.shared.MinorFragmentProfile profile = 1;
    /**
     * optional .exec.shared.MinorFragmentProfile profile = 1;
     */
    boolean hasProfile();
    /**
     * optional .exec.shared.MinorFragmentProfile profile = 1;
     */
    org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile getProfile();
    /**
     * optional .exec.shared.MinorFragmentProfile profile = 1;
     */
    org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfileOrBuilder getProfileOrBuilder();
    // optional .exec.bit.FragmentHandle handle = 2;
    /**
     * optional .exec.bit.FragmentHandle handle = 2;
     */
    boolean hasHandle();
    /**
     * optional .exec.bit.FragmentHandle handle = 2;
     */
    org.apache.drill.exec.proto.ExecProtos.FragmentHandle getHandle();
    /**
     * optional .exec.bit.FragmentHandle handle = 2;
     */
    org.apache.drill.exec.proto.ExecProtos.FragmentHandleOrBuilder getHandleOrBuilder();
  }
  /**
   * Protobuf type {@code exec.bit.control.FragmentStatus}
   */
  public static final class FragmentStatus extends
      com.google.protobuf.GeneratedMessage
      implements FragmentStatusOrBuilder {
    // Use FragmentStatus.newBuilder() to construct.
    private FragmentStatus(com.google.protobuf.GeneratedMessage.Builder> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private FragmentStatus(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
    private static final FragmentStatus defaultInstance;
    public static FragmentStatus getDefaultInstance() {
      return defaultInstance;
    }
    public FragmentStatus getDefaultInstanceForType() {
      return defaultInstance;
    }
    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private FragmentStatus(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = profile_.toBuilder();
              }
              profile_ = input.readMessage(org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(profile_);
                profile_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              org.apache.drill.exec.proto.ExecProtos.FragmentHandle.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = handle_.toBuilder();
              }
              handle_ = input.readMessage(org.apache.drill.exec.proto.ExecProtos.FragmentHandle.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(handle_);
                handle_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_FragmentStatus_descriptor;
    }
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_FragmentStatus_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.drill.exec.proto.BitControl.FragmentStatus.class, org.apache.drill.exec.proto.BitControl.FragmentStatus.Builder.class);
    }
    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public FragmentStatus parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new FragmentStatus(input, extensionRegistry);
      }
    };
    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }
    private int bitField0_;
    // optional .exec.shared.MinorFragmentProfile profile = 1;
    public static final int PROFILE_FIELD_NUMBER = 1;
    private org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile profile_;
    /**
     * optional .exec.shared.MinorFragmentProfile profile = 1;
     */
    public boolean hasProfile() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .exec.shared.MinorFragmentProfile profile = 1;
     */
    public org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile getProfile() {
      return profile_;
    }
    /**
     * optional .exec.shared.MinorFragmentProfile profile = 1;
     */
    public org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfileOrBuilder getProfileOrBuilder() {
      return profile_;
    }
    // optional .exec.bit.FragmentHandle handle = 2;
    public static final int HANDLE_FIELD_NUMBER = 2;
    private org.apache.drill.exec.proto.ExecProtos.FragmentHandle handle_;
    /**
     * optional .exec.bit.FragmentHandle handle = 2;
     */
    public boolean hasHandle() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional .exec.bit.FragmentHandle handle = 2;
     */
    public org.apache.drill.exec.proto.ExecProtos.FragmentHandle getHandle() {
      return handle_;
    }
    /**
     * optional .exec.bit.FragmentHandle handle = 2;
     */
    public org.apache.drill.exec.proto.ExecProtos.FragmentHandleOrBuilder getHandleOrBuilder() {
      return handle_;
    }
    private void initFields() {
      profile_ = org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile.getDefaultInstance();
      handle_ = org.apache.drill.exec.proto.ExecProtos.FragmentHandle.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      memoizedIsInitialized = 1;
      return true;
    }
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, profile_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, handle_);
      }
      getUnknownFields().writeTo(output);
    }
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, profile_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, handle_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    public static org.apache.drill.exec.proto.BitControl.FragmentStatus parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.drill.exec.proto.BitControl.FragmentStatus parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.drill.exec.proto.BitControl.FragmentStatus parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.drill.exec.proto.BitControl.FragmentStatus parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.drill.exec.proto.BitControl.FragmentStatus parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.drill.exec.proto.BitControl.FragmentStatus parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static org.apache.drill.exec.proto.BitControl.FragmentStatus parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static org.apache.drill.exec.proto.BitControl.FragmentStatus parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static org.apache.drill.exec.proto.BitControl.FragmentStatus parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.drill.exec.proto.BitControl.FragmentStatus parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(org.apache.drill.exec.proto.BitControl.FragmentStatus prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code exec.bit.control.FragmentStatus}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements org.apache.drill.exec.proto.BitControl.FragmentStatusOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_FragmentStatus_descriptor;
      }
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_FragmentStatus_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.drill.exec.proto.BitControl.FragmentStatus.class, org.apache.drill.exec.proto.BitControl.FragmentStatus.Builder.class);
      }
      // Construct using org.apache.drill.exec.proto.BitControl.FragmentStatus.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getProfileFieldBuilder();
          getHandleFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      public Builder clear() {
        super.clear();
        if (profileBuilder_ == null) {
          profile_ = org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile.getDefaultInstance();
        } else {
          profileBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (handleBuilder_ == null) {
          handle_ = org.apache.drill.exec.proto.ExecProtos.FragmentHandle.getDefaultInstance();
        } else {
          handleBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_FragmentStatus_descriptor;
      }
      public org.apache.drill.exec.proto.BitControl.FragmentStatus getDefaultInstanceForType() {
        return org.apache.drill.exec.proto.BitControl.FragmentStatus.getDefaultInstance();
      }
      public org.apache.drill.exec.proto.BitControl.FragmentStatus build() {
        org.apache.drill.exec.proto.BitControl.FragmentStatus result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      public org.apache.drill.exec.proto.BitControl.FragmentStatus buildPartial() {
        org.apache.drill.exec.proto.BitControl.FragmentStatus result = new org.apache.drill.exec.proto.BitControl.FragmentStatus(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (profileBuilder_ == null) {
          result.profile_ = profile_;
        } else {
          result.profile_ = profileBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (handleBuilder_ == null) {
          result.handle_ = handle_;
        } else {
          result.handle_ = handleBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.drill.exec.proto.BitControl.FragmentStatus) {
          return mergeFrom((org.apache.drill.exec.proto.BitControl.FragmentStatus)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(org.apache.drill.exec.proto.BitControl.FragmentStatus other) {
        if (other == org.apache.drill.exec.proto.BitControl.FragmentStatus.getDefaultInstance()) return this;
        if (other.hasProfile()) {
          mergeProfile(other.getProfile());
        }
        if (other.hasHandle()) {
          mergeHandle(other.getHandle());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      public final boolean isInitialized() {
        return true;
      }
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.apache.drill.exec.proto.BitControl.FragmentStatus parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.apache.drill.exec.proto.BitControl.FragmentStatus) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;
      // optional .exec.shared.MinorFragmentProfile profile = 1;
      private org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile profile_ = org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile, org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile.Builder, org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfileOrBuilder> profileBuilder_;
      /**
       * optional .exec.shared.MinorFragmentProfile profile = 1;
       */
      public boolean hasProfile() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .exec.shared.MinorFragmentProfile profile = 1;
       */
      public org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile getProfile() {
        if (profileBuilder_ == null) {
          return profile_;
        } else {
          return profileBuilder_.getMessage();
        }
      }
      /**
       * optional .exec.shared.MinorFragmentProfile profile = 1;
       */
      public Builder setProfile(org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile value) {
        if (profileBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          profile_ = value;
          onChanged();
        } else {
          profileBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .exec.shared.MinorFragmentProfile profile = 1;
       */
      public Builder setProfile(
          org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile.Builder builderForValue) {
        if (profileBuilder_ == null) {
          profile_ = builderForValue.build();
          onChanged();
        } else {
          profileBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .exec.shared.MinorFragmentProfile profile = 1;
       */
      public Builder mergeProfile(org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile value) {
        if (profileBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              profile_ != org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile.getDefaultInstance()) {
            profile_ =
              org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile.newBuilder(profile_).mergeFrom(value).buildPartial();
          } else {
            profile_ = value;
          }
          onChanged();
        } else {
          profileBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .exec.shared.MinorFragmentProfile profile = 1;
       */
      public Builder clearProfile() {
        if (profileBuilder_ == null) {
          profile_ = org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile.getDefaultInstance();
          onChanged();
        } else {
          profileBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .exec.shared.MinorFragmentProfile profile = 1;
       */
      public org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile.Builder getProfileBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getProfileFieldBuilder().getBuilder();
      }
      /**
       * optional .exec.shared.MinorFragmentProfile profile = 1;
       */
      public org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfileOrBuilder getProfileOrBuilder() {
        if (profileBuilder_ != null) {
          return profileBuilder_.getMessageOrBuilder();
        } else {
          return profile_;
        }
      }
      /**
       * optional .exec.shared.MinorFragmentProfile profile = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile, org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile.Builder, org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfileOrBuilder> 
          getProfileFieldBuilder() {
        if (profileBuilder_ == null) {
          profileBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile, org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile.Builder, org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfileOrBuilder>(
                  profile_,
                  getParentForChildren(),
                  isClean());
          profile_ = null;
        }
        return profileBuilder_;
      }
      // optional .exec.bit.FragmentHandle handle = 2;
      private org.apache.drill.exec.proto.ExecProtos.FragmentHandle handle_ = org.apache.drill.exec.proto.ExecProtos.FragmentHandle.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          org.apache.drill.exec.proto.ExecProtos.FragmentHandle, org.apache.drill.exec.proto.ExecProtos.FragmentHandle.Builder, org.apache.drill.exec.proto.ExecProtos.FragmentHandleOrBuilder> handleBuilder_;
      /**
       * optional .exec.bit.FragmentHandle handle = 2;
       */
      public boolean hasHandle() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional .exec.bit.FragmentHandle handle = 2;
       */
      public org.apache.drill.exec.proto.ExecProtos.FragmentHandle getHandle() {
        if (handleBuilder_ == null) {
          return handle_;
        } else {
          return handleBuilder_.getMessage();
        }
      }
      /**
       * optional .exec.bit.FragmentHandle handle = 2;
       */
      public Builder setHandle(org.apache.drill.exec.proto.ExecProtos.FragmentHandle value) {
        if (handleBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          handle_ = value;
          onChanged();
        } else {
          handleBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .exec.bit.FragmentHandle handle = 2;
       */
      public Builder setHandle(
          org.apache.drill.exec.proto.ExecProtos.FragmentHandle.Builder builderForValue) {
        if (handleBuilder_ == null) {
          handle_ = builderForValue.build();
          onChanged();
        } else {
          handleBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .exec.bit.FragmentHandle handle = 2;
       */
      public Builder mergeHandle(org.apache.drill.exec.proto.ExecProtos.FragmentHandle value) {
        if (handleBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              handle_ != org.apache.drill.exec.proto.ExecProtos.FragmentHandle.getDefaultInstance()) {
            handle_ =
              org.apache.drill.exec.proto.ExecProtos.FragmentHandle.newBuilder(handle_).mergeFrom(value).buildPartial();
          } else {
            handle_ = value;
          }
          onChanged();
        } else {
          handleBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .exec.bit.FragmentHandle handle = 2;
       */
      public Builder clearHandle() {
        if (handleBuilder_ == null) {
          handle_ = org.apache.drill.exec.proto.ExecProtos.FragmentHandle.getDefaultInstance();
          onChanged();
        } else {
          handleBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * optional .exec.bit.FragmentHandle handle = 2;
       */
      public org.apache.drill.exec.proto.ExecProtos.FragmentHandle.Builder getHandleBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getHandleFieldBuilder().getBuilder();
      }
      /**
       * optional .exec.bit.FragmentHandle handle = 2;
       */
      public org.apache.drill.exec.proto.ExecProtos.FragmentHandleOrBuilder getHandleOrBuilder() {
        if (handleBuilder_ != null) {
          return handleBuilder_.getMessageOrBuilder();
        } else {
          return handle_;
        }
      }
      /**
       * optional .exec.bit.FragmentHandle handle = 2;
       */
      private com.google.protobuf.SingleFieldBuilder<
          org.apache.drill.exec.proto.ExecProtos.FragmentHandle, org.apache.drill.exec.proto.ExecProtos.FragmentHandle.Builder, org.apache.drill.exec.proto.ExecProtos.FragmentHandleOrBuilder> 
          getHandleFieldBuilder() {
        if (handleBuilder_ == null) {
          handleBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              org.apache.drill.exec.proto.ExecProtos.FragmentHandle, org.apache.drill.exec.proto.ExecProtos.FragmentHandle.Builder, org.apache.drill.exec.proto.ExecProtos.FragmentHandleOrBuilder>(
                  handle_,
                  getParentForChildren(),
                  isClean());
          handle_ = null;
        }
        return handleBuilder_;
      }
      // @@protoc_insertion_point(builder_scope:exec.bit.control.FragmentStatus)
    }
    static {
      defaultInstance = new FragmentStatus(true);
      defaultInstance.initFields();
    }
    // @@protoc_insertion_point(class_scope:exec.bit.control.FragmentStatus)
  }
  public interface InitializeFragmentsOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    // repeated .exec.bit.control.PlanFragment fragment = 1;
    /**
     * repeated .exec.bit.control.PlanFragment fragment = 1;
     */
    java.util.List 
        getFragmentList();
    /**
     * repeated .exec.bit.control.PlanFragment fragment = 1;
     */
    org.apache.drill.exec.proto.BitControl.PlanFragment getFragment(int index);
    /**
     * repeated .exec.bit.control.PlanFragment fragment = 1;
     */
    int getFragmentCount();
    /**
     * repeated .exec.bit.control.PlanFragment fragment = 1;
     */
    java.util.List extends org.apache.drill.exec.proto.BitControl.PlanFragmentOrBuilder> 
        getFragmentOrBuilderList();
    /**
     * repeated .exec.bit.control.PlanFragment fragment = 1;
     */
    org.apache.drill.exec.proto.BitControl.PlanFragmentOrBuilder getFragmentOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code exec.bit.control.InitializeFragments}
   */
  public static final class InitializeFragments extends
      com.google.protobuf.GeneratedMessage
      implements InitializeFragmentsOrBuilder {
    // Use InitializeFragments.newBuilder() to construct.
    private InitializeFragments(com.google.protobuf.GeneratedMessage.Builder> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private InitializeFragments(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
    private static final InitializeFragments defaultInstance;
    public static InitializeFragments getDefaultInstance() {
      return defaultInstance;
    }
    public InitializeFragments getDefaultInstanceForType() {
      return defaultInstance;
    }
    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private InitializeFragments(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                fragment_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              fragment_.add(input.readMessage(org.apache.drill.exec.proto.BitControl.PlanFragment.PARSER, extensionRegistry));
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
          fragment_ = java.util.Collections.unmodifiableList(fragment_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_InitializeFragments_descriptor;
    }
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_InitializeFragments_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.drill.exec.proto.BitControl.InitializeFragments.class, org.apache.drill.exec.proto.BitControl.InitializeFragments.Builder.class);
    }
    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public InitializeFragments parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new InitializeFragments(input, extensionRegistry);
      }
    };
    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }
    // repeated .exec.bit.control.PlanFragment fragment = 1;
    public static final int FRAGMENT_FIELD_NUMBER = 1;
    private java.util.List fragment_;
    /**
     * repeated .exec.bit.control.PlanFragment fragment = 1;
     */
    public java.util.List getFragmentList() {
      return fragment_;
    }
    /**
     * repeated .exec.bit.control.PlanFragment fragment = 1;
     */
    public java.util.List extends org.apache.drill.exec.proto.BitControl.PlanFragmentOrBuilder> 
        getFragmentOrBuilderList() {
      return fragment_;
    }
    /**
     * repeated .exec.bit.control.PlanFragment fragment = 1;
     */
    public int getFragmentCount() {
      return fragment_.size();
    }
    /**
     * repeated .exec.bit.control.PlanFragment fragment = 1;
     */
    public org.apache.drill.exec.proto.BitControl.PlanFragment getFragment(int index) {
      return fragment_.get(index);
    }
    /**
     * repeated .exec.bit.control.PlanFragment fragment = 1;
     */
    public org.apache.drill.exec.proto.BitControl.PlanFragmentOrBuilder getFragmentOrBuilder(
        int index) {
      return fragment_.get(index);
    }
    private void initFields() {
      fragment_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      memoizedIsInitialized = 1;
      return true;
    }
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (int i = 0; i < fragment_.size(); i++) {
        output.writeMessage(1, fragment_.get(i));
      }
      getUnknownFields().writeTo(output);
    }
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
      size = 0;
      for (int i = 0; i < fragment_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, fragment_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    public static org.apache.drill.exec.proto.BitControl.InitializeFragments parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.drill.exec.proto.BitControl.InitializeFragments parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.drill.exec.proto.BitControl.InitializeFragments parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.drill.exec.proto.BitControl.InitializeFragments parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.drill.exec.proto.BitControl.InitializeFragments parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.drill.exec.proto.BitControl.InitializeFragments parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static org.apache.drill.exec.proto.BitControl.InitializeFragments parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static org.apache.drill.exec.proto.BitControl.InitializeFragments parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static org.apache.drill.exec.proto.BitControl.InitializeFragments parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.drill.exec.proto.BitControl.InitializeFragments parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(org.apache.drill.exec.proto.BitControl.InitializeFragments prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code exec.bit.control.InitializeFragments}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements org.apache.drill.exec.proto.BitControl.InitializeFragmentsOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_InitializeFragments_descriptor;
      }
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_InitializeFragments_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.drill.exec.proto.BitControl.InitializeFragments.class, org.apache.drill.exec.proto.BitControl.InitializeFragments.Builder.class);
      }
      // Construct using org.apache.drill.exec.proto.BitControl.InitializeFragments.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getFragmentFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      public Builder clear() {
        super.clear();
        if (fragmentBuilder_ == null) {
          fragment_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          fragmentBuilder_.clear();
        }
        return this;
      }
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_InitializeFragments_descriptor;
      }
      public org.apache.drill.exec.proto.BitControl.InitializeFragments getDefaultInstanceForType() {
        return org.apache.drill.exec.proto.BitControl.InitializeFragments.getDefaultInstance();
      }
      public org.apache.drill.exec.proto.BitControl.InitializeFragments build() {
        org.apache.drill.exec.proto.BitControl.InitializeFragments result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      public org.apache.drill.exec.proto.BitControl.InitializeFragments buildPartial() {
        org.apache.drill.exec.proto.BitControl.InitializeFragments result = new org.apache.drill.exec.proto.BitControl.InitializeFragments(this);
        int from_bitField0_ = bitField0_;
        if (fragmentBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            fragment_ = java.util.Collections.unmodifiableList(fragment_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.fragment_ = fragment_;
        } else {
          result.fragment_ = fragmentBuilder_.build();
        }
        onBuilt();
        return result;
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.drill.exec.proto.BitControl.InitializeFragments) {
          return mergeFrom((org.apache.drill.exec.proto.BitControl.InitializeFragments)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(org.apache.drill.exec.proto.BitControl.InitializeFragments other) {
        if (other == org.apache.drill.exec.proto.BitControl.InitializeFragments.getDefaultInstance()) return this;
        if (fragmentBuilder_ == null) {
          if (!other.fragment_.isEmpty()) {
            if (fragment_.isEmpty()) {
              fragment_ = other.fragment_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureFragmentIsMutable();
              fragment_.addAll(other.fragment_);
            }
            onChanged();
          }
        } else {
          if (!other.fragment_.isEmpty()) {
            if (fragmentBuilder_.isEmpty()) {
              fragmentBuilder_.dispose();
              fragmentBuilder_ = null;
              fragment_ = other.fragment_;
              bitField0_ = (bitField0_ & ~0x00000001);
              fragmentBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getFragmentFieldBuilder() : null;
            } else {
              fragmentBuilder_.addAllMessages(other.fragment_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      public final boolean isInitialized() {
        return true;
      }
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.apache.drill.exec.proto.BitControl.InitializeFragments parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.apache.drill.exec.proto.BitControl.InitializeFragments) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;
      // repeated .exec.bit.control.PlanFragment fragment = 1;
      private java.util.List fragment_ =
        java.util.Collections.emptyList();
      private void ensureFragmentIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          fragment_ = new java.util.ArrayList(fragment_);
          bitField0_ |= 0x00000001;
         }
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          org.apache.drill.exec.proto.BitControl.PlanFragment, org.apache.drill.exec.proto.BitControl.PlanFragment.Builder, org.apache.drill.exec.proto.BitControl.PlanFragmentOrBuilder> fragmentBuilder_;
      /**
       * repeated .exec.bit.control.PlanFragment fragment = 1;
       */
      public java.util.List getFragmentList() {
        if (fragmentBuilder_ == null) {
          return java.util.Collections.unmodifiableList(fragment_);
        } else {
          return fragmentBuilder_.getMessageList();
        }
      }
      /**
       * repeated .exec.bit.control.PlanFragment fragment = 1;
       */
      public int getFragmentCount() {
        if (fragmentBuilder_ == null) {
          return fragment_.size();
        } else {
          return fragmentBuilder_.getCount();
        }
      }
      /**
       * repeated .exec.bit.control.PlanFragment fragment = 1;
       */
      public org.apache.drill.exec.proto.BitControl.PlanFragment getFragment(int index) {
        if (fragmentBuilder_ == null) {
          return fragment_.get(index);
        } else {
          return fragmentBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .exec.bit.control.PlanFragment fragment = 1;
       */
      public Builder setFragment(
          int index, org.apache.drill.exec.proto.BitControl.PlanFragment value) {
        if (fragmentBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureFragmentIsMutable();
          fragment_.set(index, value);
          onChanged();
        } else {
          fragmentBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .exec.bit.control.PlanFragment fragment = 1;
       */
      public Builder setFragment(
          int index, org.apache.drill.exec.proto.BitControl.PlanFragment.Builder builderForValue) {
        if (fragmentBuilder_ == null) {
          ensureFragmentIsMutable();
          fragment_.set(index, builderForValue.build());
          onChanged();
        } else {
          fragmentBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .exec.bit.control.PlanFragment fragment = 1;
       */
      public Builder addFragment(org.apache.drill.exec.proto.BitControl.PlanFragment value) {
        if (fragmentBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureFragmentIsMutable();
          fragment_.add(value);
          onChanged();
        } else {
          fragmentBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .exec.bit.control.PlanFragment fragment = 1;
       */
      public Builder addFragment(
          int index, org.apache.drill.exec.proto.BitControl.PlanFragment value) {
        if (fragmentBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureFragmentIsMutable();
          fragment_.add(index, value);
          onChanged();
        } else {
          fragmentBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .exec.bit.control.PlanFragment fragment = 1;
       */
      public Builder addFragment(
          org.apache.drill.exec.proto.BitControl.PlanFragment.Builder builderForValue) {
        if (fragmentBuilder_ == null) {
          ensureFragmentIsMutable();
          fragment_.add(builderForValue.build());
          onChanged();
        } else {
          fragmentBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .exec.bit.control.PlanFragment fragment = 1;
       */
      public Builder addFragment(
          int index, org.apache.drill.exec.proto.BitControl.PlanFragment.Builder builderForValue) {
        if (fragmentBuilder_ == null) {
          ensureFragmentIsMutable();
          fragment_.add(index, builderForValue.build());
          onChanged();
        } else {
          fragmentBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .exec.bit.control.PlanFragment fragment = 1;
       */
      public Builder addAllFragment(
          java.lang.Iterable extends org.apache.drill.exec.proto.BitControl.PlanFragment> values) {
        if (fragmentBuilder_ == null) {
          ensureFragmentIsMutable();
          super.addAll(values, fragment_);
          onChanged();
        } else {
          fragmentBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .exec.bit.control.PlanFragment fragment = 1;
       */
      public Builder clearFragment() {
        if (fragmentBuilder_ == null) {
          fragment_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          fragmentBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .exec.bit.control.PlanFragment fragment = 1;
       */
      public Builder removeFragment(int index) {
        if (fragmentBuilder_ == null) {
          ensureFragmentIsMutable();
          fragment_.remove(index);
          onChanged();
        } else {
          fragmentBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .exec.bit.control.PlanFragment fragment = 1;
       */
      public org.apache.drill.exec.proto.BitControl.PlanFragment.Builder getFragmentBuilder(
          int index) {
        return getFragmentFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .exec.bit.control.PlanFragment fragment = 1;
       */
      public org.apache.drill.exec.proto.BitControl.PlanFragmentOrBuilder getFragmentOrBuilder(
          int index) {
        if (fragmentBuilder_ == null) {
          return fragment_.get(index);  } else {
          return fragmentBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .exec.bit.control.PlanFragment fragment = 1;
       */
      public java.util.List extends org.apache.drill.exec.proto.BitControl.PlanFragmentOrBuilder> 
           getFragmentOrBuilderList() {
        if (fragmentBuilder_ != null) {
          return fragmentBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(fragment_);
        }
      }
      /**
       * repeated .exec.bit.control.PlanFragment fragment = 1;
       */
      public org.apache.drill.exec.proto.BitControl.PlanFragment.Builder addFragmentBuilder() {
        return getFragmentFieldBuilder().addBuilder(
            org.apache.drill.exec.proto.BitControl.PlanFragment.getDefaultInstance());
      }
      /**
       * repeated .exec.bit.control.PlanFragment fragment = 1;
       */
      public org.apache.drill.exec.proto.BitControl.PlanFragment.Builder addFragmentBuilder(
          int index) {
        return getFragmentFieldBuilder().addBuilder(
            index, org.apache.drill.exec.proto.BitControl.PlanFragment.getDefaultInstance());
      }
      /**
       * repeated .exec.bit.control.PlanFragment fragment = 1;
       */
      public java.util.List 
           getFragmentBuilderList() {
        return getFragmentFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          org.apache.drill.exec.proto.BitControl.PlanFragment, org.apache.drill.exec.proto.BitControl.PlanFragment.Builder, org.apache.drill.exec.proto.BitControl.PlanFragmentOrBuilder> 
          getFragmentFieldBuilder() {
        if (fragmentBuilder_ == null) {
          fragmentBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              org.apache.drill.exec.proto.BitControl.PlanFragment, org.apache.drill.exec.proto.BitControl.PlanFragment.Builder, org.apache.drill.exec.proto.BitControl.PlanFragmentOrBuilder>(
                  fragment_,
                  ((bitField0_ & 0x00000001) == 0x00000001),
                  getParentForChildren(),
                  isClean());
          fragment_ = null;
        }
        return fragmentBuilder_;
      }
      // @@protoc_insertion_point(builder_scope:exec.bit.control.InitializeFragments)
    }
    static {
      defaultInstance = new InitializeFragments(true);
      defaultInstance.initFields();
    }
    // @@protoc_insertion_point(class_scope:exec.bit.control.InitializeFragments)
  }
  public interface PlanFragmentOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    // optional .exec.bit.FragmentHandle handle = 1;
    /**
     * optional .exec.bit.FragmentHandle handle = 1;
     */
    boolean hasHandle();
    /**
     * optional .exec.bit.FragmentHandle handle = 1;
     */
    org.apache.drill.exec.proto.ExecProtos.FragmentHandle getHandle();
    /**
     * optional .exec.bit.FragmentHandle handle = 1;
     */
    org.apache.drill.exec.proto.ExecProtos.FragmentHandleOrBuilder getHandleOrBuilder();
    // optional float network_cost = 4;
    /**
     * optional float network_cost = 4;
     */
    boolean hasNetworkCost();
    /**
     * optional float network_cost = 4;
     */
    float getNetworkCost();
    // optional float cpu_cost = 5;
    /**
     * optional float cpu_cost = 5;
     */
    boolean hasCpuCost();
    /**
     * optional float cpu_cost = 5;
     */
    float getCpuCost();
    // optional float disk_cost = 6;
    /**
     * optional float disk_cost = 6;
     */
    boolean hasDiskCost();
    /**
     * optional float disk_cost = 6;
     */
    float getDiskCost();
    // optional float memory_cost = 7;
    /**
     * optional float memory_cost = 7;
     */
    boolean hasMemoryCost();
    /**
     * optional float memory_cost = 7;
     */
    float getMemoryCost();
    // optional string fragment_json = 8;
    /**
     * optional string fragment_json = 8;
     */
    boolean hasFragmentJson();
    /**
     * optional string fragment_json = 8;
     */
    java.lang.String getFragmentJson();
    /**
     * optional string fragment_json = 8;
     */
    com.google.protobuf.ByteString
        getFragmentJsonBytes();
    // optional bool leaf_fragment = 9;
    /**
     * optional bool leaf_fragment = 9;
     */
    boolean hasLeafFragment();
    /**
     * optional bool leaf_fragment = 9;
     */
    boolean getLeafFragment();
    // optional .exec.DrillbitEndpoint assignment = 10;
    /**
     * optional .exec.DrillbitEndpoint assignment = 10;
     */
    boolean hasAssignment();
    /**
     * optional .exec.DrillbitEndpoint assignment = 10;
     */
    org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint getAssignment();
    /**
     * optional .exec.DrillbitEndpoint assignment = 10;
     */
    org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpointOrBuilder getAssignmentOrBuilder();
    // optional .exec.DrillbitEndpoint foreman = 11;
    /**
     * optional .exec.DrillbitEndpoint foreman = 11;
     */
    boolean hasForeman();
    /**
     * optional .exec.DrillbitEndpoint foreman = 11;
     */
    org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint getForeman();
    /**
     * optional .exec.DrillbitEndpoint foreman = 11;
     */
    org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpointOrBuilder getForemanOrBuilder();
    // optional int64 mem_initial = 12 [default = 20000000];
    /**
     * optional int64 mem_initial = 12 [default = 20000000];
     *
     * 
     * 20 megs
     * 
     */
    boolean hasMemInitial();
    /**
     * optional int64 mem_initial = 12 [default = 20000000];
     *
     * 
     * 20 megs
     * 
     */
    long getMemInitial();
    // optional int64 mem_max = 13 [default = 2000000000];
    /**
     * optional int64 mem_max = 13 [default = 2000000000];
     *
     * 
     * 20 gigs
     * 
     */
    boolean hasMemMax();
    /**
     * optional int64 mem_max = 13 [default = 2000000000];
     *
     * 
     * 20 gigs
     * 
     */
    long getMemMax();
    // optional .exec.shared.UserCredentials credentials = 14;
    /**
     * optional .exec.shared.UserCredentials credentials = 14;
     */
    boolean hasCredentials();
    /**
     * optional .exec.shared.UserCredentials credentials = 14;
     */
    org.apache.drill.exec.proto.UserBitShared.UserCredentials getCredentials();
    /**
     * optional .exec.shared.UserCredentials credentials = 14;
     */
    org.apache.drill.exec.proto.UserBitShared.UserCredentialsOrBuilder getCredentialsOrBuilder();
    // optional string options_json = 15;
    /**
     * optional string options_json = 15;
     */
    boolean hasOptionsJson();
    /**
     * optional string options_json = 15;
     */
    java.lang.String getOptionsJson();
    /**
     * optional string options_json = 15;
     */
    com.google.protobuf.ByteString
        getOptionsJsonBytes();
    // optional .exec.bit.control.QueryContextInformation context = 16;
    /**
     * optional .exec.bit.control.QueryContextInformation context = 16;
     */
    boolean hasContext();
    /**
     * optional .exec.bit.control.QueryContextInformation context = 16;
     */
    org.apache.drill.exec.proto.BitControl.QueryContextInformation getContext();
    /**
     * optional .exec.bit.control.QueryContextInformation context = 16;
     */
    org.apache.drill.exec.proto.BitControl.QueryContextInformationOrBuilder getContextOrBuilder();
    // repeated .exec.bit.control.Collector collector = 17;
    /**
     * repeated .exec.bit.control.Collector collector = 17;
     */
    java.util.List 
        getCollectorList();
    /**
     * repeated .exec.bit.control.Collector collector = 17;
     */
    org.apache.drill.exec.proto.BitControl.Collector getCollector(int index);
    /**
     * repeated .exec.bit.control.Collector collector = 17;
     */
    int getCollectorCount();
    /**
     * repeated .exec.bit.control.Collector collector = 17;
     */
    java.util.List extends org.apache.drill.exec.proto.BitControl.CollectorOrBuilder> 
        getCollectorOrBuilderList();
    /**
     * repeated .exec.bit.control.Collector collector = 17;
     */
    org.apache.drill.exec.proto.BitControl.CollectorOrBuilder getCollectorOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code exec.bit.control.PlanFragment}
   */
  public static final class PlanFragment extends
      com.google.protobuf.GeneratedMessage
      implements PlanFragmentOrBuilder {
    // Use PlanFragment.newBuilder() to construct.
    private PlanFragment(com.google.protobuf.GeneratedMessage.Builder> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private PlanFragment(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
    private static final PlanFragment defaultInstance;
    public static PlanFragment getDefaultInstance() {
      return defaultInstance;
    }
    public PlanFragment getDefaultInstanceForType() {
      return defaultInstance;
    }
    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private PlanFragment(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              org.apache.drill.exec.proto.ExecProtos.FragmentHandle.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = handle_.toBuilder();
              }
              handle_ = input.readMessage(org.apache.drill.exec.proto.ExecProtos.FragmentHandle.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(handle_);
                handle_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 37: {
              bitField0_ |= 0x00000002;
              networkCost_ = input.readFloat();
              break;
            }
            case 45: {
              bitField0_ |= 0x00000004;
              cpuCost_ = input.readFloat();
              break;
            }
            case 53: {
              bitField0_ |= 0x00000008;
              diskCost_ = input.readFloat();
              break;
            }
            case 61: {
              bitField0_ |= 0x00000010;
              memoryCost_ = input.readFloat();
              break;
            }
            case 66: {
              bitField0_ |= 0x00000020;
              fragmentJson_ = input.readBytes();
              break;
            }
            case 72: {
              bitField0_ |= 0x00000040;
              leafFragment_ = input.readBool();
              break;
            }
            case 82: {
              org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.Builder subBuilder = null;
              if (((bitField0_ & 0x00000080) == 0x00000080)) {
                subBuilder = assignment_.toBuilder();
              }
              assignment_ = input.readMessage(org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(assignment_);
                assignment_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000080;
              break;
            }
            case 90: {
              org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.Builder subBuilder = null;
              if (((bitField0_ & 0x00000100) == 0x00000100)) {
                subBuilder = foreman_.toBuilder();
              }
              foreman_ = input.readMessage(org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(foreman_);
                foreman_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000100;
              break;
            }
            case 96: {
              bitField0_ |= 0x00000200;
              memInitial_ = input.readInt64();
              break;
            }
            case 104: {
              bitField0_ |= 0x00000400;
              memMax_ = input.readInt64();
              break;
            }
            case 114: {
              org.apache.drill.exec.proto.UserBitShared.UserCredentials.Builder subBuilder = null;
              if (((bitField0_ & 0x00000800) == 0x00000800)) {
                subBuilder = credentials_.toBuilder();
              }
              credentials_ = input.readMessage(org.apache.drill.exec.proto.UserBitShared.UserCredentials.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(credentials_);
                credentials_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000800;
              break;
            }
            case 122: {
              bitField0_ |= 0x00001000;
              optionsJson_ = input.readBytes();
              break;
            }
            case 130: {
              org.apache.drill.exec.proto.BitControl.QueryContextInformation.Builder subBuilder = null;
              if (((bitField0_ & 0x00002000) == 0x00002000)) {
                subBuilder = context_.toBuilder();
              }
              context_ = input.readMessage(org.apache.drill.exec.proto.BitControl.QueryContextInformation.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(context_);
                context_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00002000;
              break;
            }
            case 138: {
              if (!((mutable_bitField0_ & 0x00004000) == 0x00004000)) {
                collector_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00004000;
              }
              collector_.add(input.readMessage(org.apache.drill.exec.proto.BitControl.Collector.PARSER, extensionRegistry));
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00004000) == 0x00004000)) {
          collector_ = java.util.Collections.unmodifiableList(collector_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_PlanFragment_descriptor;
    }
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_PlanFragment_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.drill.exec.proto.BitControl.PlanFragment.class, org.apache.drill.exec.proto.BitControl.PlanFragment.Builder.class);
    }
    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public PlanFragment parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new PlanFragment(input, extensionRegistry);
      }
    };
    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }
    private int bitField0_;
    // optional .exec.bit.FragmentHandle handle = 1;
    public static final int HANDLE_FIELD_NUMBER = 1;
    private org.apache.drill.exec.proto.ExecProtos.FragmentHandle handle_;
    /**
     * optional .exec.bit.FragmentHandle handle = 1;
     */
    public boolean hasHandle() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .exec.bit.FragmentHandle handle = 1;
     */
    public org.apache.drill.exec.proto.ExecProtos.FragmentHandle getHandle() {
      return handle_;
    }
    /**
     * optional .exec.bit.FragmentHandle handle = 1;
     */
    public org.apache.drill.exec.proto.ExecProtos.FragmentHandleOrBuilder getHandleOrBuilder() {
      return handle_;
    }
    // optional float network_cost = 4;
    public static final int NETWORK_COST_FIELD_NUMBER = 4;
    private float networkCost_;
    /**
     * optional float network_cost = 4;
     */
    public boolean hasNetworkCost() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional float network_cost = 4;
     */
    public float getNetworkCost() {
      return networkCost_;
    }
    // optional float cpu_cost = 5;
    public static final int CPU_COST_FIELD_NUMBER = 5;
    private float cpuCost_;
    /**
     * optional float cpu_cost = 5;
     */
    public boolean hasCpuCost() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional float cpu_cost = 5;
     */
    public float getCpuCost() {
      return cpuCost_;
    }
    // optional float disk_cost = 6;
    public static final int DISK_COST_FIELD_NUMBER = 6;
    private float diskCost_;
    /**
     * optional float disk_cost = 6;
     */
    public boolean hasDiskCost() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional float disk_cost = 6;
     */
    public float getDiskCost() {
      return diskCost_;
    }
    // optional float memory_cost = 7;
    public static final int MEMORY_COST_FIELD_NUMBER = 7;
    private float memoryCost_;
    /**
     * optional float memory_cost = 7;
     */
    public boolean hasMemoryCost() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional float memory_cost = 7;
     */
    public float getMemoryCost() {
      return memoryCost_;
    }
    // optional string fragment_json = 8;
    public static final int FRAGMENT_JSON_FIELD_NUMBER = 8;
    private java.lang.Object fragmentJson_;
    /**
     * optional string fragment_json = 8;
     */
    public boolean hasFragmentJson() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * optional string fragment_json = 8;
     */
    public java.lang.String getFragmentJson() {
      java.lang.Object ref = fragmentJson_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          fragmentJson_ = s;
        }
        return s;
      }
    }
    /**
     * optional string fragment_json = 8;
     */
    public com.google.protobuf.ByteString
        getFragmentJsonBytes() {
      java.lang.Object ref = fragmentJson_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        fragmentJson_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    // optional bool leaf_fragment = 9;
    public static final int LEAF_FRAGMENT_FIELD_NUMBER = 9;
    private boolean leafFragment_;
    /**
     * optional bool leaf_fragment = 9;
     */
    public boolean hasLeafFragment() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * optional bool leaf_fragment = 9;
     */
    public boolean getLeafFragment() {
      return leafFragment_;
    }
    // optional .exec.DrillbitEndpoint assignment = 10;
    public static final int ASSIGNMENT_FIELD_NUMBER = 10;
    private org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint assignment_;
    /**
     * optional .exec.DrillbitEndpoint assignment = 10;
     */
    public boolean hasAssignment() {
      return ((bitField0_ & 0x00000080) == 0x00000080);
    }
    /**
     * optional .exec.DrillbitEndpoint assignment = 10;
     */
    public org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint getAssignment() {
      return assignment_;
    }
    /**
     * optional .exec.DrillbitEndpoint assignment = 10;
     */
    public org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpointOrBuilder getAssignmentOrBuilder() {
      return assignment_;
    }
    // optional .exec.DrillbitEndpoint foreman = 11;
    public static final int FOREMAN_FIELD_NUMBER = 11;
    private org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint foreman_;
    /**
     * optional .exec.DrillbitEndpoint foreman = 11;
     */
    public boolean hasForeman() {
      return ((bitField0_ & 0x00000100) == 0x00000100);
    }
    /**
     * optional .exec.DrillbitEndpoint foreman = 11;
     */
    public org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint getForeman() {
      return foreman_;
    }
    /**
     * optional .exec.DrillbitEndpoint foreman = 11;
     */
    public org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpointOrBuilder getForemanOrBuilder() {
      return foreman_;
    }
    // optional int64 mem_initial = 12 [default = 20000000];
    public static final int MEM_INITIAL_FIELD_NUMBER = 12;
    private long memInitial_;
    /**
     * optional int64 mem_initial = 12 [default = 20000000];
     *
     * 
     * 20 megs
     * 
     */
    public boolean hasMemInitial() {
      return ((bitField0_ & 0x00000200) == 0x00000200);
    }
    /**
     * optional int64 mem_initial = 12 [default = 20000000];
     *
     * 
     * 20 megs
     * 
     */
    public long getMemInitial() {
      return memInitial_;
    }
    // optional int64 mem_max = 13 [default = 2000000000];
    public static final int MEM_MAX_FIELD_NUMBER = 13;
    private long memMax_;
    /**
     * optional int64 mem_max = 13 [default = 2000000000];
     *
     * 
     * 20 gigs
     * 
     */
    public boolean hasMemMax() {
      return ((bitField0_ & 0x00000400) == 0x00000400);
    }
    /**
     * optional int64 mem_max = 13 [default = 2000000000];
     *
     * 
     * 20 gigs
     * 
     */
    public long getMemMax() {
      return memMax_;
    }
    // optional .exec.shared.UserCredentials credentials = 14;
    public static final int CREDENTIALS_FIELD_NUMBER = 14;
    private org.apache.drill.exec.proto.UserBitShared.UserCredentials credentials_;
    /**
     * optional .exec.shared.UserCredentials credentials = 14;
     */
    public boolean hasCredentials() {
      return ((bitField0_ & 0x00000800) == 0x00000800);
    }
    /**
     * optional .exec.shared.UserCredentials credentials = 14;
     */
    public org.apache.drill.exec.proto.UserBitShared.UserCredentials getCredentials() {
      return credentials_;
    }
    /**
     * optional .exec.shared.UserCredentials credentials = 14;
     */
    public org.apache.drill.exec.proto.UserBitShared.UserCredentialsOrBuilder getCredentialsOrBuilder() {
      return credentials_;
    }
    // optional string options_json = 15;
    public static final int OPTIONS_JSON_FIELD_NUMBER = 15;
    private java.lang.Object optionsJson_;
    /**
     * optional string options_json = 15;
     */
    public boolean hasOptionsJson() {
      return ((bitField0_ & 0x00001000) == 0x00001000);
    }
    /**
     * optional string options_json = 15;
     */
    public java.lang.String getOptionsJson() {
      java.lang.Object ref = optionsJson_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          optionsJson_ = s;
        }
        return s;
      }
    }
    /**
     * optional string options_json = 15;
     */
    public com.google.protobuf.ByteString
        getOptionsJsonBytes() {
      java.lang.Object ref = optionsJson_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        optionsJson_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    // optional .exec.bit.control.QueryContextInformation context = 16;
    public static final int CONTEXT_FIELD_NUMBER = 16;
    private org.apache.drill.exec.proto.BitControl.QueryContextInformation context_;
    /**
     * optional .exec.bit.control.QueryContextInformation context = 16;
     */
    public boolean hasContext() {
      return ((bitField0_ & 0x00002000) == 0x00002000);
    }
    /**
     * optional .exec.bit.control.QueryContextInformation context = 16;
     */
    public org.apache.drill.exec.proto.BitControl.QueryContextInformation getContext() {
      return context_;
    }
    /**
     * optional .exec.bit.control.QueryContextInformation context = 16;
     */
    public org.apache.drill.exec.proto.BitControl.QueryContextInformationOrBuilder getContextOrBuilder() {
      return context_;
    }
    // repeated .exec.bit.control.Collector collector = 17;
    public static final int COLLECTOR_FIELD_NUMBER = 17;
    private java.util.List collector_;
    /**
     * repeated .exec.bit.control.Collector collector = 17;
     */
    public java.util.List getCollectorList() {
      return collector_;
    }
    /**
     * repeated .exec.bit.control.Collector collector = 17;
     */
    public java.util.List extends org.apache.drill.exec.proto.BitControl.CollectorOrBuilder> 
        getCollectorOrBuilderList() {
      return collector_;
    }
    /**
     * repeated .exec.bit.control.Collector collector = 17;
     */
    public int getCollectorCount() {
      return collector_.size();
    }
    /**
     * repeated .exec.bit.control.Collector collector = 17;
     */
    public org.apache.drill.exec.proto.BitControl.Collector getCollector(int index) {
      return collector_.get(index);
    }
    /**
     * repeated .exec.bit.control.Collector collector = 17;
     */
    public org.apache.drill.exec.proto.BitControl.CollectorOrBuilder getCollectorOrBuilder(
        int index) {
      return collector_.get(index);
    }
    private void initFields() {
      handle_ = org.apache.drill.exec.proto.ExecProtos.FragmentHandle.getDefaultInstance();
      networkCost_ = 0F;
      cpuCost_ = 0F;
      diskCost_ = 0F;
      memoryCost_ = 0F;
      fragmentJson_ = "";
      leafFragment_ = false;
      assignment_ = org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.getDefaultInstance();
      foreman_ = org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.getDefaultInstance();
      memInitial_ = 20000000L;
      memMax_ = 2000000000L;
      credentials_ = org.apache.drill.exec.proto.UserBitShared.UserCredentials.getDefaultInstance();
      optionsJson_ = "";
      context_ = org.apache.drill.exec.proto.BitControl.QueryContextInformation.getDefaultInstance();
      collector_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      memoizedIsInitialized = 1;
      return true;
    }
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, handle_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeFloat(4, networkCost_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeFloat(5, cpuCost_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeFloat(6, diskCost_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeFloat(7, memoryCost_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeBytes(8, getFragmentJsonBytes());
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeBool(9, leafFragment_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        output.writeMessage(10, assignment_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        output.writeMessage(11, foreman_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        output.writeInt64(12, memInitial_);
      }
      if (((bitField0_ & 0x00000400) == 0x00000400)) {
        output.writeInt64(13, memMax_);
      }
      if (((bitField0_ & 0x00000800) == 0x00000800)) {
        output.writeMessage(14, credentials_);
      }
      if (((bitField0_ & 0x00001000) == 0x00001000)) {
        output.writeBytes(15, getOptionsJsonBytes());
      }
      if (((bitField0_ & 0x00002000) == 0x00002000)) {
        output.writeMessage(16, context_);
      }
      for (int i = 0; i < collector_.size(); i++) {
        output.writeMessage(17, collector_.get(i));
      }
      getUnknownFields().writeTo(output);
    }
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, handle_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(4, networkCost_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(5, cpuCost_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(6, diskCost_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(7, memoryCost_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(8, getFragmentJsonBytes());
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(9, leafFragment_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(10, assignment_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(11, foreman_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(12, memInitial_);
      }
      if (((bitField0_ & 0x00000400) == 0x00000400)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(13, memMax_);
      }
      if (((bitField0_ & 0x00000800) == 0x00000800)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(14, credentials_);
      }
      if (((bitField0_ & 0x00001000) == 0x00001000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(15, getOptionsJsonBytes());
      }
      if (((bitField0_ & 0x00002000) == 0x00002000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(16, context_);
      }
      for (int i = 0; i < collector_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(17, collector_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    public static org.apache.drill.exec.proto.BitControl.PlanFragment parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.drill.exec.proto.BitControl.PlanFragment parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.drill.exec.proto.BitControl.PlanFragment parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.drill.exec.proto.BitControl.PlanFragment parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.drill.exec.proto.BitControl.PlanFragment parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.drill.exec.proto.BitControl.PlanFragment parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static org.apache.drill.exec.proto.BitControl.PlanFragment parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static org.apache.drill.exec.proto.BitControl.PlanFragment parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static org.apache.drill.exec.proto.BitControl.PlanFragment parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.drill.exec.proto.BitControl.PlanFragment parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(org.apache.drill.exec.proto.BitControl.PlanFragment prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code exec.bit.control.PlanFragment}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements org.apache.drill.exec.proto.BitControl.PlanFragmentOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_PlanFragment_descriptor;
      }
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_PlanFragment_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.drill.exec.proto.BitControl.PlanFragment.class, org.apache.drill.exec.proto.BitControl.PlanFragment.Builder.class);
      }
      // Construct using org.apache.drill.exec.proto.BitControl.PlanFragment.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getHandleFieldBuilder();
          getAssignmentFieldBuilder();
          getForemanFieldBuilder();
          getCredentialsFieldBuilder();
          getContextFieldBuilder();
          getCollectorFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      public Builder clear() {
        super.clear();
        if (handleBuilder_ == null) {
          handle_ = org.apache.drill.exec.proto.ExecProtos.FragmentHandle.getDefaultInstance();
        } else {
          handleBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        networkCost_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000002);
        cpuCost_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000004);
        diskCost_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000008);
        memoryCost_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000010);
        fragmentJson_ = "";
        bitField0_ = (bitField0_ & ~0x00000020);
        leafFragment_ = false;
        bitField0_ = (bitField0_ & ~0x00000040);
        if (assignmentBuilder_ == null) {
          assignment_ = org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.getDefaultInstance();
        } else {
          assignmentBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000080);
        if (foremanBuilder_ == null) {
          foreman_ = org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.getDefaultInstance();
        } else {
          foremanBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000100);
        memInitial_ = 20000000L;
        bitField0_ = (bitField0_ & ~0x00000200);
        memMax_ = 2000000000L;
        bitField0_ = (bitField0_ & ~0x00000400);
        if (credentialsBuilder_ == null) {
          credentials_ = org.apache.drill.exec.proto.UserBitShared.UserCredentials.getDefaultInstance();
        } else {
          credentialsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000800);
        optionsJson_ = "";
        bitField0_ = (bitField0_ & ~0x00001000);
        if (contextBuilder_ == null) {
          context_ = org.apache.drill.exec.proto.BitControl.QueryContextInformation.getDefaultInstance();
        } else {
          contextBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00002000);
        if (collectorBuilder_ == null) {
          collector_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00004000);
        } else {
          collectorBuilder_.clear();
        }
        return this;
      }
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_PlanFragment_descriptor;
      }
      public org.apache.drill.exec.proto.BitControl.PlanFragment getDefaultInstanceForType() {
        return org.apache.drill.exec.proto.BitControl.PlanFragment.getDefaultInstance();
      }
      public org.apache.drill.exec.proto.BitControl.PlanFragment build() {
        org.apache.drill.exec.proto.BitControl.PlanFragment result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      public org.apache.drill.exec.proto.BitControl.PlanFragment buildPartial() {
        org.apache.drill.exec.proto.BitControl.PlanFragment result = new org.apache.drill.exec.proto.BitControl.PlanFragment(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (handleBuilder_ == null) {
          result.handle_ = handle_;
        } else {
          result.handle_ = handleBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.networkCost_ = networkCost_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.cpuCost_ = cpuCost_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.diskCost_ = diskCost_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.memoryCost_ = memoryCost_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.fragmentJson_ = fragmentJson_;
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000040;
        }
        result.leafFragment_ = leafFragment_;
        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
          to_bitField0_ |= 0x00000080;
        }
        if (assignmentBuilder_ == null) {
          result.assignment_ = assignment_;
        } else {
          result.assignment_ = assignmentBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
          to_bitField0_ |= 0x00000100;
        }
        if (foremanBuilder_ == null) {
          result.foreman_ = foreman_;
        } else {
          result.foreman_ = foremanBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
          to_bitField0_ |= 0x00000200;
        }
        result.memInitial_ = memInitial_;
        if (((from_bitField0_ & 0x00000400) == 0x00000400)) {
          to_bitField0_ |= 0x00000400;
        }
        result.memMax_ = memMax_;
        if (((from_bitField0_ & 0x00000800) == 0x00000800)) {
          to_bitField0_ |= 0x00000800;
        }
        if (credentialsBuilder_ == null) {
          result.credentials_ = credentials_;
        } else {
          result.credentials_ = credentialsBuilder_.build();
        }
        if (((from_bitField0_ & 0x00001000) == 0x00001000)) {
          to_bitField0_ |= 0x00001000;
        }
        result.optionsJson_ = optionsJson_;
        if (((from_bitField0_ & 0x00002000) == 0x00002000)) {
          to_bitField0_ |= 0x00002000;
        }
        if (contextBuilder_ == null) {
          result.context_ = context_;
        } else {
          result.context_ = contextBuilder_.build();
        }
        if (collectorBuilder_ == null) {
          if (((bitField0_ & 0x00004000) == 0x00004000)) {
            collector_ = java.util.Collections.unmodifiableList(collector_);
            bitField0_ = (bitField0_ & ~0x00004000);
          }
          result.collector_ = collector_;
        } else {
          result.collector_ = collectorBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.drill.exec.proto.BitControl.PlanFragment) {
          return mergeFrom((org.apache.drill.exec.proto.BitControl.PlanFragment)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(org.apache.drill.exec.proto.BitControl.PlanFragment other) {
        if (other == org.apache.drill.exec.proto.BitControl.PlanFragment.getDefaultInstance()) return this;
        if (other.hasHandle()) {
          mergeHandle(other.getHandle());
        }
        if (other.hasNetworkCost()) {
          setNetworkCost(other.getNetworkCost());
        }
        if (other.hasCpuCost()) {
          setCpuCost(other.getCpuCost());
        }
        if (other.hasDiskCost()) {
          setDiskCost(other.getDiskCost());
        }
        if (other.hasMemoryCost()) {
          setMemoryCost(other.getMemoryCost());
        }
        if (other.hasFragmentJson()) {
          bitField0_ |= 0x00000020;
          fragmentJson_ = other.fragmentJson_;
          onChanged();
        }
        if (other.hasLeafFragment()) {
          setLeafFragment(other.getLeafFragment());
        }
        if (other.hasAssignment()) {
          mergeAssignment(other.getAssignment());
        }
        if (other.hasForeman()) {
          mergeForeman(other.getForeman());
        }
        if (other.hasMemInitial()) {
          setMemInitial(other.getMemInitial());
        }
        if (other.hasMemMax()) {
          setMemMax(other.getMemMax());
        }
        if (other.hasCredentials()) {
          mergeCredentials(other.getCredentials());
        }
        if (other.hasOptionsJson()) {
          bitField0_ |= 0x00001000;
          optionsJson_ = other.optionsJson_;
          onChanged();
        }
        if (other.hasContext()) {
          mergeContext(other.getContext());
        }
        if (collectorBuilder_ == null) {
          if (!other.collector_.isEmpty()) {
            if (collector_.isEmpty()) {
              collector_ = other.collector_;
              bitField0_ = (bitField0_ & ~0x00004000);
            } else {
              ensureCollectorIsMutable();
              collector_.addAll(other.collector_);
            }
            onChanged();
          }
        } else {
          if (!other.collector_.isEmpty()) {
            if (collectorBuilder_.isEmpty()) {
              collectorBuilder_.dispose();
              collectorBuilder_ = null;
              collector_ = other.collector_;
              bitField0_ = (bitField0_ & ~0x00004000);
              collectorBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getCollectorFieldBuilder() : null;
            } else {
              collectorBuilder_.addAllMessages(other.collector_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      public final boolean isInitialized() {
        return true;
      }
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.apache.drill.exec.proto.BitControl.PlanFragment parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.apache.drill.exec.proto.BitControl.PlanFragment) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;
      // optional .exec.bit.FragmentHandle handle = 1;
      private org.apache.drill.exec.proto.ExecProtos.FragmentHandle handle_ = org.apache.drill.exec.proto.ExecProtos.FragmentHandle.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          org.apache.drill.exec.proto.ExecProtos.FragmentHandle, org.apache.drill.exec.proto.ExecProtos.FragmentHandle.Builder, org.apache.drill.exec.proto.ExecProtos.FragmentHandleOrBuilder> handleBuilder_;
      /**
       * optional .exec.bit.FragmentHandle handle = 1;
       */
      public boolean hasHandle() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .exec.bit.FragmentHandle handle = 1;
       */
      public org.apache.drill.exec.proto.ExecProtos.FragmentHandle getHandle() {
        if (handleBuilder_ == null) {
          return handle_;
        } else {
          return handleBuilder_.getMessage();
        }
      }
      /**
       * optional .exec.bit.FragmentHandle handle = 1;
       */
      public Builder setHandle(org.apache.drill.exec.proto.ExecProtos.FragmentHandle value) {
        if (handleBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          handle_ = value;
          onChanged();
        } else {
          handleBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .exec.bit.FragmentHandle handle = 1;
       */
      public Builder setHandle(
          org.apache.drill.exec.proto.ExecProtos.FragmentHandle.Builder builderForValue) {
        if (handleBuilder_ == null) {
          handle_ = builderForValue.build();
          onChanged();
        } else {
          handleBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .exec.bit.FragmentHandle handle = 1;
       */
      public Builder mergeHandle(org.apache.drill.exec.proto.ExecProtos.FragmentHandle value) {
        if (handleBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              handle_ != org.apache.drill.exec.proto.ExecProtos.FragmentHandle.getDefaultInstance()) {
            handle_ =
              org.apache.drill.exec.proto.ExecProtos.FragmentHandle.newBuilder(handle_).mergeFrom(value).buildPartial();
          } else {
            handle_ = value;
          }
          onChanged();
        } else {
          handleBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .exec.bit.FragmentHandle handle = 1;
       */
      public Builder clearHandle() {
        if (handleBuilder_ == null) {
          handle_ = org.apache.drill.exec.proto.ExecProtos.FragmentHandle.getDefaultInstance();
          onChanged();
        } else {
          handleBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .exec.bit.FragmentHandle handle = 1;
       */
      public org.apache.drill.exec.proto.ExecProtos.FragmentHandle.Builder getHandleBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getHandleFieldBuilder().getBuilder();
      }
      /**
       * optional .exec.bit.FragmentHandle handle = 1;
       */
      public org.apache.drill.exec.proto.ExecProtos.FragmentHandleOrBuilder getHandleOrBuilder() {
        if (handleBuilder_ != null) {
          return handleBuilder_.getMessageOrBuilder();
        } else {
          return handle_;
        }
      }
      /**
       * optional .exec.bit.FragmentHandle handle = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          org.apache.drill.exec.proto.ExecProtos.FragmentHandle, org.apache.drill.exec.proto.ExecProtos.FragmentHandle.Builder, org.apache.drill.exec.proto.ExecProtos.FragmentHandleOrBuilder> 
          getHandleFieldBuilder() {
        if (handleBuilder_ == null) {
          handleBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              org.apache.drill.exec.proto.ExecProtos.FragmentHandle, org.apache.drill.exec.proto.ExecProtos.FragmentHandle.Builder, org.apache.drill.exec.proto.ExecProtos.FragmentHandleOrBuilder>(
                  handle_,
                  getParentForChildren(),
                  isClean());
          handle_ = null;
        }
        return handleBuilder_;
      }
      // optional float network_cost = 4;
      private float networkCost_ ;
      /**
       * optional float network_cost = 4;
       */
      public boolean hasNetworkCost() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional float network_cost = 4;
       */
      public float getNetworkCost() {
        return networkCost_;
      }
      /**
       * optional float network_cost = 4;
       */
      public Builder setNetworkCost(float value) {
        bitField0_ |= 0x00000002;
        networkCost_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float network_cost = 4;
       */
      public Builder clearNetworkCost() {
        bitField0_ = (bitField0_ & ~0x00000002);
        networkCost_ = 0F;
        onChanged();
        return this;
      }
      // optional float cpu_cost = 5;
      private float cpuCost_ ;
      /**
       * optional float cpu_cost = 5;
       */
      public boolean hasCpuCost() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional float cpu_cost = 5;
       */
      public float getCpuCost() {
        return cpuCost_;
      }
      /**
       * optional float cpu_cost = 5;
       */
      public Builder setCpuCost(float value) {
        bitField0_ |= 0x00000004;
        cpuCost_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float cpu_cost = 5;
       */
      public Builder clearCpuCost() {
        bitField0_ = (bitField0_ & ~0x00000004);
        cpuCost_ = 0F;
        onChanged();
        return this;
      }
      // optional float disk_cost = 6;
      private float diskCost_ ;
      /**
       * optional float disk_cost = 6;
       */
      public boolean hasDiskCost() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional float disk_cost = 6;
       */
      public float getDiskCost() {
        return diskCost_;
      }
      /**
       * optional float disk_cost = 6;
       */
      public Builder setDiskCost(float value) {
        bitField0_ |= 0x00000008;
        diskCost_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float disk_cost = 6;
       */
      public Builder clearDiskCost() {
        bitField0_ = (bitField0_ & ~0x00000008);
        diskCost_ = 0F;
        onChanged();
        return this;
      }
      // optional float memory_cost = 7;
      private float memoryCost_ ;
      /**
       * optional float memory_cost = 7;
       */
      public boolean hasMemoryCost() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional float memory_cost = 7;
       */
      public float getMemoryCost() {
        return memoryCost_;
      }
      /**
       * optional float memory_cost = 7;
       */
      public Builder setMemoryCost(float value) {
        bitField0_ |= 0x00000010;
        memoryCost_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float memory_cost = 7;
       */
      public Builder clearMemoryCost() {
        bitField0_ = (bitField0_ & ~0x00000010);
        memoryCost_ = 0F;
        onChanged();
        return this;
      }
      // optional string fragment_json = 8;
      private java.lang.Object fragmentJson_ = "";
      /**
       * optional string fragment_json = 8;
       */
      public boolean hasFragmentJson() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * optional string fragment_json = 8;
       */
      public java.lang.String getFragmentJson() {
        java.lang.Object ref = fragmentJson_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          fragmentJson_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string fragment_json = 8;
       */
      public com.google.protobuf.ByteString
          getFragmentJsonBytes() {
        java.lang.Object ref = fragmentJson_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          fragmentJson_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string fragment_json = 8;
       */
      public Builder setFragmentJson(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000020;
        fragmentJson_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string fragment_json = 8;
       */
      public Builder clearFragmentJson() {
        bitField0_ = (bitField0_ & ~0x00000020);
        fragmentJson_ = getDefaultInstance().getFragmentJson();
        onChanged();
        return this;
      }
      /**
       * optional string fragment_json = 8;
       */
      public Builder setFragmentJsonBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000020;
        fragmentJson_ = value;
        onChanged();
        return this;
      }
      // optional bool leaf_fragment = 9;
      private boolean leafFragment_ ;
      /**
       * optional bool leaf_fragment = 9;
       */
      public boolean hasLeafFragment() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * optional bool leaf_fragment = 9;
       */
      public boolean getLeafFragment() {
        return leafFragment_;
      }
      /**
       * optional bool leaf_fragment = 9;
       */
      public Builder setLeafFragment(boolean value) {
        bitField0_ |= 0x00000040;
        leafFragment_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool leaf_fragment = 9;
       */
      public Builder clearLeafFragment() {
        bitField0_ = (bitField0_ & ~0x00000040);
        leafFragment_ = false;
        onChanged();
        return this;
      }
      // optional .exec.DrillbitEndpoint assignment = 10;
      private org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint assignment_ = org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint, org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.Builder, org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpointOrBuilder> assignmentBuilder_;
      /**
       * optional .exec.DrillbitEndpoint assignment = 10;
       */
      public boolean hasAssignment() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      /**
       * optional .exec.DrillbitEndpoint assignment = 10;
       */
      public org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint getAssignment() {
        if (assignmentBuilder_ == null) {
          return assignment_;
        } else {
          return assignmentBuilder_.getMessage();
        }
      }
      /**
       * optional .exec.DrillbitEndpoint assignment = 10;
       */
      public Builder setAssignment(org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint value) {
        if (assignmentBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          assignment_ = value;
          onChanged();
        } else {
          assignmentBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000080;
        return this;
      }
      /**
       * optional .exec.DrillbitEndpoint assignment = 10;
       */
      public Builder setAssignment(
          org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.Builder builderForValue) {
        if (assignmentBuilder_ == null) {
          assignment_ = builderForValue.build();
          onChanged();
        } else {
          assignmentBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000080;
        return this;
      }
      /**
       * optional .exec.DrillbitEndpoint assignment = 10;
       */
      public Builder mergeAssignment(org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint value) {
        if (assignmentBuilder_ == null) {
          if (((bitField0_ & 0x00000080) == 0x00000080) &&
              assignment_ != org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.getDefaultInstance()) {
            assignment_ =
              org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.newBuilder(assignment_).mergeFrom(value).buildPartial();
          } else {
            assignment_ = value;
          }
          onChanged();
        } else {
          assignmentBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000080;
        return this;
      }
      /**
       * optional .exec.DrillbitEndpoint assignment = 10;
       */
      public Builder clearAssignment() {
        if (assignmentBuilder_ == null) {
          assignment_ = org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.getDefaultInstance();
          onChanged();
        } else {
          assignmentBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000080);
        return this;
      }
      /**
       * optional .exec.DrillbitEndpoint assignment = 10;
       */
      public org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.Builder getAssignmentBuilder() {
        bitField0_ |= 0x00000080;
        onChanged();
        return getAssignmentFieldBuilder().getBuilder();
      }
      /**
       * optional .exec.DrillbitEndpoint assignment = 10;
       */
      public org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpointOrBuilder getAssignmentOrBuilder() {
        if (assignmentBuilder_ != null) {
          return assignmentBuilder_.getMessageOrBuilder();
        } else {
          return assignment_;
        }
      }
      /**
       * optional .exec.DrillbitEndpoint assignment = 10;
       */
      private com.google.protobuf.SingleFieldBuilder<
          org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint, org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.Builder, org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpointOrBuilder> 
          getAssignmentFieldBuilder() {
        if (assignmentBuilder_ == null) {
          assignmentBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint, org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.Builder, org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpointOrBuilder>(
                  assignment_,
                  getParentForChildren(),
                  isClean());
          assignment_ = null;
        }
        return assignmentBuilder_;
      }
      // optional .exec.DrillbitEndpoint foreman = 11;
      private org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint foreman_ = org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint, org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.Builder, org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpointOrBuilder> foremanBuilder_;
      /**
       * optional .exec.DrillbitEndpoint foreman = 11;
       */
      public boolean hasForeman() {
        return ((bitField0_ & 0x00000100) == 0x00000100);
      }
      /**
       * optional .exec.DrillbitEndpoint foreman = 11;
       */
      public org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint getForeman() {
        if (foremanBuilder_ == null) {
          return foreman_;
        } else {
          return foremanBuilder_.getMessage();
        }
      }
      /**
       * optional .exec.DrillbitEndpoint foreman = 11;
       */
      public Builder setForeman(org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint value) {
        if (foremanBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          foreman_ = value;
          onChanged();
        } else {
          foremanBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000100;
        return this;
      }
      /**
       * optional .exec.DrillbitEndpoint foreman = 11;
       */
      public Builder setForeman(
          org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.Builder builderForValue) {
        if (foremanBuilder_ == null) {
          foreman_ = builderForValue.build();
          onChanged();
        } else {
          foremanBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000100;
        return this;
      }
      /**
       * optional .exec.DrillbitEndpoint foreman = 11;
       */
      public Builder mergeForeman(org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint value) {
        if (foremanBuilder_ == null) {
          if (((bitField0_ & 0x00000100) == 0x00000100) &&
              foreman_ != org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.getDefaultInstance()) {
            foreman_ =
              org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.newBuilder(foreman_).mergeFrom(value).buildPartial();
          } else {
            foreman_ = value;
          }
          onChanged();
        } else {
          foremanBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000100;
        return this;
      }
      /**
       * optional .exec.DrillbitEndpoint foreman = 11;
       */
      public Builder clearForeman() {
        if (foremanBuilder_ == null) {
          foreman_ = org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.getDefaultInstance();
          onChanged();
        } else {
          foremanBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000100);
        return this;
      }
      /**
       * optional .exec.DrillbitEndpoint foreman = 11;
       */
      public org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.Builder getForemanBuilder() {
        bitField0_ |= 0x00000100;
        onChanged();
        return getForemanFieldBuilder().getBuilder();
      }
      /**
       * optional .exec.DrillbitEndpoint foreman = 11;
       */
      public org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpointOrBuilder getForemanOrBuilder() {
        if (foremanBuilder_ != null) {
          return foremanBuilder_.getMessageOrBuilder();
        } else {
          return foreman_;
        }
      }
      /**
       * optional .exec.DrillbitEndpoint foreman = 11;
       */
      private com.google.protobuf.SingleFieldBuilder<
          org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint, org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.Builder, org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpointOrBuilder> 
          getForemanFieldBuilder() {
        if (foremanBuilder_ == null) {
          foremanBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint, org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.Builder, org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpointOrBuilder>(
                  foreman_,
                  getParentForChildren(),
                  isClean());
          foreman_ = null;
        }
        return foremanBuilder_;
      }
      // optional int64 mem_initial = 12 [default = 20000000];
      private long memInitial_ = 20000000L;
      /**
       * optional int64 mem_initial = 12 [default = 20000000];
       *
       * 
       * 20 megs
       * 
       */
      public boolean hasMemInitial() {
        return ((bitField0_ & 0x00000200) == 0x00000200);
      }
      /**
       * optional int64 mem_initial = 12 [default = 20000000];
       *
       * 
       * 20 megs
       * 
       */
      public long getMemInitial() {
        return memInitial_;
      }
      /**
       * optional int64 mem_initial = 12 [default = 20000000];
       *
       * 
       * 20 megs
       * 
       */
      public Builder setMemInitial(long value) {
        bitField0_ |= 0x00000200;
        memInitial_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int64 mem_initial = 12 [default = 20000000];
       *
       * 
       * 20 megs
       * 
       */
      public Builder clearMemInitial() {
        bitField0_ = (bitField0_ & ~0x00000200);
        memInitial_ = 20000000L;
        onChanged();
        return this;
      }
      // optional int64 mem_max = 13 [default = 2000000000];
      private long memMax_ = 2000000000L;
      /**
       * optional int64 mem_max = 13 [default = 2000000000];
       *
       * 
       * 20 gigs
       * 
       */
      public boolean hasMemMax() {
        return ((bitField0_ & 0x00000400) == 0x00000400);
      }
      /**
       * optional int64 mem_max = 13 [default = 2000000000];
       *
       * 
       * 20 gigs
       * 
       */
      public long getMemMax() {
        return memMax_;
      }
      /**
       * optional int64 mem_max = 13 [default = 2000000000];
       *
       * 
       * 20 gigs
       * 
       */
      public Builder setMemMax(long value) {
        bitField0_ |= 0x00000400;
        memMax_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int64 mem_max = 13 [default = 2000000000];
       *
       * 
       * 20 gigs
       * 
       */
      public Builder clearMemMax() {
        bitField0_ = (bitField0_ & ~0x00000400);
        memMax_ = 2000000000L;
        onChanged();
        return this;
      }
      // optional .exec.shared.UserCredentials credentials = 14;
      private org.apache.drill.exec.proto.UserBitShared.UserCredentials credentials_ = org.apache.drill.exec.proto.UserBitShared.UserCredentials.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          org.apache.drill.exec.proto.UserBitShared.UserCredentials, org.apache.drill.exec.proto.UserBitShared.UserCredentials.Builder, org.apache.drill.exec.proto.UserBitShared.UserCredentialsOrBuilder> credentialsBuilder_;
      /**
       * optional .exec.shared.UserCredentials credentials = 14;
       */
      public boolean hasCredentials() {
        return ((bitField0_ & 0x00000800) == 0x00000800);
      }
      /**
       * optional .exec.shared.UserCredentials credentials = 14;
       */
      public org.apache.drill.exec.proto.UserBitShared.UserCredentials getCredentials() {
        if (credentialsBuilder_ == null) {
          return credentials_;
        } else {
          return credentialsBuilder_.getMessage();
        }
      }
      /**
       * optional .exec.shared.UserCredentials credentials = 14;
       */
      public Builder setCredentials(org.apache.drill.exec.proto.UserBitShared.UserCredentials value) {
        if (credentialsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          credentials_ = value;
          onChanged();
        } else {
          credentialsBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000800;
        return this;
      }
      /**
       * optional .exec.shared.UserCredentials credentials = 14;
       */
      public Builder setCredentials(
          org.apache.drill.exec.proto.UserBitShared.UserCredentials.Builder builderForValue) {
        if (credentialsBuilder_ == null) {
          credentials_ = builderForValue.build();
          onChanged();
        } else {
          credentialsBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000800;
        return this;
      }
      /**
       * optional .exec.shared.UserCredentials credentials = 14;
       */
      public Builder mergeCredentials(org.apache.drill.exec.proto.UserBitShared.UserCredentials value) {
        if (credentialsBuilder_ == null) {
          if (((bitField0_ & 0x00000800) == 0x00000800) &&
              credentials_ != org.apache.drill.exec.proto.UserBitShared.UserCredentials.getDefaultInstance()) {
            credentials_ =
              org.apache.drill.exec.proto.UserBitShared.UserCredentials.newBuilder(credentials_).mergeFrom(value).buildPartial();
          } else {
            credentials_ = value;
          }
          onChanged();
        } else {
          credentialsBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000800;
        return this;
      }
      /**
       * optional .exec.shared.UserCredentials credentials = 14;
       */
      public Builder clearCredentials() {
        if (credentialsBuilder_ == null) {
          credentials_ = org.apache.drill.exec.proto.UserBitShared.UserCredentials.getDefaultInstance();
          onChanged();
        } else {
          credentialsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000800);
        return this;
      }
      /**
       * optional .exec.shared.UserCredentials credentials = 14;
       */
      public org.apache.drill.exec.proto.UserBitShared.UserCredentials.Builder getCredentialsBuilder() {
        bitField0_ |= 0x00000800;
        onChanged();
        return getCredentialsFieldBuilder().getBuilder();
      }
      /**
       * optional .exec.shared.UserCredentials credentials = 14;
       */
      public org.apache.drill.exec.proto.UserBitShared.UserCredentialsOrBuilder getCredentialsOrBuilder() {
        if (credentialsBuilder_ != null) {
          return credentialsBuilder_.getMessageOrBuilder();
        } else {
          return credentials_;
        }
      }
      /**
       * optional .exec.shared.UserCredentials credentials = 14;
       */
      private com.google.protobuf.SingleFieldBuilder<
          org.apache.drill.exec.proto.UserBitShared.UserCredentials, org.apache.drill.exec.proto.UserBitShared.UserCredentials.Builder, org.apache.drill.exec.proto.UserBitShared.UserCredentialsOrBuilder> 
          getCredentialsFieldBuilder() {
        if (credentialsBuilder_ == null) {
          credentialsBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              org.apache.drill.exec.proto.UserBitShared.UserCredentials, org.apache.drill.exec.proto.UserBitShared.UserCredentials.Builder, org.apache.drill.exec.proto.UserBitShared.UserCredentialsOrBuilder>(
                  credentials_,
                  getParentForChildren(),
                  isClean());
          credentials_ = null;
        }
        return credentialsBuilder_;
      }
      // optional string options_json = 15;
      private java.lang.Object optionsJson_ = "";
      /**
       * optional string options_json = 15;
       */
      public boolean hasOptionsJson() {
        return ((bitField0_ & 0x00001000) == 0x00001000);
      }
      /**
       * optional string options_json = 15;
       */
      public java.lang.String getOptionsJson() {
        java.lang.Object ref = optionsJson_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          optionsJson_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string options_json = 15;
       */
      public com.google.protobuf.ByteString
          getOptionsJsonBytes() {
        java.lang.Object ref = optionsJson_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          optionsJson_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string options_json = 15;
       */
      public Builder setOptionsJson(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00001000;
        optionsJson_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string options_json = 15;
       */
      public Builder clearOptionsJson() {
        bitField0_ = (bitField0_ & ~0x00001000);
        optionsJson_ = getDefaultInstance().getOptionsJson();
        onChanged();
        return this;
      }
      /**
       * optional string options_json = 15;
       */
      public Builder setOptionsJsonBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00001000;
        optionsJson_ = value;
        onChanged();
        return this;
      }
      // optional .exec.bit.control.QueryContextInformation context = 16;
      private org.apache.drill.exec.proto.BitControl.QueryContextInformation context_ = org.apache.drill.exec.proto.BitControl.QueryContextInformation.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          org.apache.drill.exec.proto.BitControl.QueryContextInformation, org.apache.drill.exec.proto.BitControl.QueryContextInformation.Builder, org.apache.drill.exec.proto.BitControl.QueryContextInformationOrBuilder> contextBuilder_;
      /**
       * optional .exec.bit.control.QueryContextInformation context = 16;
       */
      public boolean hasContext() {
        return ((bitField0_ & 0x00002000) == 0x00002000);
      }
      /**
       * optional .exec.bit.control.QueryContextInformation context = 16;
       */
      public org.apache.drill.exec.proto.BitControl.QueryContextInformation getContext() {
        if (contextBuilder_ == null) {
          return context_;
        } else {
          return contextBuilder_.getMessage();
        }
      }
      /**
       * optional .exec.bit.control.QueryContextInformation context = 16;
       */
      public Builder setContext(org.apache.drill.exec.proto.BitControl.QueryContextInformation value) {
        if (contextBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          context_ = value;
          onChanged();
        } else {
          contextBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00002000;
        return this;
      }
      /**
       * optional .exec.bit.control.QueryContextInformation context = 16;
       */
      public Builder setContext(
          org.apache.drill.exec.proto.BitControl.QueryContextInformation.Builder builderForValue) {
        if (contextBuilder_ == null) {
          context_ = builderForValue.build();
          onChanged();
        } else {
          contextBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00002000;
        return this;
      }
      /**
       * optional .exec.bit.control.QueryContextInformation context = 16;
       */
      public Builder mergeContext(org.apache.drill.exec.proto.BitControl.QueryContextInformation value) {
        if (contextBuilder_ == null) {
          if (((bitField0_ & 0x00002000) == 0x00002000) &&
              context_ != org.apache.drill.exec.proto.BitControl.QueryContextInformation.getDefaultInstance()) {
            context_ =
              org.apache.drill.exec.proto.BitControl.QueryContextInformation.newBuilder(context_).mergeFrom(value).buildPartial();
          } else {
            context_ = value;
          }
          onChanged();
        } else {
          contextBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00002000;
        return this;
      }
      /**
       * optional .exec.bit.control.QueryContextInformation context = 16;
       */
      public Builder clearContext() {
        if (contextBuilder_ == null) {
          context_ = org.apache.drill.exec.proto.BitControl.QueryContextInformation.getDefaultInstance();
          onChanged();
        } else {
          contextBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00002000);
        return this;
      }
      /**
       * optional .exec.bit.control.QueryContextInformation context = 16;
       */
      public org.apache.drill.exec.proto.BitControl.QueryContextInformation.Builder getContextBuilder() {
        bitField0_ |= 0x00002000;
        onChanged();
        return getContextFieldBuilder().getBuilder();
      }
      /**
       * optional .exec.bit.control.QueryContextInformation context = 16;
       */
      public org.apache.drill.exec.proto.BitControl.QueryContextInformationOrBuilder getContextOrBuilder() {
        if (contextBuilder_ != null) {
          return contextBuilder_.getMessageOrBuilder();
        } else {
          return context_;
        }
      }
      /**
       * optional .exec.bit.control.QueryContextInformation context = 16;
       */
      private com.google.protobuf.SingleFieldBuilder<
          org.apache.drill.exec.proto.BitControl.QueryContextInformation, org.apache.drill.exec.proto.BitControl.QueryContextInformation.Builder, org.apache.drill.exec.proto.BitControl.QueryContextInformationOrBuilder> 
          getContextFieldBuilder() {
        if (contextBuilder_ == null) {
          contextBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              org.apache.drill.exec.proto.BitControl.QueryContextInformation, org.apache.drill.exec.proto.BitControl.QueryContextInformation.Builder, org.apache.drill.exec.proto.BitControl.QueryContextInformationOrBuilder>(
                  context_,
                  getParentForChildren(),
                  isClean());
          context_ = null;
        }
        return contextBuilder_;
      }
      // repeated .exec.bit.control.Collector collector = 17;
      private java.util.List collector_ =
        java.util.Collections.emptyList();
      private void ensureCollectorIsMutable() {
        if (!((bitField0_ & 0x00004000) == 0x00004000)) {
          collector_ = new java.util.ArrayList(collector_);
          bitField0_ |= 0x00004000;
         }
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          org.apache.drill.exec.proto.BitControl.Collector, org.apache.drill.exec.proto.BitControl.Collector.Builder, org.apache.drill.exec.proto.BitControl.CollectorOrBuilder> collectorBuilder_;
      /**
       * repeated .exec.bit.control.Collector collector = 17;
       */
      public java.util.List getCollectorList() {
        if (collectorBuilder_ == null) {
          return java.util.Collections.unmodifiableList(collector_);
        } else {
          return collectorBuilder_.getMessageList();
        }
      }
      /**
       * repeated .exec.bit.control.Collector collector = 17;
       */
      public int getCollectorCount() {
        if (collectorBuilder_ == null) {
          return collector_.size();
        } else {
          return collectorBuilder_.getCount();
        }
      }
      /**
       * repeated .exec.bit.control.Collector collector = 17;
       */
      public org.apache.drill.exec.proto.BitControl.Collector getCollector(int index) {
        if (collectorBuilder_ == null) {
          return collector_.get(index);
        } else {
          return collectorBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .exec.bit.control.Collector collector = 17;
       */
      public Builder setCollector(
          int index, org.apache.drill.exec.proto.BitControl.Collector value) {
        if (collectorBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureCollectorIsMutable();
          collector_.set(index, value);
          onChanged();
        } else {
          collectorBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .exec.bit.control.Collector collector = 17;
       */
      public Builder setCollector(
          int index, org.apache.drill.exec.proto.BitControl.Collector.Builder builderForValue) {
        if (collectorBuilder_ == null) {
          ensureCollectorIsMutable();
          collector_.set(index, builderForValue.build());
          onChanged();
        } else {
          collectorBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .exec.bit.control.Collector collector = 17;
       */
      public Builder addCollector(org.apache.drill.exec.proto.BitControl.Collector value) {
        if (collectorBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureCollectorIsMutable();
          collector_.add(value);
          onChanged();
        } else {
          collectorBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .exec.bit.control.Collector collector = 17;
       */
      public Builder addCollector(
          int index, org.apache.drill.exec.proto.BitControl.Collector value) {
        if (collectorBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureCollectorIsMutable();
          collector_.add(index, value);
          onChanged();
        } else {
          collectorBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .exec.bit.control.Collector collector = 17;
       */
      public Builder addCollector(
          org.apache.drill.exec.proto.BitControl.Collector.Builder builderForValue) {
        if (collectorBuilder_ == null) {
          ensureCollectorIsMutable();
          collector_.add(builderForValue.build());
          onChanged();
        } else {
          collectorBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .exec.bit.control.Collector collector = 17;
       */
      public Builder addCollector(
          int index, org.apache.drill.exec.proto.BitControl.Collector.Builder builderForValue) {
        if (collectorBuilder_ == null) {
          ensureCollectorIsMutable();
          collector_.add(index, builderForValue.build());
          onChanged();
        } else {
          collectorBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .exec.bit.control.Collector collector = 17;
       */
      public Builder addAllCollector(
          java.lang.Iterable extends org.apache.drill.exec.proto.BitControl.Collector> values) {
        if (collectorBuilder_ == null) {
          ensureCollectorIsMutable();
          super.addAll(values, collector_);
          onChanged();
        } else {
          collectorBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .exec.bit.control.Collector collector = 17;
       */
      public Builder clearCollector() {
        if (collectorBuilder_ == null) {
          collector_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00004000);
          onChanged();
        } else {
          collectorBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .exec.bit.control.Collector collector = 17;
       */
      public Builder removeCollector(int index) {
        if (collectorBuilder_ == null) {
          ensureCollectorIsMutable();
          collector_.remove(index);
          onChanged();
        } else {
          collectorBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .exec.bit.control.Collector collector = 17;
       */
      public org.apache.drill.exec.proto.BitControl.Collector.Builder getCollectorBuilder(
          int index) {
        return getCollectorFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .exec.bit.control.Collector collector = 17;
       */
      public org.apache.drill.exec.proto.BitControl.CollectorOrBuilder getCollectorOrBuilder(
          int index) {
        if (collectorBuilder_ == null) {
          return collector_.get(index);  } else {
          return collectorBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .exec.bit.control.Collector collector = 17;
       */
      public java.util.List extends org.apache.drill.exec.proto.BitControl.CollectorOrBuilder> 
           getCollectorOrBuilderList() {
        if (collectorBuilder_ != null) {
          return collectorBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(collector_);
        }
      }
      /**
       * repeated .exec.bit.control.Collector collector = 17;
       */
      public org.apache.drill.exec.proto.BitControl.Collector.Builder addCollectorBuilder() {
        return getCollectorFieldBuilder().addBuilder(
            org.apache.drill.exec.proto.BitControl.Collector.getDefaultInstance());
      }
      /**
       * repeated .exec.bit.control.Collector collector = 17;
       */
      public org.apache.drill.exec.proto.BitControl.Collector.Builder addCollectorBuilder(
          int index) {
        return getCollectorFieldBuilder().addBuilder(
            index, org.apache.drill.exec.proto.BitControl.Collector.getDefaultInstance());
      }
      /**
       * repeated .exec.bit.control.Collector collector = 17;
       */
      public java.util.List 
           getCollectorBuilderList() {
        return getCollectorFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          org.apache.drill.exec.proto.BitControl.Collector, org.apache.drill.exec.proto.BitControl.Collector.Builder, org.apache.drill.exec.proto.BitControl.CollectorOrBuilder> 
          getCollectorFieldBuilder() {
        if (collectorBuilder_ == null) {
          collectorBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              org.apache.drill.exec.proto.BitControl.Collector, org.apache.drill.exec.proto.BitControl.Collector.Builder, org.apache.drill.exec.proto.BitControl.CollectorOrBuilder>(
                  collector_,
                  ((bitField0_ & 0x00004000) == 0x00004000),
                  getParentForChildren(),
                  isClean());
          collector_ = null;
        }
        return collectorBuilder_;
      }
      // @@protoc_insertion_point(builder_scope:exec.bit.control.PlanFragment)
    }
    static {
      defaultInstance = new PlanFragment(true);
      defaultInstance.initFields();
    }
    // @@protoc_insertion_point(class_scope:exec.bit.control.PlanFragment)
  }
  public interface CollectorOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    // optional int32 opposite_major_fragment_id = 1;
    /**
     * optional int32 opposite_major_fragment_id = 1;
     */
    boolean hasOppositeMajorFragmentId();
    /**
     * optional int32 opposite_major_fragment_id = 1;
     */
    int getOppositeMajorFragmentId();
    // repeated int32 incoming_minor_fragment = 2 [packed = true];
    /**
     * repeated int32 incoming_minor_fragment = 2 [packed = true];
     */
    java.util.List getIncomingMinorFragmentList();
    /**
     * repeated int32 incoming_minor_fragment = 2 [packed = true];
     */
    int getIncomingMinorFragmentCount();
    /**
     * repeated int32 incoming_minor_fragment = 2 [packed = true];
     */
    int getIncomingMinorFragment(int index);
    // optional bool supports_out_of_order = 3;
    /**
     * optional bool supports_out_of_order = 3;
     */
    boolean hasSupportsOutOfOrder();
    /**
     * optional bool supports_out_of_order = 3;
     */
    boolean getSupportsOutOfOrder();
    // optional bool is_spooling = 4;
    /**
     * optional bool is_spooling = 4;
     */
    boolean hasIsSpooling();
    /**
     * optional bool is_spooling = 4;
     */
    boolean getIsSpooling();
  }
  /**
   * Protobuf type {@code exec.bit.control.Collector}
   */
  public static final class Collector extends
      com.google.protobuf.GeneratedMessage
      implements CollectorOrBuilder {
    // Use Collector.newBuilder() to construct.
    private Collector(com.google.protobuf.GeneratedMessage.Builder> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private Collector(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
    private static final Collector defaultInstance;
    public static Collector getDefaultInstance() {
      return defaultInstance;
    }
    public Collector getDefaultInstanceForType() {
      return defaultInstance;
    }
    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private Collector(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              oppositeMajorFragmentId_ = input.readInt32();
              break;
            }
            case 16: {
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                incomingMinorFragment_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000002;
              }
              incomingMinorFragment_.add(input.readInt32());
              break;
            }
            case 18: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002) && input.getBytesUntilLimit() > 0) {
                incomingMinorFragment_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000002;
              }
              while (input.getBytesUntilLimit() > 0) {
                incomingMinorFragment_.add(input.readInt32());
              }
              input.popLimit(limit);
              break;
            }
            case 24: {
              bitField0_ |= 0x00000002;
              supportsOutOfOrder_ = input.readBool();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000004;
              isSpooling_ = input.readBool();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
          incomingMinorFragment_ = java.util.Collections.unmodifiableList(incomingMinorFragment_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_Collector_descriptor;
    }
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_Collector_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.drill.exec.proto.BitControl.Collector.class, org.apache.drill.exec.proto.BitControl.Collector.Builder.class);
    }
    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public Collector parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new Collector(input, extensionRegistry);
      }
    };
    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }
    private int bitField0_;
    // optional int32 opposite_major_fragment_id = 1;
    public static final int OPPOSITE_MAJOR_FRAGMENT_ID_FIELD_NUMBER = 1;
    private int oppositeMajorFragmentId_;
    /**
     * optional int32 opposite_major_fragment_id = 1;
     */
    public boolean hasOppositeMajorFragmentId() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 opposite_major_fragment_id = 1;
     */
    public int getOppositeMajorFragmentId() {
      return oppositeMajorFragmentId_;
    }
    // repeated int32 incoming_minor_fragment = 2 [packed = true];
    public static final int INCOMING_MINOR_FRAGMENT_FIELD_NUMBER = 2;
    private java.util.List incomingMinorFragment_;
    /**
     * repeated int32 incoming_minor_fragment = 2 [packed = true];
     */
    public java.util.List
        getIncomingMinorFragmentList() {
      return incomingMinorFragment_;
    }
    /**
     * repeated int32 incoming_minor_fragment = 2 [packed = true];
     */
    public int getIncomingMinorFragmentCount() {
      return incomingMinorFragment_.size();
    }
    /**
     * repeated int32 incoming_minor_fragment = 2 [packed = true];
     */
    public int getIncomingMinorFragment(int index) {
      return incomingMinorFragment_.get(index);
    }
    private int incomingMinorFragmentMemoizedSerializedSize = -1;
    // optional bool supports_out_of_order = 3;
    public static final int SUPPORTS_OUT_OF_ORDER_FIELD_NUMBER = 3;
    private boolean supportsOutOfOrder_;
    /**
     * optional bool supports_out_of_order = 3;
     */
    public boolean hasSupportsOutOfOrder() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional bool supports_out_of_order = 3;
     */
    public boolean getSupportsOutOfOrder() {
      return supportsOutOfOrder_;
    }
    // optional bool is_spooling = 4;
    public static final int IS_SPOOLING_FIELD_NUMBER = 4;
    private boolean isSpooling_;
    /**
     * optional bool is_spooling = 4;
     */
    public boolean hasIsSpooling() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional bool is_spooling = 4;
     */
    public boolean getIsSpooling() {
      return isSpooling_;
    }
    private void initFields() {
      oppositeMajorFragmentId_ = 0;
      incomingMinorFragment_ = java.util.Collections.emptyList();
      supportsOutOfOrder_ = false;
      isSpooling_ = false;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      memoizedIsInitialized = 1;
      return true;
    }
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, oppositeMajorFragmentId_);
      }
      if (getIncomingMinorFragmentList().size() > 0) {
        output.writeRawVarint32(18);
        output.writeRawVarint32(incomingMinorFragmentMemoizedSerializedSize);
      }
      for (int i = 0; i < incomingMinorFragment_.size(); i++) {
        output.writeInt32NoTag(incomingMinorFragment_.get(i));
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBool(3, supportsOutOfOrder_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBool(4, isSpooling_);
      }
      getUnknownFields().writeTo(output);
    }
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, oppositeMajorFragmentId_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < incomingMinorFragment_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeInt32SizeNoTag(incomingMinorFragment_.get(i));
        }
        size += dataSize;
        if (!getIncomingMinorFragmentList().isEmpty()) {
          size += 1;
          size += com.google.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        incomingMinorFragmentMemoizedSerializedSize = dataSize;
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(3, supportsOutOfOrder_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(4, isSpooling_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    public static org.apache.drill.exec.proto.BitControl.Collector parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.drill.exec.proto.BitControl.Collector parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.drill.exec.proto.BitControl.Collector parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.drill.exec.proto.BitControl.Collector parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.drill.exec.proto.BitControl.Collector parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.drill.exec.proto.BitControl.Collector parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static org.apache.drill.exec.proto.BitControl.Collector parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static org.apache.drill.exec.proto.BitControl.Collector parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static org.apache.drill.exec.proto.BitControl.Collector parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.drill.exec.proto.BitControl.Collector parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(org.apache.drill.exec.proto.BitControl.Collector prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code exec.bit.control.Collector}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements org.apache.drill.exec.proto.BitControl.CollectorOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_Collector_descriptor;
      }
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_Collector_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.drill.exec.proto.BitControl.Collector.class, org.apache.drill.exec.proto.BitControl.Collector.Builder.class);
      }
      // Construct using org.apache.drill.exec.proto.BitControl.Collector.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }
      public Builder clear() {
        super.clear();
        oppositeMajorFragmentId_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        incomingMinorFragment_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);
        supportsOutOfOrder_ = false;
        bitField0_ = (bitField0_ & ~0x00000004);
        isSpooling_ = false;
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_Collector_descriptor;
      }
      public org.apache.drill.exec.proto.BitControl.Collector getDefaultInstanceForType() {
        return org.apache.drill.exec.proto.BitControl.Collector.getDefaultInstance();
      }
      public org.apache.drill.exec.proto.BitControl.Collector build() {
        org.apache.drill.exec.proto.BitControl.Collector result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      public org.apache.drill.exec.proto.BitControl.Collector buildPartial() {
        org.apache.drill.exec.proto.BitControl.Collector result = new org.apache.drill.exec.proto.BitControl.Collector(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.oppositeMajorFragmentId_ = oppositeMajorFragmentId_;
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          incomingMinorFragment_ = java.util.Collections.unmodifiableList(incomingMinorFragment_);
          bitField0_ = (bitField0_ & ~0x00000002);
        }
        result.incomingMinorFragment_ = incomingMinorFragment_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000002;
        }
        result.supportsOutOfOrder_ = supportsOutOfOrder_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000004;
        }
        result.isSpooling_ = isSpooling_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.drill.exec.proto.BitControl.Collector) {
          return mergeFrom((org.apache.drill.exec.proto.BitControl.Collector)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(org.apache.drill.exec.proto.BitControl.Collector other) {
        if (other == org.apache.drill.exec.proto.BitControl.Collector.getDefaultInstance()) return this;
        if (other.hasOppositeMajorFragmentId()) {
          setOppositeMajorFragmentId(other.getOppositeMajorFragmentId());
        }
        if (!other.incomingMinorFragment_.isEmpty()) {
          if (incomingMinorFragment_.isEmpty()) {
            incomingMinorFragment_ = other.incomingMinorFragment_;
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            ensureIncomingMinorFragmentIsMutable();
            incomingMinorFragment_.addAll(other.incomingMinorFragment_);
          }
          onChanged();
        }
        if (other.hasSupportsOutOfOrder()) {
          setSupportsOutOfOrder(other.getSupportsOutOfOrder());
        }
        if (other.hasIsSpooling()) {
          setIsSpooling(other.getIsSpooling());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      public final boolean isInitialized() {
        return true;
      }
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.apache.drill.exec.proto.BitControl.Collector parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.apache.drill.exec.proto.BitControl.Collector) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;
      // optional int32 opposite_major_fragment_id = 1;
      private int oppositeMajorFragmentId_ ;
      /**
       * optional int32 opposite_major_fragment_id = 1;
       */
      public boolean hasOppositeMajorFragmentId() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 opposite_major_fragment_id = 1;
       */
      public int getOppositeMajorFragmentId() {
        return oppositeMajorFragmentId_;
      }
      /**
       * optional int32 opposite_major_fragment_id = 1;
       */
      public Builder setOppositeMajorFragmentId(int value) {
        bitField0_ |= 0x00000001;
        oppositeMajorFragmentId_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 opposite_major_fragment_id = 1;
       */
      public Builder clearOppositeMajorFragmentId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        oppositeMajorFragmentId_ = 0;
        onChanged();
        return this;
      }
      // repeated int32 incoming_minor_fragment = 2 [packed = true];
      private java.util.List incomingMinorFragment_ = java.util.Collections.emptyList();
      private void ensureIncomingMinorFragmentIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          incomingMinorFragment_ = new java.util.ArrayList(incomingMinorFragment_);
          bitField0_ |= 0x00000002;
         }
      }
      /**
       * repeated int32 incoming_minor_fragment = 2 [packed = true];
       */
      public java.util.List
          getIncomingMinorFragmentList() {
        return java.util.Collections.unmodifiableList(incomingMinorFragment_);
      }
      /**
       * repeated int32 incoming_minor_fragment = 2 [packed = true];
       */
      public int getIncomingMinorFragmentCount() {
        return incomingMinorFragment_.size();
      }
      /**
       * repeated int32 incoming_minor_fragment = 2 [packed = true];
       */
      public int getIncomingMinorFragment(int index) {
        return incomingMinorFragment_.get(index);
      }
      /**
       * repeated int32 incoming_minor_fragment = 2 [packed = true];
       */
      public Builder setIncomingMinorFragment(
          int index, int value) {
        ensureIncomingMinorFragmentIsMutable();
        incomingMinorFragment_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * repeated int32 incoming_minor_fragment = 2 [packed = true];
       */
      public Builder addIncomingMinorFragment(int value) {
        ensureIncomingMinorFragmentIsMutable();
        incomingMinorFragment_.add(value);
        onChanged();
        return this;
      }
      /**
       * repeated int32 incoming_minor_fragment = 2 [packed = true];
       */
      public Builder addAllIncomingMinorFragment(
          java.lang.Iterable extends java.lang.Integer> values) {
        ensureIncomingMinorFragmentIsMutable();
        super.addAll(values, incomingMinorFragment_);
        onChanged();
        return this;
      }
      /**
       * repeated int32 incoming_minor_fragment = 2 [packed = true];
       */
      public Builder clearIncomingMinorFragment() {
        incomingMinorFragment_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      // optional bool supports_out_of_order = 3;
      private boolean supportsOutOfOrder_ ;
      /**
       * optional bool supports_out_of_order = 3;
       */
      public boolean hasSupportsOutOfOrder() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional bool supports_out_of_order = 3;
       */
      public boolean getSupportsOutOfOrder() {
        return supportsOutOfOrder_;
      }
      /**
       * optional bool supports_out_of_order = 3;
       */
      public Builder setSupportsOutOfOrder(boolean value) {
        bitField0_ |= 0x00000004;
        supportsOutOfOrder_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool supports_out_of_order = 3;
       */
      public Builder clearSupportsOutOfOrder() {
        bitField0_ = (bitField0_ & ~0x00000004);
        supportsOutOfOrder_ = false;
        onChanged();
        return this;
      }
      // optional bool is_spooling = 4;
      private boolean isSpooling_ ;
      /**
       * optional bool is_spooling = 4;
       */
      public boolean hasIsSpooling() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional bool is_spooling = 4;
       */
      public boolean getIsSpooling() {
        return isSpooling_;
      }
      /**
       * optional bool is_spooling = 4;
       */
      public Builder setIsSpooling(boolean value) {
        bitField0_ |= 0x00000008;
        isSpooling_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool is_spooling = 4;
       */
      public Builder clearIsSpooling() {
        bitField0_ = (bitField0_ & ~0x00000008);
        isSpooling_ = false;
        onChanged();
        return this;
      }
      // @@protoc_insertion_point(builder_scope:exec.bit.control.Collector)
    }
    static {
      defaultInstance = new Collector(true);
      defaultInstance.initFields();
    }
    // @@protoc_insertion_point(class_scope:exec.bit.control.Collector)
  }
  public interface QueryContextInformationOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    // optional int64 query_start_time = 1;
    /**
     * optional int64 query_start_time = 1;
     *
     * 
     * start time of query in milliseconds
     * 
     */
    boolean hasQueryStartTime();
    /**
     * optional int64 query_start_time = 1;
     *
     * 
     * start time of query in milliseconds
     * 
     */
    long getQueryStartTime();
    // optional int32 time_zone = 2;
    /**
     * optional int32 time_zone = 2;
     *
     * 
     * timezone of the Drillbit where user is connected
     * 
     */
    boolean hasTimeZone();
    /**
     * optional int32 time_zone = 2;
     *
     * 
     * timezone of the Drillbit where user is connected
     * 
     */
    int getTimeZone();
    // optional string default_schema_name = 3;
    /**
     * optional string default_schema_name = 3;
     *
     * 
     * default schema in current session when the query is submitted
     * 
     */
    boolean hasDefaultSchemaName();
    /**
     * optional string default_schema_name = 3;
     *
     * 
     * default schema in current session when the query is submitted
     * 
     */
    java.lang.String getDefaultSchemaName();
    /**
     * optional string default_schema_name = 3;
     *
     * 
     * default schema in current session when the query is submitted
     * 
     */
    com.google.protobuf.ByteString
        getDefaultSchemaNameBytes();
  }
  /**
   * Protobuf type {@code exec.bit.control.QueryContextInformation}
   */
  public static final class QueryContextInformation extends
      com.google.protobuf.GeneratedMessage
      implements QueryContextInformationOrBuilder {
    // Use QueryContextInformation.newBuilder() to construct.
    private QueryContextInformation(com.google.protobuf.GeneratedMessage.Builder> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private QueryContextInformation(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
    private static final QueryContextInformation defaultInstance;
    public static QueryContextInformation getDefaultInstance() {
      return defaultInstance;
    }
    public QueryContextInformation getDefaultInstanceForType() {
      return defaultInstance;
    }
    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private QueryContextInformation(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              queryStartTime_ = input.readInt64();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              timeZone_ = input.readInt32();
              break;
            }
            case 26: {
              bitField0_ |= 0x00000004;
              defaultSchemaName_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_QueryContextInformation_descriptor;
    }
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_QueryContextInformation_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.drill.exec.proto.BitControl.QueryContextInformation.class, org.apache.drill.exec.proto.BitControl.QueryContextInformation.Builder.class);
    }
    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public QueryContextInformation parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new QueryContextInformation(input, extensionRegistry);
      }
    };
    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }
    private int bitField0_;
    // optional int64 query_start_time = 1;
    public static final int QUERY_START_TIME_FIELD_NUMBER = 1;
    private long queryStartTime_;
    /**
     * optional int64 query_start_time = 1;
     *
     * 
     * start time of query in milliseconds
     * 
     */
    public boolean hasQueryStartTime() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int64 query_start_time = 1;
     *
     * 
     * start time of query in milliseconds
     * 
     */
    public long getQueryStartTime() {
      return queryStartTime_;
    }
    // optional int32 time_zone = 2;
    public static final int TIME_ZONE_FIELD_NUMBER = 2;
    private int timeZone_;
    /**
     * optional int32 time_zone = 2;
     *
     * 
     * timezone of the Drillbit where user is connected
     * 
     */
    public boolean hasTimeZone() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional int32 time_zone = 2;
     *
     * 
     * timezone of the Drillbit where user is connected
     * 
     */
    public int getTimeZone() {
      return timeZone_;
    }
    // optional string default_schema_name = 3;
    public static final int DEFAULT_SCHEMA_NAME_FIELD_NUMBER = 3;
    private java.lang.Object defaultSchemaName_;
    /**
     * optional string default_schema_name = 3;
     *
     * 
     * default schema in current session when the query is submitted
     * 
     */
    public boolean hasDefaultSchemaName() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional string default_schema_name = 3;
     *
     * 
     * default schema in current session when the query is submitted
     * 
     */
    public java.lang.String getDefaultSchemaName() {
      java.lang.Object ref = defaultSchemaName_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          defaultSchemaName_ = s;
        }
        return s;
      }
    }
    /**
     * optional string default_schema_name = 3;
     *
     * 
     * default schema in current session when the query is submitted
     * 
     */
    public com.google.protobuf.ByteString
        getDefaultSchemaNameBytes() {
      java.lang.Object ref = defaultSchemaName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        defaultSchemaName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    private void initFields() {
      queryStartTime_ = 0L;
      timeZone_ = 0;
      defaultSchemaName_ = "";
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      memoizedIsInitialized = 1;
      return true;
    }
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt64(1, queryStartTime_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, timeZone_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBytes(3, getDefaultSchemaNameBytes());
      }
      getUnknownFields().writeTo(output);
    }
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(1, queryStartTime_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, timeZone_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(3, getDefaultSchemaNameBytes());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    public static org.apache.drill.exec.proto.BitControl.QueryContextInformation parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.drill.exec.proto.BitControl.QueryContextInformation parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.drill.exec.proto.BitControl.QueryContextInformation parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.drill.exec.proto.BitControl.QueryContextInformation parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.drill.exec.proto.BitControl.QueryContextInformation parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.drill.exec.proto.BitControl.QueryContextInformation parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static org.apache.drill.exec.proto.BitControl.QueryContextInformation parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static org.apache.drill.exec.proto.BitControl.QueryContextInformation parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static org.apache.drill.exec.proto.BitControl.QueryContextInformation parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.drill.exec.proto.BitControl.QueryContextInformation parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(org.apache.drill.exec.proto.BitControl.QueryContextInformation prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code exec.bit.control.QueryContextInformation}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements org.apache.drill.exec.proto.BitControl.QueryContextInformationOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_QueryContextInformation_descriptor;
      }
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_QueryContextInformation_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.drill.exec.proto.BitControl.QueryContextInformation.class, org.apache.drill.exec.proto.BitControl.QueryContextInformation.Builder.class);
      }
      // Construct using org.apache.drill.exec.proto.BitControl.QueryContextInformation.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }
      public Builder clear() {
        super.clear();
        queryStartTime_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000001);
        timeZone_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        defaultSchemaName_ = "";
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_QueryContextInformation_descriptor;
      }
      public org.apache.drill.exec.proto.BitControl.QueryContextInformation getDefaultInstanceForType() {
        return org.apache.drill.exec.proto.BitControl.QueryContextInformation.getDefaultInstance();
      }
      public org.apache.drill.exec.proto.BitControl.QueryContextInformation build() {
        org.apache.drill.exec.proto.BitControl.QueryContextInformation result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      public org.apache.drill.exec.proto.BitControl.QueryContextInformation buildPartial() {
        org.apache.drill.exec.proto.BitControl.QueryContextInformation result = new org.apache.drill.exec.proto.BitControl.QueryContextInformation(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.queryStartTime_ = queryStartTime_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.timeZone_ = timeZone_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.defaultSchemaName_ = defaultSchemaName_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.drill.exec.proto.BitControl.QueryContextInformation) {
          return mergeFrom((org.apache.drill.exec.proto.BitControl.QueryContextInformation)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(org.apache.drill.exec.proto.BitControl.QueryContextInformation other) {
        if (other == org.apache.drill.exec.proto.BitControl.QueryContextInformation.getDefaultInstance()) return this;
        if (other.hasQueryStartTime()) {
          setQueryStartTime(other.getQueryStartTime());
        }
        if (other.hasTimeZone()) {
          setTimeZone(other.getTimeZone());
        }
        if (other.hasDefaultSchemaName()) {
          bitField0_ |= 0x00000004;
          defaultSchemaName_ = other.defaultSchemaName_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      public final boolean isInitialized() {
        return true;
      }
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.apache.drill.exec.proto.BitControl.QueryContextInformation parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.apache.drill.exec.proto.BitControl.QueryContextInformation) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;
      // optional int64 query_start_time = 1;
      private long queryStartTime_ ;
      /**
       * optional int64 query_start_time = 1;
       *
       * 
       * start time of query in milliseconds
       * 
       */
      public boolean hasQueryStartTime() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int64 query_start_time = 1;
       *
       * 
       * start time of query in milliseconds
       * 
       */
      public long getQueryStartTime() {
        return queryStartTime_;
      }
      /**
       * optional int64 query_start_time = 1;
       *
       * 
       * start time of query in milliseconds
       * 
       */
      public Builder setQueryStartTime(long value) {
        bitField0_ |= 0x00000001;
        queryStartTime_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int64 query_start_time = 1;
       *
       * 
       * start time of query in milliseconds
       * 
       */
      public Builder clearQueryStartTime() {
        bitField0_ = (bitField0_ & ~0x00000001);
        queryStartTime_ = 0L;
        onChanged();
        return this;
      }
      // optional int32 time_zone = 2;
      private int timeZone_ ;
      /**
       * optional int32 time_zone = 2;
       *
       * 
       * timezone of the Drillbit where user is connected
       * 
       */
      public boolean hasTimeZone() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional int32 time_zone = 2;
       *
       * 
       * timezone of the Drillbit where user is connected
       * 
       */
      public int getTimeZone() {
        return timeZone_;
      }
      /**
       * optional int32 time_zone = 2;
       *
       * 
       * timezone of the Drillbit where user is connected
       * 
       */
      public Builder setTimeZone(int value) {
        bitField0_ |= 0x00000002;
        timeZone_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 time_zone = 2;
       *
       * 
       * timezone of the Drillbit where user is connected
       * 
       */
      public Builder clearTimeZone() {
        bitField0_ = (bitField0_ & ~0x00000002);
        timeZone_ = 0;
        onChanged();
        return this;
      }
      // optional string default_schema_name = 3;
      private java.lang.Object defaultSchemaName_ = "";
      /**
       * optional string default_schema_name = 3;
       *
       * 
       * default schema in current session when the query is submitted
       * 
       */
      public boolean hasDefaultSchemaName() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional string default_schema_name = 3;
       *
       * 
       * default schema in current session when the query is submitted
       * 
       */
      public java.lang.String getDefaultSchemaName() {
        java.lang.Object ref = defaultSchemaName_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          defaultSchemaName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string default_schema_name = 3;
       *
       * 
       * default schema in current session when the query is submitted
       * 
       */
      public com.google.protobuf.ByteString
          getDefaultSchemaNameBytes() {
        java.lang.Object ref = defaultSchemaName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          defaultSchemaName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string default_schema_name = 3;
       *
       * 
       * default schema in current session when the query is submitted
       * 
       */
      public Builder setDefaultSchemaName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        defaultSchemaName_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string default_schema_name = 3;
       *
       * 
       * default schema in current session when the query is submitted
       * 
       */
      public Builder clearDefaultSchemaName() {
        bitField0_ = (bitField0_ & ~0x00000004);
        defaultSchemaName_ = getDefaultInstance().getDefaultSchemaName();
        onChanged();
        return this;
      }
      /**
       * optional string default_schema_name = 3;
       *
       * 
       * default schema in current session when the query is submitted
       * 
       */
      public Builder setDefaultSchemaNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        defaultSchemaName_ = value;
        onChanged();
        return this;
      }
      // @@protoc_insertion_point(builder_scope:exec.bit.control.QueryContextInformation)
    }
    static {
      defaultInstance = new QueryContextInformation(true);
      defaultInstance.initFields();
    }
    // @@protoc_insertion_point(class_scope:exec.bit.control.QueryContextInformation)
  }
  public interface WorkQueueStatusOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    // optional .exec.DrillbitEndpoint endpoint = 1;
    /**
     * optional .exec.DrillbitEndpoint endpoint = 1;
     */
    boolean hasEndpoint();
    /**
     * optional .exec.DrillbitEndpoint endpoint = 1;
     */
    org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint getEndpoint();
    /**
     * optional .exec.DrillbitEndpoint endpoint = 1;
     */
    org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpointOrBuilder getEndpointOrBuilder();
    // optional int32 queue_length = 2;
    /**
     * optional int32 queue_length = 2;
     */
    boolean hasQueueLength();
    /**
     * optional int32 queue_length = 2;
     */
    int getQueueLength();
    // optional int64 report_time = 3;
    /**
     * optional int64 report_time = 3;
     */
    boolean hasReportTime();
    /**
     * optional int64 report_time = 3;
     */
    long getReportTime();
  }
  /**
   * Protobuf type {@code exec.bit.control.WorkQueueStatus}
   */
  public static final class WorkQueueStatus extends
      com.google.protobuf.GeneratedMessage
      implements WorkQueueStatusOrBuilder {
    // Use WorkQueueStatus.newBuilder() to construct.
    private WorkQueueStatus(com.google.protobuf.GeneratedMessage.Builder> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private WorkQueueStatus(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
    private static final WorkQueueStatus defaultInstance;
    public static WorkQueueStatus getDefaultInstance() {
      return defaultInstance;
    }
    public WorkQueueStatus getDefaultInstanceForType() {
      return defaultInstance;
    }
    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private WorkQueueStatus(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = endpoint_.toBuilder();
              }
              endpoint_ = input.readMessage(org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(endpoint_);
                endpoint_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              queueLength_ = input.readInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              reportTime_ = input.readInt64();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_WorkQueueStatus_descriptor;
    }
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_WorkQueueStatus_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.drill.exec.proto.BitControl.WorkQueueStatus.class, org.apache.drill.exec.proto.BitControl.WorkQueueStatus.Builder.class);
    }
    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public WorkQueueStatus parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new WorkQueueStatus(input, extensionRegistry);
      }
    };
    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }
    private int bitField0_;
    // optional .exec.DrillbitEndpoint endpoint = 1;
    public static final int ENDPOINT_FIELD_NUMBER = 1;
    private org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint endpoint_;
    /**
     * optional .exec.DrillbitEndpoint endpoint = 1;
     */
    public boolean hasEndpoint() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .exec.DrillbitEndpoint endpoint = 1;
     */
    public org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint getEndpoint() {
      return endpoint_;
    }
    /**
     * optional .exec.DrillbitEndpoint endpoint = 1;
     */
    public org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpointOrBuilder getEndpointOrBuilder() {
      return endpoint_;
    }
    // optional int32 queue_length = 2;
    public static final int QUEUE_LENGTH_FIELD_NUMBER = 2;
    private int queueLength_;
    /**
     * optional int32 queue_length = 2;
     */
    public boolean hasQueueLength() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional int32 queue_length = 2;
     */
    public int getQueueLength() {
      return queueLength_;
    }
    // optional int64 report_time = 3;
    public static final int REPORT_TIME_FIELD_NUMBER = 3;
    private long reportTime_;
    /**
     * optional int64 report_time = 3;
     */
    public boolean hasReportTime() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional int64 report_time = 3;
     */
    public long getReportTime() {
      return reportTime_;
    }
    private void initFields() {
      endpoint_ = org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.getDefaultInstance();
      queueLength_ = 0;
      reportTime_ = 0L;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      memoizedIsInitialized = 1;
      return true;
    }
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, endpoint_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, queueLength_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeInt64(3, reportTime_);
      }
      getUnknownFields().writeTo(output);
    }
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, endpoint_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, queueLength_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(3, reportTime_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    public static org.apache.drill.exec.proto.BitControl.WorkQueueStatus parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.drill.exec.proto.BitControl.WorkQueueStatus parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.drill.exec.proto.BitControl.WorkQueueStatus parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.drill.exec.proto.BitControl.WorkQueueStatus parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.drill.exec.proto.BitControl.WorkQueueStatus parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.drill.exec.proto.BitControl.WorkQueueStatus parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static org.apache.drill.exec.proto.BitControl.WorkQueueStatus parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static org.apache.drill.exec.proto.BitControl.WorkQueueStatus parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static org.apache.drill.exec.proto.BitControl.WorkQueueStatus parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.drill.exec.proto.BitControl.WorkQueueStatus parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(org.apache.drill.exec.proto.BitControl.WorkQueueStatus prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code exec.bit.control.WorkQueueStatus}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements org.apache.drill.exec.proto.BitControl.WorkQueueStatusOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_WorkQueueStatus_descriptor;
      }
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_WorkQueueStatus_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.drill.exec.proto.BitControl.WorkQueueStatus.class, org.apache.drill.exec.proto.BitControl.WorkQueueStatus.Builder.class);
      }
      // Construct using org.apache.drill.exec.proto.BitControl.WorkQueueStatus.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getEndpointFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      public Builder clear() {
        super.clear();
        if (endpointBuilder_ == null) {
          endpoint_ = org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.getDefaultInstance();
        } else {
          endpointBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        queueLength_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        reportTime_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_WorkQueueStatus_descriptor;
      }
      public org.apache.drill.exec.proto.BitControl.WorkQueueStatus getDefaultInstanceForType() {
        return org.apache.drill.exec.proto.BitControl.WorkQueueStatus.getDefaultInstance();
      }
      public org.apache.drill.exec.proto.BitControl.WorkQueueStatus build() {
        org.apache.drill.exec.proto.BitControl.WorkQueueStatus result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      public org.apache.drill.exec.proto.BitControl.WorkQueueStatus buildPartial() {
        org.apache.drill.exec.proto.BitControl.WorkQueueStatus result = new org.apache.drill.exec.proto.BitControl.WorkQueueStatus(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (endpointBuilder_ == null) {
          result.endpoint_ = endpoint_;
        } else {
          result.endpoint_ = endpointBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.queueLength_ = queueLength_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.reportTime_ = reportTime_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.drill.exec.proto.BitControl.WorkQueueStatus) {
          return mergeFrom((org.apache.drill.exec.proto.BitControl.WorkQueueStatus)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(org.apache.drill.exec.proto.BitControl.WorkQueueStatus other) {
        if (other == org.apache.drill.exec.proto.BitControl.WorkQueueStatus.getDefaultInstance()) return this;
        if (other.hasEndpoint()) {
          mergeEndpoint(other.getEndpoint());
        }
        if (other.hasQueueLength()) {
          setQueueLength(other.getQueueLength());
        }
        if (other.hasReportTime()) {
          setReportTime(other.getReportTime());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      public final boolean isInitialized() {
        return true;
      }
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.apache.drill.exec.proto.BitControl.WorkQueueStatus parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.apache.drill.exec.proto.BitControl.WorkQueueStatus) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;
      // optional .exec.DrillbitEndpoint endpoint = 1;
      private org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint endpoint_ = org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint, org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.Builder, org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpointOrBuilder> endpointBuilder_;
      /**
       * optional .exec.DrillbitEndpoint endpoint = 1;
       */
      public boolean hasEndpoint() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .exec.DrillbitEndpoint endpoint = 1;
       */
      public org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint getEndpoint() {
        if (endpointBuilder_ == null) {
          return endpoint_;
        } else {
          return endpointBuilder_.getMessage();
        }
      }
      /**
       * optional .exec.DrillbitEndpoint endpoint = 1;
       */
      public Builder setEndpoint(org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint value) {
        if (endpointBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          endpoint_ = value;
          onChanged();
        } else {
          endpointBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .exec.DrillbitEndpoint endpoint = 1;
       */
      public Builder setEndpoint(
          org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.Builder builderForValue) {
        if (endpointBuilder_ == null) {
          endpoint_ = builderForValue.build();
          onChanged();
        } else {
          endpointBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .exec.DrillbitEndpoint endpoint = 1;
       */
      public Builder mergeEndpoint(org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint value) {
        if (endpointBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              endpoint_ != org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.getDefaultInstance()) {
            endpoint_ =
              org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.newBuilder(endpoint_).mergeFrom(value).buildPartial();
          } else {
            endpoint_ = value;
          }
          onChanged();
        } else {
          endpointBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .exec.DrillbitEndpoint endpoint = 1;
       */
      public Builder clearEndpoint() {
        if (endpointBuilder_ == null) {
          endpoint_ = org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.getDefaultInstance();
          onChanged();
        } else {
          endpointBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .exec.DrillbitEndpoint endpoint = 1;
       */
      public org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.Builder getEndpointBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getEndpointFieldBuilder().getBuilder();
      }
      /**
       * optional .exec.DrillbitEndpoint endpoint = 1;
       */
      public org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpointOrBuilder getEndpointOrBuilder() {
        if (endpointBuilder_ != null) {
          return endpointBuilder_.getMessageOrBuilder();
        } else {
          return endpoint_;
        }
      }
      /**
       * optional .exec.DrillbitEndpoint endpoint = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint, org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.Builder, org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpointOrBuilder> 
          getEndpointFieldBuilder() {
        if (endpointBuilder_ == null) {
          endpointBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint, org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.Builder, org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpointOrBuilder>(
                  endpoint_,
                  getParentForChildren(),
                  isClean());
          endpoint_ = null;
        }
        return endpointBuilder_;
      }
      // optional int32 queue_length = 2;
      private int queueLength_ ;
      /**
       * optional int32 queue_length = 2;
       */
      public boolean hasQueueLength() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional int32 queue_length = 2;
       */
      public int getQueueLength() {
        return queueLength_;
      }
      /**
       * optional int32 queue_length = 2;
       */
      public Builder setQueueLength(int value) {
        bitField0_ |= 0x00000002;
        queueLength_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 queue_length = 2;
       */
      public Builder clearQueueLength() {
        bitField0_ = (bitField0_ & ~0x00000002);
        queueLength_ = 0;
        onChanged();
        return this;
      }
      // optional int64 report_time = 3;
      private long reportTime_ ;
      /**
       * optional int64 report_time = 3;
       */
      public boolean hasReportTime() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional int64 report_time = 3;
       */
      public long getReportTime() {
        return reportTime_;
      }
      /**
       * optional int64 report_time = 3;
       */
      public Builder setReportTime(long value) {
        bitField0_ |= 0x00000004;
        reportTime_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int64 report_time = 3;
       */
      public Builder clearReportTime() {
        bitField0_ = (bitField0_ & ~0x00000004);
        reportTime_ = 0L;
        onChanged();
        return this;
      }
      // @@protoc_insertion_point(builder_scope:exec.bit.control.WorkQueueStatus)
    }
    static {
      defaultInstance = new WorkQueueStatus(true);
      defaultInstance.initFields();
    }
    // @@protoc_insertion_point(class_scope:exec.bit.control.WorkQueueStatus)
  }
  public interface FinishedReceiverOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    // optional .exec.bit.FragmentHandle receiver = 1;
    /**
     * optional .exec.bit.FragmentHandle receiver = 1;
     */
    boolean hasReceiver();
    /**
     * optional .exec.bit.FragmentHandle receiver = 1;
     */
    org.apache.drill.exec.proto.ExecProtos.FragmentHandle getReceiver();
    /**
     * optional .exec.bit.FragmentHandle receiver = 1;
     */
    org.apache.drill.exec.proto.ExecProtos.FragmentHandleOrBuilder getReceiverOrBuilder();
    // optional .exec.bit.FragmentHandle sender = 2;
    /**
     * optional .exec.bit.FragmentHandle sender = 2;
     */
    boolean hasSender();
    /**
     * optional .exec.bit.FragmentHandle sender = 2;
     */
    org.apache.drill.exec.proto.ExecProtos.FragmentHandle getSender();
    /**
     * optional .exec.bit.FragmentHandle sender = 2;
     */
    org.apache.drill.exec.proto.ExecProtos.FragmentHandleOrBuilder getSenderOrBuilder();
  }
  /**
   * Protobuf type {@code exec.bit.control.FinishedReceiver}
   */
  public static final class FinishedReceiver extends
      com.google.protobuf.GeneratedMessage
      implements FinishedReceiverOrBuilder {
    // Use FinishedReceiver.newBuilder() to construct.
    private FinishedReceiver(com.google.protobuf.GeneratedMessage.Builder> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private FinishedReceiver(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
    private static final FinishedReceiver defaultInstance;
    public static FinishedReceiver getDefaultInstance() {
      return defaultInstance;
    }
    public FinishedReceiver getDefaultInstanceForType() {
      return defaultInstance;
    }
    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private FinishedReceiver(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              org.apache.drill.exec.proto.ExecProtos.FragmentHandle.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = receiver_.toBuilder();
              }
              receiver_ = input.readMessage(org.apache.drill.exec.proto.ExecProtos.FragmentHandle.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(receiver_);
                receiver_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              org.apache.drill.exec.proto.ExecProtos.FragmentHandle.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = sender_.toBuilder();
              }
              sender_ = input.readMessage(org.apache.drill.exec.proto.ExecProtos.FragmentHandle.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(sender_);
                sender_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_FinishedReceiver_descriptor;
    }
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_FinishedReceiver_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.drill.exec.proto.BitControl.FinishedReceiver.class, org.apache.drill.exec.proto.BitControl.FinishedReceiver.Builder.class);
    }
    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public FinishedReceiver parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new FinishedReceiver(input, extensionRegistry);
      }
    };
    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }
    private int bitField0_;
    // optional .exec.bit.FragmentHandle receiver = 1;
    public static final int RECEIVER_FIELD_NUMBER = 1;
    private org.apache.drill.exec.proto.ExecProtos.FragmentHandle receiver_;
    /**
     * optional .exec.bit.FragmentHandle receiver = 1;
     */
    public boolean hasReceiver() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .exec.bit.FragmentHandle receiver = 1;
     */
    public org.apache.drill.exec.proto.ExecProtos.FragmentHandle getReceiver() {
      return receiver_;
    }
    /**
     * optional .exec.bit.FragmentHandle receiver = 1;
     */
    public org.apache.drill.exec.proto.ExecProtos.FragmentHandleOrBuilder getReceiverOrBuilder() {
      return receiver_;
    }
    // optional .exec.bit.FragmentHandle sender = 2;
    public static final int SENDER_FIELD_NUMBER = 2;
    private org.apache.drill.exec.proto.ExecProtos.FragmentHandle sender_;
    /**
     * optional .exec.bit.FragmentHandle sender = 2;
     */
    public boolean hasSender() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional .exec.bit.FragmentHandle sender = 2;
     */
    public org.apache.drill.exec.proto.ExecProtos.FragmentHandle getSender() {
      return sender_;
    }
    /**
     * optional .exec.bit.FragmentHandle sender = 2;
     */
    public org.apache.drill.exec.proto.ExecProtos.FragmentHandleOrBuilder getSenderOrBuilder() {
      return sender_;
    }
    private void initFields() {
      receiver_ = org.apache.drill.exec.proto.ExecProtos.FragmentHandle.getDefaultInstance();
      sender_ = org.apache.drill.exec.proto.ExecProtos.FragmentHandle.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      memoizedIsInitialized = 1;
      return true;
    }
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, receiver_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, sender_);
      }
      getUnknownFields().writeTo(output);
    }
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, receiver_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, sender_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    public static org.apache.drill.exec.proto.BitControl.FinishedReceiver parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.drill.exec.proto.BitControl.FinishedReceiver parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.drill.exec.proto.BitControl.FinishedReceiver parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.drill.exec.proto.BitControl.FinishedReceiver parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.drill.exec.proto.BitControl.FinishedReceiver parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.drill.exec.proto.BitControl.FinishedReceiver parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static org.apache.drill.exec.proto.BitControl.FinishedReceiver parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static org.apache.drill.exec.proto.BitControl.FinishedReceiver parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static org.apache.drill.exec.proto.BitControl.FinishedReceiver parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.drill.exec.proto.BitControl.FinishedReceiver parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(org.apache.drill.exec.proto.BitControl.FinishedReceiver prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code exec.bit.control.FinishedReceiver}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements org.apache.drill.exec.proto.BitControl.FinishedReceiverOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_FinishedReceiver_descriptor;
      }
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_FinishedReceiver_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.drill.exec.proto.BitControl.FinishedReceiver.class, org.apache.drill.exec.proto.BitControl.FinishedReceiver.Builder.class);
      }
      // Construct using org.apache.drill.exec.proto.BitControl.FinishedReceiver.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getReceiverFieldBuilder();
          getSenderFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      public Builder clear() {
        super.clear();
        if (receiverBuilder_ == null) {
          receiver_ = org.apache.drill.exec.proto.ExecProtos.FragmentHandle.getDefaultInstance();
        } else {
          receiverBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (senderBuilder_ == null) {
          sender_ = org.apache.drill.exec.proto.ExecProtos.FragmentHandle.getDefaultInstance();
        } else {
          senderBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.drill.exec.proto.BitControl.internal_static_exec_bit_control_FinishedReceiver_descriptor;
      }
      public org.apache.drill.exec.proto.BitControl.FinishedReceiver getDefaultInstanceForType() {
        return org.apache.drill.exec.proto.BitControl.FinishedReceiver.getDefaultInstance();
      }
      public org.apache.drill.exec.proto.BitControl.FinishedReceiver build() {
        org.apache.drill.exec.proto.BitControl.FinishedReceiver result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      public org.apache.drill.exec.proto.BitControl.FinishedReceiver buildPartial() {
        org.apache.drill.exec.proto.BitControl.FinishedReceiver result = new org.apache.drill.exec.proto.BitControl.FinishedReceiver(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (receiverBuilder_ == null) {
          result.receiver_ = receiver_;
        } else {
          result.receiver_ = receiverBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (senderBuilder_ == null) {
          result.sender_ = sender_;
        } else {
          result.sender_ = senderBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.drill.exec.proto.BitControl.FinishedReceiver) {
          return mergeFrom((org.apache.drill.exec.proto.BitControl.FinishedReceiver)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(org.apache.drill.exec.proto.BitControl.FinishedReceiver other) {
        if (other == org.apache.drill.exec.proto.BitControl.FinishedReceiver.getDefaultInstance()) return this;
        if (other.hasReceiver()) {
          mergeReceiver(other.getReceiver());
        }
        if (other.hasSender()) {
          mergeSender(other.getSender());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      public final boolean isInitialized() {
        return true;
      }
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.apache.drill.exec.proto.BitControl.FinishedReceiver parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.apache.drill.exec.proto.BitControl.FinishedReceiver) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;
      // optional .exec.bit.FragmentHandle receiver = 1;
      private org.apache.drill.exec.proto.ExecProtos.FragmentHandle receiver_ = org.apache.drill.exec.proto.ExecProtos.FragmentHandle.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          org.apache.drill.exec.proto.ExecProtos.FragmentHandle, org.apache.drill.exec.proto.ExecProtos.FragmentHandle.Builder, org.apache.drill.exec.proto.ExecProtos.FragmentHandleOrBuilder> receiverBuilder_;
      /**
       * optional .exec.bit.FragmentHandle receiver = 1;
       */
      public boolean hasReceiver() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .exec.bit.FragmentHandle receiver = 1;
       */
      public org.apache.drill.exec.proto.ExecProtos.FragmentHandle getReceiver() {
        if (receiverBuilder_ == null) {
          return receiver_;
        } else {
          return receiverBuilder_.getMessage();
        }
      }
      /**
       * optional .exec.bit.FragmentHandle receiver = 1;
       */
      public Builder setReceiver(org.apache.drill.exec.proto.ExecProtos.FragmentHandle value) {
        if (receiverBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          receiver_ = value;
          onChanged();
        } else {
          receiverBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .exec.bit.FragmentHandle receiver = 1;
       */
      public Builder setReceiver(
          org.apache.drill.exec.proto.ExecProtos.FragmentHandle.Builder builderForValue) {
        if (receiverBuilder_ == null) {
          receiver_ = builderForValue.build();
          onChanged();
        } else {
          receiverBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .exec.bit.FragmentHandle receiver = 1;
       */
      public Builder mergeReceiver(org.apache.drill.exec.proto.ExecProtos.FragmentHandle value) {
        if (receiverBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              receiver_ != org.apache.drill.exec.proto.ExecProtos.FragmentHandle.getDefaultInstance()) {
            receiver_ =
              org.apache.drill.exec.proto.ExecProtos.FragmentHandle.newBuilder(receiver_).mergeFrom(value).buildPartial();
          } else {
            receiver_ = value;
          }
          onChanged();
        } else {
          receiverBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .exec.bit.FragmentHandle receiver = 1;
       */
      public Builder clearReceiver() {
        if (receiverBuilder_ == null) {
          receiver_ = org.apache.drill.exec.proto.ExecProtos.FragmentHandle.getDefaultInstance();
          onChanged();
        } else {
          receiverBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .exec.bit.FragmentHandle receiver = 1;
       */
      public org.apache.drill.exec.proto.ExecProtos.FragmentHandle.Builder getReceiverBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getReceiverFieldBuilder().getBuilder();
      }
      /**
       * optional .exec.bit.FragmentHandle receiver = 1;
       */
      public org.apache.drill.exec.proto.ExecProtos.FragmentHandleOrBuilder getReceiverOrBuilder() {
        if (receiverBuilder_ != null) {
          return receiverBuilder_.getMessageOrBuilder();
        } else {
          return receiver_;
        }
      }
      /**
       * optional .exec.bit.FragmentHandle receiver = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          org.apache.drill.exec.proto.ExecProtos.FragmentHandle, org.apache.drill.exec.proto.ExecProtos.FragmentHandle.Builder, org.apache.drill.exec.proto.ExecProtos.FragmentHandleOrBuilder> 
          getReceiverFieldBuilder() {
        if (receiverBuilder_ == null) {
          receiverBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              org.apache.drill.exec.proto.ExecProtos.FragmentHandle, org.apache.drill.exec.proto.ExecProtos.FragmentHandle.Builder, org.apache.drill.exec.proto.ExecProtos.FragmentHandleOrBuilder>(
                  receiver_,
                  getParentForChildren(),
                  isClean());
          receiver_ = null;
        }
        return receiverBuilder_;
      }
      // optional .exec.bit.FragmentHandle sender = 2;
      private org.apache.drill.exec.proto.ExecProtos.FragmentHandle sender_ = org.apache.drill.exec.proto.ExecProtos.FragmentHandle.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          org.apache.drill.exec.proto.ExecProtos.FragmentHandle, org.apache.drill.exec.proto.ExecProtos.FragmentHandle.Builder, org.apache.drill.exec.proto.ExecProtos.FragmentHandleOrBuilder> senderBuilder_;
      /**
       * optional .exec.bit.FragmentHandle sender = 2;
       */
      public boolean hasSender() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional .exec.bit.FragmentHandle sender = 2;
       */
      public org.apache.drill.exec.proto.ExecProtos.FragmentHandle getSender() {
        if (senderBuilder_ == null) {
          return sender_;
        } else {
          return senderBuilder_.getMessage();
        }
      }
      /**
       * optional .exec.bit.FragmentHandle sender = 2;
       */
      public Builder setSender(org.apache.drill.exec.proto.ExecProtos.FragmentHandle value) {
        if (senderBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          sender_ = value;
          onChanged();
        } else {
          senderBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .exec.bit.FragmentHandle sender = 2;
       */
      public Builder setSender(
          org.apache.drill.exec.proto.ExecProtos.FragmentHandle.Builder builderForValue) {
        if (senderBuilder_ == null) {
          sender_ = builderForValue.build();
          onChanged();
        } else {
          senderBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .exec.bit.FragmentHandle sender = 2;
       */
      public Builder mergeSender(org.apache.drill.exec.proto.ExecProtos.FragmentHandle value) {
        if (senderBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              sender_ != org.apache.drill.exec.proto.ExecProtos.FragmentHandle.getDefaultInstance()) {
            sender_ =
              org.apache.drill.exec.proto.ExecProtos.FragmentHandle.newBuilder(sender_).mergeFrom(value).buildPartial();
          } else {
            sender_ = value;
          }
          onChanged();
        } else {
          senderBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .exec.bit.FragmentHandle sender = 2;
       */
      public Builder clearSender() {
        if (senderBuilder_ == null) {
          sender_ = org.apache.drill.exec.proto.ExecProtos.FragmentHandle.getDefaultInstance();
          onChanged();
        } else {
          senderBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * optional .exec.bit.FragmentHandle sender = 2;
       */
      public org.apache.drill.exec.proto.ExecProtos.FragmentHandle.Builder getSenderBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getSenderFieldBuilder().getBuilder();
      }
      /**
       * optional .exec.bit.FragmentHandle sender = 2;
       */
      public org.apache.drill.exec.proto.ExecProtos.FragmentHandleOrBuilder getSenderOrBuilder() {
        if (senderBuilder_ != null) {
          return senderBuilder_.getMessageOrBuilder();
        } else {
          return sender_;
        }
      }
      /**
       * optional .exec.bit.FragmentHandle sender = 2;
       */
      private com.google.protobuf.SingleFieldBuilder<
          org.apache.drill.exec.proto.ExecProtos.FragmentHandle, org.apache.drill.exec.proto.ExecProtos.FragmentHandle.Builder, org.apache.drill.exec.proto.ExecProtos.FragmentHandleOrBuilder> 
          getSenderFieldBuilder() {
        if (senderBuilder_ == null) {
          senderBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              org.apache.drill.exec.proto.ExecProtos.FragmentHandle, org.apache.drill.exec.proto.ExecProtos.FragmentHandle.Builder, org.apache.drill.exec.proto.ExecProtos.FragmentHandleOrBuilder>(
                  sender_,
                  getParentForChildren(),
                  isClean());
          sender_ = null;
        }
        return senderBuilder_;
      }
      // @@protoc_insertion_point(builder_scope:exec.bit.control.FinishedReceiver)
    }
    static {
      defaultInstance = new FinishedReceiver(true);
      defaultInstance.initFields();
    }
    // @@protoc_insertion_point(class_scope:exec.bit.control.FinishedReceiver)
  }
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_exec_bit_control_BitControlHandshake_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_exec_bit_control_BitControlHandshake_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_exec_bit_control_BitStatus_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_exec_bit_control_BitStatus_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_exec_bit_control_FragmentStatus_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_exec_bit_control_FragmentStatus_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_exec_bit_control_InitializeFragments_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_exec_bit_control_InitializeFragments_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_exec_bit_control_PlanFragment_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_exec_bit_control_PlanFragment_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_exec_bit_control_Collector_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_exec_bit_control_Collector_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_exec_bit_control_QueryContextInformation_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_exec_bit_control_QueryContextInformation_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_exec_bit_control_WorkQueueStatus_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_exec_bit_control_WorkQueueStatus_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_exec_bit_control_FinishedReceiver_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_exec_bit_control_FinishedReceiver_fieldAccessorTable;
  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n\020BitControl.proto\022\020exec.bit.control\032\025Ex" +
      "ecutionProtos.proto\032\022Coordination.proto\032" +
      "\023UserBitShared.proto\"\213\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\"F\n\tBitStatus\0229\n\017fragment_status\030\001 \003(\013" +
      "2 .exec.bit.control.FragmentStatus\"n\n\016Fr" +
      "agmentStatus\0222\n\007profile\030\001 \001(\0132!.exec.sha" +
      "red.MinorFragmentProfile\022(\n\006handle\030\002 \001(\013",
      "2\030.exec.bit.FragmentHandle\"G\n\023Initialize" +
      "Fragments\0220\n\010fragment\030\001 \003(\0132\036.exec.bit.c" +
      "ontrol.PlanFragment\"\374\003\n\014PlanFragment\022(\n\006" +
      "handle\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.Drillbit" +
      "Endpoint\022\'\n\007foreman\030\013 \001(\0132\026.exec.Drillbi" +
      "tEndpoint\022\035\n\013mem_initial\030\014 \001(\003:\01020000000",
      "\022\033\n\007mem_max\030\r \001(\003:\n2000000000\0221\n\013credent" +
      "ials\030\016 \001(\0132\034.exec.shared.UserCredentials" +
      "\022\024\n\014options_json\030\017 \001(\t\022:\n\007context\030\020 \001(\0132" +
      ").exec.bit.control.QueryContextInformati" +
      "on\022.\n\tcollector\030\021 \003(\0132\033.exec.bit.control" +
      ".Collector\"\210\001\n\tCollector\022\"\n\032opposite_maj" +
      "or_fragment_id\030\001 \001(\005\022#\n\027incoming_minor_f" +
      "ragment\030\002 \003(\005B\002\020\001\022\035\n\025supports_out_of_ord" +
      "er\030\003 \001(\010\022\023\n\013is_spooling\030\004 \001(\010\"c\n\027QueryCo" +
      "ntextInformation\022\030\n\020query_start_time\030\001 \001",
      "(\003\022\021\n\ttime_zone\030\002 \001(\005\022\033\n\023default_schema_" +
      "name\030\003 \001(\t\"f\n\017WorkQueueStatus\022(\n\010endpoin" +
      "t\030\001 \001(\0132\026.exec.DrillbitEndpoint\022\024\n\014queue" +
      "_length\030\002 \001(\005\022\023\n\013report_time\030\003 \001(\003\"h\n\020Fi" +
      "nishedReceiver\022*\n\010receiver\030\001 \001(\0132\030.exec." +
      "bit.FragmentHandle\022(\n\006sender\030\002 \001(\0132\030.exe" +
      "c.bit.FragmentHandle*\323\002\n\007RpcType\022\r\n\tHAND" +
      "SHAKE\020\000\022\007\n\003ACK\020\001\022\013\n\007GOODBYE\020\002\022\034\n\030REQ_INI" +
      "TIALIZE_FRAGMENTS\020\003\022\027\n\023REQ_CANCEL_FRAGME" +
      "NT\020\006\022\031\n\025REQ_RECEIVER_FINISHED\020\007\022\027\n\023REQ_F",
      "RAGMENT_STATUS\020\010\022\022\n\016REQ_BIT_STATUS\020\t\022\024\n\020" +
      "REQ_QUERY_STATUS\020\n\022\024\n\020REQ_QUERY_CANCEL\020\017" +
      "\022\030\n\024REQ_UNPAUSE_FRAGMENT\020\020\022\030\n\024RESP_FRAGM" +
      "ENT_HANDLE\020\013\022\030\n\024RESP_FRAGMENT_STATUS\020\014\022\023" +
      "\n\017RESP_BIT_STATUS\020\r\022\025\n\021RESP_QUERY_STATUS" +
      "\020\016B+\n\033org.apache.drill.exec.protoB\nBitCo" +
      "ntrolH\001"
    };
    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
      new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
        public com.google.protobuf.ExtensionRegistry assignDescriptors(
            com.google.protobuf.Descriptors.FileDescriptor root) {
          descriptor = root;
          internal_static_exec_bit_control_BitControlHandshake_descriptor =
            getDescriptor().getMessageTypes().get(0);
          internal_static_exec_bit_control_BitControlHandshake_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_exec_bit_control_BitControlHandshake_descriptor,
              new java.lang.String[] { "RpcVersion", "Channel", "Endpoint", });
          internal_static_exec_bit_control_BitStatus_descriptor =
            getDescriptor().getMessageTypes().get(1);
          internal_static_exec_bit_control_BitStatus_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_exec_bit_control_BitStatus_descriptor,
              new java.lang.String[] { "FragmentStatus", });
          internal_static_exec_bit_control_FragmentStatus_descriptor =
            getDescriptor().getMessageTypes().get(2);
          internal_static_exec_bit_control_FragmentStatus_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_exec_bit_control_FragmentStatus_descriptor,
              new java.lang.String[] { "Profile", "Handle", });
          internal_static_exec_bit_control_InitializeFragments_descriptor =
            getDescriptor().getMessageTypes().get(3);
          internal_static_exec_bit_control_InitializeFragments_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_exec_bit_control_InitializeFragments_descriptor,
              new java.lang.String[] { "Fragment", });
          internal_static_exec_bit_control_PlanFragment_descriptor =
            getDescriptor().getMessageTypes().get(4);
          internal_static_exec_bit_control_PlanFragment_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_exec_bit_control_PlanFragment_descriptor,
              new java.lang.String[] { "Handle", "NetworkCost", "CpuCost", "DiskCost", "MemoryCost", "FragmentJson", "LeafFragment", "Assignment", "Foreman", "MemInitial", "MemMax", "Credentials", "OptionsJson", "Context", "Collector", });
          internal_static_exec_bit_control_Collector_descriptor =
            getDescriptor().getMessageTypes().get(5);
          internal_static_exec_bit_control_Collector_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_exec_bit_control_Collector_descriptor,
              new java.lang.String[] { "OppositeMajorFragmentId", "IncomingMinorFragment", "SupportsOutOfOrder", "IsSpooling", });
          internal_static_exec_bit_control_QueryContextInformation_descriptor =
            getDescriptor().getMessageTypes().get(6);
          internal_static_exec_bit_control_QueryContextInformation_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_exec_bit_control_QueryContextInformation_descriptor,
              new java.lang.String[] { "QueryStartTime", "TimeZone", "DefaultSchemaName", });
          internal_static_exec_bit_control_WorkQueueStatus_descriptor =
            getDescriptor().getMessageTypes().get(7);
          internal_static_exec_bit_control_WorkQueueStatus_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_exec_bit_control_WorkQueueStatus_descriptor,
              new java.lang.String[] { "Endpoint", "QueueLength", "ReportTime", });
          internal_static_exec_bit_control_FinishedReceiver_descriptor =
            getDescriptor().getMessageTypes().get(8);
          internal_static_exec_bit_control_FinishedReceiver_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_exec_bit_control_FinishedReceiver_descriptor,
              new java.lang.String[] { "Receiver", "Sender", });
          return null;
        }
      };
    com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          org.apache.drill.exec.proto.ExecProtos.getDescriptor(),
          org.apache.drill.exec.proto.CoordinationProtos.getDescriptor(),
          org.apache.drill.exec.proto.UserBitShared.getDescriptor(),
        }, assigner);
  }
  // @@protoc_insertion_point(outer_class_scope)
}
                                                                           © 2015 - 2025 Weber Informatics LLC | Privacy Policy