// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: worker/src/main/proto/MahaCustomReportRequest.proto

package com.yahoo.maha.worker.proto;

public final class MahaWorkerReportingProto {
  private MahaWorkerReportingProto() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
  }
  /**
   * Protobuf enum {@code com.yahoo.maha.worker.proto.DeliveryMethod}
   */
  public enum DeliveryMethod
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * <code>EMAIL = 0;</code>
     */
    EMAIL(0, 0),
    /**
     * <code>CONTENT_STORE = 1;</code>
     */
    CONTENT_STORE(1, 1),
    ;

    /**
     * <code>EMAIL = 0;</code>
     */
    public static final int EMAIL_VALUE = 0;
    /**
     * <code>CONTENT_STORE = 1;</code>
     */
    public static final int CONTENT_STORE_VALUE = 1;


    public final int getNumber() { return value; }

    public static DeliveryMethod valueOf(int value) {
      switch (value) {
        case 0: return EMAIL;
        case 1: return CONTENT_STORE;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap<DeliveryMethod>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static com.google.protobuf.Internal.EnumLiteMap<DeliveryMethod>
        internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap<DeliveryMethod>() {
            public DeliveryMethod findValueByNumber(int number) {
              return DeliveryMethod.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 com.yahoo.maha.worker.proto.MahaWorkerReportingProto.getDescriptor().getEnumTypes().get(0);
    }

    private static final DeliveryMethod[] VALUES = values();

    public static DeliveryMethod 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 DeliveryMethod(int index, int value) {
      this.index = index;
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:com.yahoo.maha.worker.proto.DeliveryMethod)
  }

  /**
   * Protobuf enum {@code com.yahoo.maha.worker.proto.QueryEngine}
   */
  public enum QueryEngine
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * <code>ORACLE = 0;</code>
     */
    ORACLE(0, 0),
    /**
     * <code>HIVE = 1;</code>
     */
    HIVE(1, 1),
    /**
     * <code>DRUID = 2;</code>
     */
    DRUID(2, 2),
    /**
     * <code>PRESTO = 3;</code>
     */
    PRESTO(3, 3),
    ;

    /**
     * <code>ORACLE = 0;</code>
     */
    public static final int ORACLE_VALUE = 0;
    /**
     * <code>HIVE = 1;</code>
     */
    public static final int HIVE_VALUE = 1;
    /**
     * <code>DRUID = 2;</code>
     */
    public static final int DRUID_VALUE = 2;
    /**
     * <code>PRESTO = 3;</code>
     */
    public static final int PRESTO_VALUE = 3;


    public final int getNumber() { return value; }

    public static QueryEngine valueOf(int value) {
      switch (value) {
        case 0: return ORACLE;
        case 1: return HIVE;
        case 2: return DRUID;
        case 3: return PRESTO;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap<QueryEngine>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static com.google.protobuf.Internal.EnumLiteMap<QueryEngine>
        internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap<QueryEngine>() {
            public QueryEngine findValueByNumber(int number) {
              return QueryEngine.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 com.yahoo.maha.worker.proto.MahaWorkerReportingProto.getDescriptor().getEnumTypes().get(1);
    }

    private static final QueryEngine[] VALUES = values();

    public static QueryEngine 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 QueryEngine(int index, int value) {
      this.index = index;
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:com.yahoo.maha.worker.proto.QueryEngine)
  }

  /**
   * Protobuf enum {@code com.yahoo.maha.worker.proto.OutputFormat}
   */
  public enum OutputFormat
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * <code>CSV = 0;</code>
     */
    CSV(0, 0),
    /**
     * <code>JSON = 1;</code>
     */
    JSON(1, 1),
    ;

    /**
     * <code>CSV = 0;</code>
     */
    public static final int CSV_VALUE = 0;
    /**
     * <code>JSON = 1;</code>
     */
    public static final int JSON_VALUE = 1;


    public final int getNumber() { return value; }

    public static OutputFormat valueOf(int value) {
      switch (value) {
        case 0: return CSV;
        case 1: return JSON;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap<OutputFormat>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static com.google.protobuf.Internal.EnumLiteMap<OutputFormat>
        internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap<OutputFormat>() {
            public OutputFormat findValueByNumber(int number) {
              return OutputFormat.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 com.yahoo.maha.worker.proto.MahaWorkerReportingProto.getDescriptor().getEnumTypes().get(2);
    }

    private static final OutputFormat[] VALUES = values();

    public static OutputFormat 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 OutputFormat(int index, int value) {
      this.index = index;
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:com.yahoo.maha.worker.proto.OutputFormat)
  }

  /**
   * Protobuf enum {@code com.yahoo.maha.worker.proto.ReportType}
   */
  public enum ReportType
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * <code>AD_HOC = 0;</code>
     */
    AD_HOC(0, 0),
    /**
     * <code>SCHEDULED = 1;</code>
     */
    SCHEDULED(1, 1),
    ;

    /**
     * <code>AD_HOC = 0;</code>
     */
    public static final int AD_HOC_VALUE = 0;
    /**
     * <code>SCHEDULED = 1;</code>
     */
    public static final int SCHEDULED_VALUE = 1;


    public final int getNumber() { return value; }

    public static ReportType valueOf(int value) {
      switch (value) {
        case 0: return AD_HOC;
        case 1: return SCHEDULED;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap<ReportType>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static com.google.protobuf.Internal.EnumLiteMap<ReportType>
        internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap<ReportType>() {
            public ReportType findValueByNumber(int number) {
              return ReportType.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 com.yahoo.maha.worker.proto.MahaWorkerReportingProto.getDescriptor().getEnumTypes().get(3);
    }

    private static final ReportType[] VALUES = values();

    public static ReportType 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 ReportType(int index, int value) {
      this.index = index;
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:com.yahoo.maha.worker.proto.ReportType)
  }

  /**
   * Protobuf enum {@code com.yahoo.maha.worker.proto.QueueType}
   */
  public enum QueueType
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * <code>PULSAR = 0;</code>
     */
    PULSAR(0, 0),
    /**
     * <code>KAFKA = 1;</code>
     */
    KAFKA(1, 1),
    ;

    /**
     * <code>PULSAR = 0;</code>
     */
    public static final int PULSAR_VALUE = 0;
    /**
     * <code>KAFKA = 1;</code>
     */
    public static final int KAFKA_VALUE = 1;


    public final int getNumber() { return value; }

    public static QueueType valueOf(int value) {
      switch (value) {
        case 0: return PULSAR;
        case 1: return KAFKA;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap<QueueType>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static com.google.protobuf.Internal.EnumLiteMap<QueueType>
        internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap<QueueType>() {
            public QueueType findValueByNumber(int number) {
              return QueueType.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 com.yahoo.maha.worker.proto.MahaWorkerReportingProto.getDescriptor().getEnumTypes().get(4);
    }

    private static final QueueType[] VALUES = values();

    public static QueueType 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 QueueType(int index, int value) {
      this.index = index;
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:com.yahoo.maha.worker.proto.QueueType)
  }

  public interface MahaCustomReportRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.yahoo.maha.worker.proto.MahaCustomReportRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>required bytes raw_request = 1;</code>
     */
    boolean hasRawRequest();
    /**
     * <code>required bytes raw_request = 1;</code>
     */
    com.google.protobuf.ByteString getRawRequest();

    /**
     * <code>required .com.yahoo.maha.worker.proto.DeliveryMethod delivery_method = 2;</code>
     */
    boolean hasDeliveryMethod();
    /**
     * <code>required .com.yahoo.maha.worker.proto.DeliveryMethod delivery_method = 2;</code>
     */
    com.yahoo.maha.worker.proto.MahaWorkerReportingProto.DeliveryMethod getDeliveryMethod();

    /**
     * <code>required .com.yahoo.maha.worker.proto.QueryEngine query_engine = 3;</code>
     */
    boolean hasQueryEngine();
    /**
     * <code>required .com.yahoo.maha.worker.proto.QueryEngine query_engine = 3;</code>
     */
    com.yahoo.maha.worker.proto.MahaWorkerReportingProto.QueryEngine getQueryEngine();

    /**
     * <code>required .com.yahoo.maha.worker.proto.OutputFormat output_format = 4;</code>
     */
    boolean hasOutputFormat();
    /**
     * <code>required .com.yahoo.maha.worker.proto.OutputFormat output_format = 4;</code>
     */
    com.yahoo.maha.worker.proto.MahaWorkerReportingProto.OutputFormat getOutputFormat();

    /**
     * <code>required int64 job_id = 5;</code>
     */
    boolean hasJobId();
    /**
     * <code>required int64 job_id = 5;</code>
     */
    long getJobId();

    /**
     * <code>required string schema = 6;</code>
     */
    boolean hasSchema();
    /**
     * <code>required string schema = 6;</code>
     */
    java.lang.String getSchema();
    /**
     * <code>required string schema = 6;</code>
     */
    com.google.protobuf.ByteString
        getSchemaBytes();

    /**
     * <code>required .com.yahoo.maha.worker.proto.ReportType report_type = 7;</code>
     */
    boolean hasReportType();
    /**
     * <code>required .com.yahoo.maha.worker.proto.ReportType report_type = 7;</code>
     */
    com.yahoo.maha.worker.proto.MahaWorkerReportingProto.ReportType getReportType();

    /**
     * <code>optional string timezone = 8;</code>
     */
    boolean hasTimezone();
    /**
     * <code>optional string timezone = 8;</code>
     */
    java.lang.String getTimezone();
    /**
     * <code>optional string timezone = 8;</code>
     */
    com.google.protobuf.ByteString
        getTimezoneBytes();

    /**
     * <code>optional bool dryrun = 9;</code>
     */
    boolean hasDryrun();
    /**
     * <code>optional bool dryrun = 9;</code>
     */
    boolean getDryrun();

    /**
     * <code>optional int32 revision = 10;</code>
     */
    boolean hasRevision();
    /**
     * <code>optional int32 revision = 10;</code>
     */
    int getRevision();

    /**
     * <code>optional int64 requestSubmittedTime = 11;</code>
     */
    boolean hasRequestSubmittedTime();
    /**
     * <code>optional int64 requestSubmittedTime = 11;</code>
     */
    long getRequestSubmittedTime();

    /**
     * <code>optional .com.yahoo.maha.worker.proto.QueueType queueType = 12;</code>
     */
    boolean hasQueueType();
    /**
     * <code>optional .com.yahoo.maha.worker.proto.QueueType queueType = 12;</code>
     */
    com.yahoo.maha.worker.proto.MahaWorkerReportingProto.QueueType getQueueType();

    /**
     * <code>optional string userId = 13;</code>
     */
    boolean hasUserId();
    /**
     * <code>optional string userId = 13;</code>
     */
    java.lang.String getUserId();
    /**
     * <code>optional string userId = 13;</code>
     */
    com.google.protobuf.ByteString
        getUserIdBytes();

    /**
     * <code>optional bool dualWrite = 14;</code>
     */
    boolean hasDualWrite();
    /**
     * <code>optional bool dualWrite = 14;</code>
     */
    boolean getDualWrite();

    /**
     * <code>optional string registry_name = 15;</code>
     */
    boolean hasRegistryName();
    /**
     * <code>optional string registry_name = 15;</code>
     */
    java.lang.String getRegistryName();
    /**
     * <code>optional string registry_name = 15;</code>
     */
    com.google.protobuf.ByteString
        getRegistryNameBytes();

    /**
     * <code>optional int32 queryGenVersion = 16;</code>
     */
    boolean hasQueryGenVersion();
    /**
     * <code>optional int32 queryGenVersion = 16;</code>
     */
    int getQueryGenVersion();

    /**
     * <code>optional string jobIdString = 17;</code>
     */
    boolean hasJobIdString();
    /**
     * <code>optional string jobIdString = 17;</code>
     */
    java.lang.String getJobIdString();
    /**
     * <code>optional string jobIdString = 17;</code>
     */
    com.google.protobuf.ByteString
        getJobIdStringBytes();
  }
  /**
   * Protobuf type {@code com.yahoo.maha.worker.proto.MahaCustomReportRequest}
   */
  public static final class MahaCustomReportRequest extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:com.yahoo.maha.worker.proto.MahaCustomReportRequest)
      MahaCustomReportRequestOrBuilder {
    // Use MahaCustomReportRequest.newBuilder() to construct.
    private MahaCustomReportRequest(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private MahaCustomReportRequest(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final MahaCustomReportRequest defaultInstance;
    public static MahaCustomReportRequest getDefaultInstance() {
      return defaultInstance;
    }

    public MahaCustomReportRequest getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private MahaCustomReportRequest(
        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: {
              bitField0_ |= 0x00000001;
              rawRequest_ = input.readBytes();
              break;
            }
            case 16: {
              int rawValue = input.readEnum();
              com.yahoo.maha.worker.proto.MahaWorkerReportingProto.DeliveryMethod value = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.DeliveryMethod.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(2, rawValue);
              } else {
                bitField0_ |= 0x00000002;
                deliveryMethod_ = value;
              }
              break;
            }
            case 24: {
              int rawValue = input.readEnum();
              com.yahoo.maha.worker.proto.MahaWorkerReportingProto.QueryEngine value = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.QueryEngine.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(3, rawValue);
              } else {
                bitField0_ |= 0x00000004;
                queryEngine_ = value;
              }
              break;
            }
            case 32: {
              int rawValue = input.readEnum();
              com.yahoo.maha.worker.proto.MahaWorkerReportingProto.OutputFormat value = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.OutputFormat.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(4, rawValue);
              } else {
                bitField0_ |= 0x00000008;
                outputFormat_ = value;
              }
              break;
            }
            case 40: {
              bitField0_ |= 0x00000010;
              jobId_ = input.readInt64();
              break;
            }
            case 50: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000020;
              schema_ = bs;
              break;
            }
            case 56: {
              int rawValue = input.readEnum();
              com.yahoo.maha.worker.proto.MahaWorkerReportingProto.ReportType value = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.ReportType.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(7, rawValue);
              } else {
                bitField0_ |= 0x00000040;
                reportType_ = value;
              }
              break;
            }
            case 66: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000080;
              timezone_ = bs;
              break;
            }
            case 72: {
              bitField0_ |= 0x00000100;
              dryrun_ = input.readBool();
              break;
            }
            case 80: {
              bitField0_ |= 0x00000200;
              revision_ = input.readInt32();
              break;
            }
            case 88: {
              bitField0_ |= 0x00000400;
              requestSubmittedTime_ = input.readInt64();
              break;
            }
            case 96: {
              int rawValue = input.readEnum();
              com.yahoo.maha.worker.proto.MahaWorkerReportingProto.QueueType value = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.QueueType.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(12, rawValue);
              } else {
                bitField0_ |= 0x00000800;
                queueType_ = value;
              }
              break;
            }
            case 106: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00001000;
              userId_ = bs;
              break;
            }
            case 112: {
              bitField0_ |= 0x00002000;
              dualWrite_ = input.readBool();
              break;
            }
            case 122: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00004000;
              registryName_ = bs;
              break;
            }
            case 128: {
              bitField0_ |= 0x00008000;
              queryGenVersion_ = input.readInt32();
              break;
            }
            case 138: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00010000;
              jobIdString_ = bs;
              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 com.yahoo.maha.worker.proto.MahaWorkerReportingProto.internal_static_com_yahoo_maha_worker_proto_MahaCustomReportRequest_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.yahoo.maha.worker.proto.MahaWorkerReportingProto.internal_static_com_yahoo_maha_worker_proto_MahaCustomReportRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaCustomReportRequest.class, com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaCustomReportRequest.Builder.class);
    }

    public static com.google.protobuf.Parser<MahaCustomReportRequest> PARSER =
        new com.google.protobuf.AbstractParser<MahaCustomReportRequest>() {
      public MahaCustomReportRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new MahaCustomReportRequest(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<MahaCustomReportRequest> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    public static final int RAW_REQUEST_FIELD_NUMBER = 1;
    private com.google.protobuf.ByteString rawRequest_;
    /**
     * <code>required bytes raw_request = 1;</code>
     */
    public boolean hasRawRequest() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>required bytes raw_request = 1;</code>
     */
    public com.google.protobuf.ByteString getRawRequest() {
      return rawRequest_;
    }

    public static final int DELIVERY_METHOD_FIELD_NUMBER = 2;
    private com.yahoo.maha.worker.proto.MahaWorkerReportingProto.DeliveryMethod deliveryMethod_;
    /**
     * <code>required .com.yahoo.maha.worker.proto.DeliveryMethod delivery_method = 2;</code>
     */
    public boolean hasDeliveryMethod() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>required .com.yahoo.maha.worker.proto.DeliveryMethod delivery_method = 2;</code>
     */
    public com.yahoo.maha.worker.proto.MahaWorkerReportingProto.DeliveryMethod getDeliveryMethod() {
      return deliveryMethod_;
    }

    public static final int QUERY_ENGINE_FIELD_NUMBER = 3;
    private com.yahoo.maha.worker.proto.MahaWorkerReportingProto.QueryEngine queryEngine_;
    /**
     * <code>required .com.yahoo.maha.worker.proto.QueryEngine query_engine = 3;</code>
     */
    public boolean hasQueryEngine() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>required .com.yahoo.maha.worker.proto.QueryEngine query_engine = 3;</code>
     */
    public com.yahoo.maha.worker.proto.MahaWorkerReportingProto.QueryEngine getQueryEngine() {
      return queryEngine_;
    }

    public static final int OUTPUT_FORMAT_FIELD_NUMBER = 4;
    private com.yahoo.maha.worker.proto.MahaWorkerReportingProto.OutputFormat outputFormat_;
    /**
     * <code>required .com.yahoo.maha.worker.proto.OutputFormat output_format = 4;</code>
     */
    public boolean hasOutputFormat() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <code>required .com.yahoo.maha.worker.proto.OutputFormat output_format = 4;</code>
     */
    public com.yahoo.maha.worker.proto.MahaWorkerReportingProto.OutputFormat getOutputFormat() {
      return outputFormat_;
    }

    public static final int JOB_ID_FIELD_NUMBER = 5;
    private long jobId_;
    /**
     * <code>required int64 job_id = 5;</code>
     */
    public boolean hasJobId() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * <code>required int64 job_id = 5;</code>
     */
    public long getJobId() {
      return jobId_;
    }

    public static final int SCHEMA_FIELD_NUMBER = 6;
    private java.lang.Object schema_;
    /**
     * <code>required string schema = 6;</code>
     */
    public boolean hasSchema() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * <code>required string schema = 6;</code>
     */
    public java.lang.String getSchema() {
      java.lang.Object ref = schema_;
      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()) {
          schema_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string schema = 6;</code>
     */
    public com.google.protobuf.ByteString
        getSchemaBytes() {
      java.lang.Object ref = schema_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        schema_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int REPORT_TYPE_FIELD_NUMBER = 7;
    private com.yahoo.maha.worker.proto.MahaWorkerReportingProto.ReportType reportType_;
    /**
     * <code>required .com.yahoo.maha.worker.proto.ReportType report_type = 7;</code>
     */
    public boolean hasReportType() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * <code>required .com.yahoo.maha.worker.proto.ReportType report_type = 7;</code>
     */
    public com.yahoo.maha.worker.proto.MahaWorkerReportingProto.ReportType getReportType() {
      return reportType_;
    }

    public static final int TIMEZONE_FIELD_NUMBER = 8;
    private java.lang.Object timezone_;
    /**
     * <code>optional string timezone = 8;</code>
     */
    public boolean hasTimezone() {
      return ((bitField0_ & 0x00000080) == 0x00000080);
    }
    /**
     * <code>optional string timezone = 8;</code>
     */
    public java.lang.String getTimezone() {
      java.lang.Object ref = timezone_;
      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()) {
          timezone_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string timezone = 8;</code>
     */
    public com.google.protobuf.ByteString
        getTimezoneBytes() {
      java.lang.Object ref = timezone_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        timezone_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int DRYRUN_FIELD_NUMBER = 9;
    private boolean dryrun_;
    /**
     * <code>optional bool dryrun = 9;</code>
     */
    public boolean hasDryrun() {
      return ((bitField0_ & 0x00000100) == 0x00000100);
    }
    /**
     * <code>optional bool dryrun = 9;</code>
     */
    public boolean getDryrun() {
      return dryrun_;
    }

    public static final int REVISION_FIELD_NUMBER = 10;
    private int revision_;
    /**
     * <code>optional int32 revision = 10;</code>
     */
    public boolean hasRevision() {
      return ((bitField0_ & 0x00000200) == 0x00000200);
    }
    /**
     * <code>optional int32 revision = 10;</code>
     */
    public int getRevision() {
      return revision_;
    }

    public static final int REQUESTSUBMITTEDTIME_FIELD_NUMBER = 11;
    private long requestSubmittedTime_;
    /**
     * <code>optional int64 requestSubmittedTime = 11;</code>
     */
    public boolean hasRequestSubmittedTime() {
      return ((bitField0_ & 0x00000400) == 0x00000400);
    }
    /**
     * <code>optional int64 requestSubmittedTime = 11;</code>
     */
    public long getRequestSubmittedTime() {
      return requestSubmittedTime_;
    }

    public static final int QUEUETYPE_FIELD_NUMBER = 12;
    private com.yahoo.maha.worker.proto.MahaWorkerReportingProto.QueueType queueType_;
    /**
     * <code>optional .com.yahoo.maha.worker.proto.QueueType queueType = 12;</code>
     */
    public boolean hasQueueType() {
      return ((bitField0_ & 0x00000800) == 0x00000800);
    }
    /**
     * <code>optional .com.yahoo.maha.worker.proto.QueueType queueType = 12;</code>
     */
    public com.yahoo.maha.worker.proto.MahaWorkerReportingProto.QueueType getQueueType() {
      return queueType_;
    }

    public static final int USERID_FIELD_NUMBER = 13;
    private java.lang.Object userId_;
    /**
     * <code>optional string userId = 13;</code>
     */
    public boolean hasUserId() {
      return ((bitField0_ & 0x00001000) == 0x00001000);
    }
    /**
     * <code>optional string userId = 13;</code>
     */
    public java.lang.String getUserId() {
      java.lang.Object ref = userId_;
      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()) {
          userId_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string userId = 13;</code>
     */
    public com.google.protobuf.ByteString
        getUserIdBytes() {
      java.lang.Object ref = userId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        userId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int DUALWRITE_FIELD_NUMBER = 14;
    private boolean dualWrite_;
    /**
     * <code>optional bool dualWrite = 14;</code>
     */
    public boolean hasDualWrite() {
      return ((bitField0_ & 0x00002000) == 0x00002000);
    }
    /**
     * <code>optional bool dualWrite = 14;</code>
     */
    public boolean getDualWrite() {
      return dualWrite_;
    }

    public static final int REGISTRY_NAME_FIELD_NUMBER = 15;
    private java.lang.Object registryName_;
    /**
     * <code>optional string registry_name = 15;</code>
     */
    public boolean hasRegistryName() {
      return ((bitField0_ & 0x00004000) == 0x00004000);
    }
    /**
     * <code>optional string registry_name = 15;</code>
     */
    public java.lang.String getRegistryName() {
      java.lang.Object ref = registryName_;
      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()) {
          registryName_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string registry_name = 15;</code>
     */
    public com.google.protobuf.ByteString
        getRegistryNameBytes() {
      java.lang.Object ref = registryName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        registryName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int QUERYGENVERSION_FIELD_NUMBER = 16;
    private int queryGenVersion_;
    /**
     * <code>optional int32 queryGenVersion = 16;</code>
     */
    public boolean hasQueryGenVersion() {
      return ((bitField0_ & 0x00008000) == 0x00008000);
    }
    /**
     * <code>optional int32 queryGenVersion = 16;</code>
     */
    public int getQueryGenVersion() {
      return queryGenVersion_;
    }

    public static final int JOBIDSTRING_FIELD_NUMBER = 17;
    private java.lang.Object jobIdString_;
    /**
     * <code>optional string jobIdString = 17;</code>
     */
    public boolean hasJobIdString() {
      return ((bitField0_ & 0x00010000) == 0x00010000);
    }
    /**
     * <code>optional string jobIdString = 17;</code>
     */
    public java.lang.String getJobIdString() {
      java.lang.Object ref = jobIdString_;
      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()) {
          jobIdString_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string jobIdString = 17;</code>
     */
    public com.google.protobuf.ByteString
        getJobIdStringBytes() {
      java.lang.Object ref = jobIdString_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        jobIdString_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private void initFields() {
      rawRequest_ = com.google.protobuf.ByteString.EMPTY;
      deliveryMethod_ = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.DeliveryMethod.EMAIL;
      queryEngine_ = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.QueryEngine.ORACLE;
      outputFormat_ = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.OutputFormat.CSV;
      jobId_ = 0L;
      schema_ = "";
      reportType_ = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.ReportType.AD_HOC;
      timezone_ = "";
      dryrun_ = false;
      revision_ = 0;
      requestSubmittedTime_ = 0L;
      queueType_ = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.QueueType.PULSAR;
      userId_ = "";
      dualWrite_ = false;
      registryName_ = "";
      queryGenVersion_ = 0;
      jobIdString_ = "";
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      if (!hasRawRequest()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasDeliveryMethod()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasQueryEngine()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasOutputFormat()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasJobId()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasSchema()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasReportType()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, rawRequest_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeEnum(2, deliveryMethod_.getNumber());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeEnum(3, queryEngine_.getNumber());
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeEnum(4, outputFormat_.getNumber());
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeInt64(5, jobId_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeBytes(6, getSchemaBytes());
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeEnum(7, reportType_.getNumber());
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        output.writeBytes(8, getTimezoneBytes());
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        output.writeBool(9, dryrun_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        output.writeInt32(10, revision_);
      }
      if (((bitField0_ & 0x00000400) == 0x00000400)) {
        output.writeInt64(11, requestSubmittedTime_);
      }
      if (((bitField0_ & 0x00000800) == 0x00000800)) {
        output.writeEnum(12, queueType_.getNumber());
      }
      if (((bitField0_ & 0x00001000) == 0x00001000)) {
        output.writeBytes(13, getUserIdBytes());
      }
      if (((bitField0_ & 0x00002000) == 0x00002000)) {
        output.writeBool(14, dualWrite_);
      }
      if (((bitField0_ & 0x00004000) == 0x00004000)) {
        output.writeBytes(15, getRegistryNameBytes());
      }
      if (((bitField0_ & 0x00008000) == 0x00008000)) {
        output.writeInt32(16, queryGenVersion_);
      }
      if (((bitField0_ & 0x00010000) == 0x00010000)) {
        output.writeBytes(17, getJobIdStringBytes());
      }
      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
          .computeBytesSize(1, rawRequest_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(2, deliveryMethod_.getNumber());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(3, queryEngine_.getNumber());
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(4, outputFormat_.getNumber());
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(5, jobId_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(6, getSchemaBytes());
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(7, reportType_.getNumber());
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(8, getTimezoneBytes());
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(9, dryrun_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(10, revision_);
      }
      if (((bitField0_ & 0x00000400) == 0x00000400)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(11, requestSubmittedTime_);
      }
      if (((bitField0_ & 0x00000800) == 0x00000800)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(12, queueType_.getNumber());
      }
      if (((bitField0_ & 0x00001000) == 0x00001000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(13, getUserIdBytes());
      }
      if (((bitField0_ & 0x00002000) == 0x00002000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(14, dualWrite_);
      }
      if (((bitField0_ & 0x00004000) == 0x00004000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(15, getRegistryNameBytes());
      }
      if (((bitField0_ & 0x00008000) == 0x00008000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(16, queryGenVersion_);
      }
      if (((bitField0_ & 0x00010000) == 0x00010000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(17, getJobIdStringBytes());
      }
      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 com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaCustomReportRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaCustomReportRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaCustomReportRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaCustomReportRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaCustomReportRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaCustomReportRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaCustomReportRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaCustomReportRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaCustomReportRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaCustomReportRequest 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(com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaCustomReportRequest 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 com.yahoo.maha.worker.proto.MahaCustomReportRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:com.yahoo.maha.worker.proto.MahaCustomReportRequest)
        com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaCustomReportRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.yahoo.maha.worker.proto.MahaWorkerReportingProto.internal_static_com_yahoo_maha_worker_proto_MahaCustomReportRequest_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.yahoo.maha.worker.proto.MahaWorkerReportingProto.internal_static_com_yahoo_maha_worker_proto_MahaCustomReportRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaCustomReportRequest.class, com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaCustomReportRequest.Builder.class);
      }

      // Construct using com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaCustomReportRequest.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();
        rawRequest_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        deliveryMethod_ = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.DeliveryMethod.EMAIL;
        bitField0_ = (bitField0_ & ~0x00000002);
        queryEngine_ = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.QueryEngine.ORACLE;
        bitField0_ = (bitField0_ & ~0x00000004);
        outputFormat_ = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.OutputFormat.CSV;
        bitField0_ = (bitField0_ & ~0x00000008);
        jobId_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000010);
        schema_ = "";
        bitField0_ = (bitField0_ & ~0x00000020);
        reportType_ = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.ReportType.AD_HOC;
        bitField0_ = (bitField0_ & ~0x00000040);
        timezone_ = "";
        bitField0_ = (bitField0_ & ~0x00000080);
        dryrun_ = false;
        bitField0_ = (bitField0_ & ~0x00000100);
        revision_ = 0;
        bitField0_ = (bitField0_ & ~0x00000200);
        requestSubmittedTime_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000400);
        queueType_ = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.QueueType.PULSAR;
        bitField0_ = (bitField0_ & ~0x00000800);
        userId_ = "";
        bitField0_ = (bitField0_ & ~0x00001000);
        dualWrite_ = false;
        bitField0_ = (bitField0_ & ~0x00002000);
        registryName_ = "";
        bitField0_ = (bitField0_ & ~0x00004000);
        queryGenVersion_ = 0;
        bitField0_ = (bitField0_ & ~0x00008000);
        jobIdString_ = "";
        bitField0_ = (bitField0_ & ~0x00010000);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.yahoo.maha.worker.proto.MahaWorkerReportingProto.internal_static_com_yahoo_maha_worker_proto_MahaCustomReportRequest_descriptor;
      }

      public com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaCustomReportRequest getDefaultInstanceForType() {
        return com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaCustomReportRequest.getDefaultInstance();
      }

      public com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaCustomReportRequest build() {
        com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaCustomReportRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaCustomReportRequest buildPartial() {
        com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaCustomReportRequest result = new com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaCustomReportRequest(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.rawRequest_ = rawRequest_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.deliveryMethod_ = deliveryMethod_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.queryEngine_ = queryEngine_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.outputFormat_ = outputFormat_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.jobId_ = jobId_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.schema_ = schema_;
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000040;
        }
        result.reportType_ = reportType_;
        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
          to_bitField0_ |= 0x00000080;
        }
        result.timezone_ = timezone_;
        if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
          to_bitField0_ |= 0x00000100;
        }
        result.dryrun_ = dryrun_;
        if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
          to_bitField0_ |= 0x00000200;
        }
        result.revision_ = revision_;
        if (((from_bitField0_ & 0x00000400) == 0x00000400)) {
          to_bitField0_ |= 0x00000400;
        }
        result.requestSubmittedTime_ = requestSubmittedTime_;
        if (((from_bitField0_ & 0x00000800) == 0x00000800)) {
          to_bitField0_ |= 0x00000800;
        }
        result.queueType_ = queueType_;
        if (((from_bitField0_ & 0x00001000) == 0x00001000)) {
          to_bitField0_ |= 0x00001000;
        }
        result.userId_ = userId_;
        if (((from_bitField0_ & 0x00002000) == 0x00002000)) {
          to_bitField0_ |= 0x00002000;
        }
        result.dualWrite_ = dualWrite_;
        if (((from_bitField0_ & 0x00004000) == 0x00004000)) {
          to_bitField0_ |= 0x00004000;
        }
        result.registryName_ = registryName_;
        if (((from_bitField0_ & 0x00008000) == 0x00008000)) {
          to_bitField0_ |= 0x00008000;
        }
        result.queryGenVersion_ = queryGenVersion_;
        if (((from_bitField0_ & 0x00010000) == 0x00010000)) {
          to_bitField0_ |= 0x00010000;
        }
        result.jobIdString_ = jobIdString_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaCustomReportRequest) {
          return mergeFrom((com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaCustomReportRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaCustomReportRequest other) {
        if (other == com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaCustomReportRequest.getDefaultInstance()) return this;
        if (other.hasRawRequest()) {
          setRawRequest(other.getRawRequest());
        }
        if (other.hasDeliveryMethod()) {
          setDeliveryMethod(other.getDeliveryMethod());
        }
        if (other.hasQueryEngine()) {
          setQueryEngine(other.getQueryEngine());
        }
        if (other.hasOutputFormat()) {
          setOutputFormat(other.getOutputFormat());
        }
        if (other.hasJobId()) {
          setJobId(other.getJobId());
        }
        if (other.hasSchema()) {
          bitField0_ |= 0x00000020;
          schema_ = other.schema_;
          onChanged();
        }
        if (other.hasReportType()) {
          setReportType(other.getReportType());
        }
        if (other.hasTimezone()) {
          bitField0_ |= 0x00000080;
          timezone_ = other.timezone_;
          onChanged();
        }
        if (other.hasDryrun()) {
          setDryrun(other.getDryrun());
        }
        if (other.hasRevision()) {
          setRevision(other.getRevision());
        }
        if (other.hasRequestSubmittedTime()) {
          setRequestSubmittedTime(other.getRequestSubmittedTime());
        }
        if (other.hasQueueType()) {
          setQueueType(other.getQueueType());
        }
        if (other.hasUserId()) {
          bitField0_ |= 0x00001000;
          userId_ = other.userId_;
          onChanged();
        }
        if (other.hasDualWrite()) {
          setDualWrite(other.getDualWrite());
        }
        if (other.hasRegistryName()) {
          bitField0_ |= 0x00004000;
          registryName_ = other.registryName_;
          onChanged();
        }
        if (other.hasQueryGenVersion()) {
          setQueryGenVersion(other.getQueryGenVersion());
        }
        if (other.hasJobIdString()) {
          bitField0_ |= 0x00010000;
          jobIdString_ = other.jobIdString_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasRawRequest()) {
          
          return false;
        }
        if (!hasDeliveryMethod()) {
          
          return false;
        }
        if (!hasQueryEngine()) {
          
          return false;
        }
        if (!hasOutputFormat()) {
          
          return false;
        }
        if (!hasJobId()) {
          
          return false;
        }
        if (!hasSchema()) {
          
          return false;
        }
        if (!hasReportType()) {
          
          return false;
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaCustomReportRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaCustomReportRequest) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private com.google.protobuf.ByteString rawRequest_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>required bytes raw_request = 1;</code>
       */
      public boolean hasRawRequest() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required bytes raw_request = 1;</code>
       */
      public com.google.protobuf.ByteString getRawRequest() {
        return rawRequest_;
      }
      /**
       * <code>required bytes raw_request = 1;</code>
       */
      public Builder setRawRequest(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        rawRequest_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required bytes raw_request = 1;</code>
       */
      public Builder clearRawRequest() {
        bitField0_ = (bitField0_ & ~0x00000001);
        rawRequest_ = getDefaultInstance().getRawRequest();
        onChanged();
        return this;
      }

      private com.yahoo.maha.worker.proto.MahaWorkerReportingProto.DeliveryMethod deliveryMethod_ = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.DeliveryMethod.EMAIL;
      /**
       * <code>required .com.yahoo.maha.worker.proto.DeliveryMethod delivery_method = 2;</code>
       */
      public boolean hasDeliveryMethod() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>required .com.yahoo.maha.worker.proto.DeliveryMethod delivery_method = 2;</code>
       */
      public com.yahoo.maha.worker.proto.MahaWorkerReportingProto.DeliveryMethod getDeliveryMethod() {
        return deliveryMethod_;
      }
      /**
       * <code>required .com.yahoo.maha.worker.proto.DeliveryMethod delivery_method = 2;</code>
       */
      public Builder setDeliveryMethod(com.yahoo.maha.worker.proto.MahaWorkerReportingProto.DeliveryMethod value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000002;
        deliveryMethod_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required .com.yahoo.maha.worker.proto.DeliveryMethod delivery_method = 2;</code>
       */
      public Builder clearDeliveryMethod() {
        bitField0_ = (bitField0_ & ~0x00000002);
        deliveryMethod_ = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.DeliveryMethod.EMAIL;
        onChanged();
        return this;
      }

      private com.yahoo.maha.worker.proto.MahaWorkerReportingProto.QueryEngine queryEngine_ = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.QueryEngine.ORACLE;
      /**
       * <code>required .com.yahoo.maha.worker.proto.QueryEngine query_engine = 3;</code>
       */
      public boolean hasQueryEngine() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>required .com.yahoo.maha.worker.proto.QueryEngine query_engine = 3;</code>
       */
      public com.yahoo.maha.worker.proto.MahaWorkerReportingProto.QueryEngine getQueryEngine() {
        return queryEngine_;
      }
      /**
       * <code>required .com.yahoo.maha.worker.proto.QueryEngine query_engine = 3;</code>
       */
      public Builder setQueryEngine(com.yahoo.maha.worker.proto.MahaWorkerReportingProto.QueryEngine value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000004;
        queryEngine_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required .com.yahoo.maha.worker.proto.QueryEngine query_engine = 3;</code>
       */
      public Builder clearQueryEngine() {
        bitField0_ = (bitField0_ & ~0x00000004);
        queryEngine_ = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.QueryEngine.ORACLE;
        onChanged();
        return this;
      }

      private com.yahoo.maha.worker.proto.MahaWorkerReportingProto.OutputFormat outputFormat_ = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.OutputFormat.CSV;
      /**
       * <code>required .com.yahoo.maha.worker.proto.OutputFormat output_format = 4;</code>
       */
      public boolean hasOutputFormat() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>required .com.yahoo.maha.worker.proto.OutputFormat output_format = 4;</code>
       */
      public com.yahoo.maha.worker.proto.MahaWorkerReportingProto.OutputFormat getOutputFormat() {
        return outputFormat_;
      }
      /**
       * <code>required .com.yahoo.maha.worker.proto.OutputFormat output_format = 4;</code>
       */
      public Builder setOutputFormat(com.yahoo.maha.worker.proto.MahaWorkerReportingProto.OutputFormat value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000008;
        outputFormat_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required .com.yahoo.maha.worker.proto.OutputFormat output_format = 4;</code>
       */
      public Builder clearOutputFormat() {
        bitField0_ = (bitField0_ & ~0x00000008);
        outputFormat_ = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.OutputFormat.CSV;
        onChanged();
        return this;
      }

      private long jobId_ ;
      /**
       * <code>required int64 job_id = 5;</code>
       */
      public boolean hasJobId() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <code>required int64 job_id = 5;</code>
       */
      public long getJobId() {
        return jobId_;
      }
      /**
       * <code>required int64 job_id = 5;</code>
       */
      public Builder setJobId(long value) {
        bitField0_ |= 0x00000010;
        jobId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required int64 job_id = 5;</code>
       */
      public Builder clearJobId() {
        bitField0_ = (bitField0_ & ~0x00000010);
        jobId_ = 0L;
        onChanged();
        return this;
      }

      private java.lang.Object schema_ = "";
      /**
       * <code>required string schema = 6;</code>
       */
      public boolean hasSchema() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * <code>required string schema = 6;</code>
       */
      public java.lang.String getSchema() {
        java.lang.Object ref = schema_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            schema_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string schema = 6;</code>
       */
      public com.google.protobuf.ByteString
          getSchemaBytes() {
        java.lang.Object ref = schema_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          schema_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>required string schema = 6;</code>
       */
      public Builder setSchema(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000020;
        schema_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required string schema = 6;</code>
       */
      public Builder clearSchema() {
        bitField0_ = (bitField0_ & ~0x00000020);
        schema_ = getDefaultInstance().getSchema();
        onChanged();
        return this;
      }
      /**
       * <code>required string schema = 6;</code>
       */
      public Builder setSchemaBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000020;
        schema_ = value;
        onChanged();
        return this;
      }

      private com.yahoo.maha.worker.proto.MahaWorkerReportingProto.ReportType reportType_ = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.ReportType.AD_HOC;
      /**
       * <code>required .com.yahoo.maha.worker.proto.ReportType report_type = 7;</code>
       */
      public boolean hasReportType() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * <code>required .com.yahoo.maha.worker.proto.ReportType report_type = 7;</code>
       */
      public com.yahoo.maha.worker.proto.MahaWorkerReportingProto.ReportType getReportType() {
        return reportType_;
      }
      /**
       * <code>required .com.yahoo.maha.worker.proto.ReportType report_type = 7;</code>
       */
      public Builder setReportType(com.yahoo.maha.worker.proto.MahaWorkerReportingProto.ReportType value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000040;
        reportType_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required .com.yahoo.maha.worker.proto.ReportType report_type = 7;</code>
       */
      public Builder clearReportType() {
        bitField0_ = (bitField0_ & ~0x00000040);
        reportType_ = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.ReportType.AD_HOC;
        onChanged();
        return this;
      }

      private java.lang.Object timezone_ = "";
      /**
       * <code>optional string timezone = 8;</code>
       */
      public boolean hasTimezone() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      /**
       * <code>optional string timezone = 8;</code>
       */
      public java.lang.String getTimezone() {
        java.lang.Object ref = timezone_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            timezone_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string timezone = 8;</code>
       */
      public com.google.protobuf.ByteString
          getTimezoneBytes() {
        java.lang.Object ref = timezone_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          timezone_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string timezone = 8;</code>
       */
      public Builder setTimezone(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000080;
        timezone_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string timezone = 8;</code>
       */
      public Builder clearTimezone() {
        bitField0_ = (bitField0_ & ~0x00000080);
        timezone_ = getDefaultInstance().getTimezone();
        onChanged();
        return this;
      }
      /**
       * <code>optional string timezone = 8;</code>
       */
      public Builder setTimezoneBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000080;
        timezone_ = value;
        onChanged();
        return this;
      }

      private boolean dryrun_ ;
      /**
       * <code>optional bool dryrun = 9;</code>
       */
      public boolean hasDryrun() {
        return ((bitField0_ & 0x00000100) == 0x00000100);
      }
      /**
       * <code>optional bool dryrun = 9;</code>
       */
      public boolean getDryrun() {
        return dryrun_;
      }
      /**
       * <code>optional bool dryrun = 9;</code>
       */
      public Builder setDryrun(boolean value) {
        bitField0_ |= 0x00000100;
        dryrun_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool dryrun = 9;</code>
       */
      public Builder clearDryrun() {
        bitField0_ = (bitField0_ & ~0x00000100);
        dryrun_ = false;
        onChanged();
        return this;
      }

      private int revision_ ;
      /**
       * <code>optional int32 revision = 10;</code>
       */
      public boolean hasRevision() {
        return ((bitField0_ & 0x00000200) == 0x00000200);
      }
      /**
       * <code>optional int32 revision = 10;</code>
       */
      public int getRevision() {
        return revision_;
      }
      /**
       * <code>optional int32 revision = 10;</code>
       */
      public Builder setRevision(int value) {
        bitField0_ |= 0x00000200;
        revision_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 revision = 10;</code>
       */
      public Builder clearRevision() {
        bitField0_ = (bitField0_ & ~0x00000200);
        revision_ = 0;
        onChanged();
        return this;
      }

      private long requestSubmittedTime_ ;
      /**
       * <code>optional int64 requestSubmittedTime = 11;</code>
       */
      public boolean hasRequestSubmittedTime() {
        return ((bitField0_ & 0x00000400) == 0x00000400);
      }
      /**
       * <code>optional int64 requestSubmittedTime = 11;</code>
       */
      public long getRequestSubmittedTime() {
        return requestSubmittedTime_;
      }
      /**
       * <code>optional int64 requestSubmittedTime = 11;</code>
       */
      public Builder setRequestSubmittedTime(long value) {
        bitField0_ |= 0x00000400;
        requestSubmittedTime_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int64 requestSubmittedTime = 11;</code>
       */
      public Builder clearRequestSubmittedTime() {
        bitField0_ = (bitField0_ & ~0x00000400);
        requestSubmittedTime_ = 0L;
        onChanged();
        return this;
      }

      private com.yahoo.maha.worker.proto.MahaWorkerReportingProto.QueueType queueType_ = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.QueueType.PULSAR;
      /**
       * <code>optional .com.yahoo.maha.worker.proto.QueueType queueType = 12;</code>
       */
      public boolean hasQueueType() {
        return ((bitField0_ & 0x00000800) == 0x00000800);
      }
      /**
       * <code>optional .com.yahoo.maha.worker.proto.QueueType queueType = 12;</code>
       */
      public com.yahoo.maha.worker.proto.MahaWorkerReportingProto.QueueType getQueueType() {
        return queueType_;
      }
      /**
       * <code>optional .com.yahoo.maha.worker.proto.QueueType queueType = 12;</code>
       */
      public Builder setQueueType(com.yahoo.maha.worker.proto.MahaWorkerReportingProto.QueueType value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000800;
        queueType_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional .com.yahoo.maha.worker.proto.QueueType queueType = 12;</code>
       */
      public Builder clearQueueType() {
        bitField0_ = (bitField0_ & ~0x00000800);
        queueType_ = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.QueueType.PULSAR;
        onChanged();
        return this;
      }

      private java.lang.Object userId_ = "";
      /**
       * <code>optional string userId = 13;</code>
       */
      public boolean hasUserId() {
        return ((bitField0_ & 0x00001000) == 0x00001000);
      }
      /**
       * <code>optional string userId = 13;</code>
       */
      public java.lang.String getUserId() {
        java.lang.Object ref = userId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            userId_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string userId = 13;</code>
       */
      public com.google.protobuf.ByteString
          getUserIdBytes() {
        java.lang.Object ref = userId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          userId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string userId = 13;</code>
       */
      public Builder setUserId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00001000;
        userId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string userId = 13;</code>
       */
      public Builder clearUserId() {
        bitField0_ = (bitField0_ & ~0x00001000);
        userId_ = getDefaultInstance().getUserId();
        onChanged();
        return this;
      }
      /**
       * <code>optional string userId = 13;</code>
       */
      public Builder setUserIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00001000;
        userId_ = value;
        onChanged();
        return this;
      }

      private boolean dualWrite_ ;
      /**
       * <code>optional bool dualWrite = 14;</code>
       */
      public boolean hasDualWrite() {
        return ((bitField0_ & 0x00002000) == 0x00002000);
      }
      /**
       * <code>optional bool dualWrite = 14;</code>
       */
      public boolean getDualWrite() {
        return dualWrite_;
      }
      /**
       * <code>optional bool dualWrite = 14;</code>
       */
      public Builder setDualWrite(boolean value) {
        bitField0_ |= 0x00002000;
        dualWrite_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool dualWrite = 14;</code>
       */
      public Builder clearDualWrite() {
        bitField0_ = (bitField0_ & ~0x00002000);
        dualWrite_ = false;
        onChanged();
        return this;
      }

      private java.lang.Object registryName_ = "";
      /**
       * <code>optional string registry_name = 15;</code>
       */
      public boolean hasRegistryName() {
        return ((bitField0_ & 0x00004000) == 0x00004000);
      }
      /**
       * <code>optional string registry_name = 15;</code>
       */
      public java.lang.String getRegistryName() {
        java.lang.Object ref = registryName_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            registryName_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string registry_name = 15;</code>
       */
      public com.google.protobuf.ByteString
          getRegistryNameBytes() {
        java.lang.Object ref = registryName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          registryName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string registry_name = 15;</code>
       */
      public Builder setRegistryName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00004000;
        registryName_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string registry_name = 15;</code>
       */
      public Builder clearRegistryName() {
        bitField0_ = (bitField0_ & ~0x00004000);
        registryName_ = getDefaultInstance().getRegistryName();
        onChanged();
        return this;
      }
      /**
       * <code>optional string registry_name = 15;</code>
       */
      public Builder setRegistryNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00004000;
        registryName_ = value;
        onChanged();
        return this;
      }

      private int queryGenVersion_ ;
      /**
       * <code>optional int32 queryGenVersion = 16;</code>
       */
      public boolean hasQueryGenVersion() {
        return ((bitField0_ & 0x00008000) == 0x00008000);
      }
      /**
       * <code>optional int32 queryGenVersion = 16;</code>
       */
      public int getQueryGenVersion() {
        return queryGenVersion_;
      }
      /**
       * <code>optional int32 queryGenVersion = 16;</code>
       */
      public Builder setQueryGenVersion(int value) {
        bitField0_ |= 0x00008000;
        queryGenVersion_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 queryGenVersion = 16;</code>
       */
      public Builder clearQueryGenVersion() {
        bitField0_ = (bitField0_ & ~0x00008000);
        queryGenVersion_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object jobIdString_ = "";
      /**
       * <code>optional string jobIdString = 17;</code>
       */
      public boolean hasJobIdString() {
        return ((bitField0_ & 0x00010000) == 0x00010000);
      }
      /**
       * <code>optional string jobIdString = 17;</code>
       */
      public java.lang.String getJobIdString() {
        java.lang.Object ref = jobIdString_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            jobIdString_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string jobIdString = 17;</code>
       */
      public com.google.protobuf.ByteString
          getJobIdStringBytes() {
        java.lang.Object ref = jobIdString_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          jobIdString_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string jobIdString = 17;</code>
       */
      public Builder setJobIdString(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00010000;
        jobIdString_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string jobIdString = 17;</code>
       */
      public Builder clearJobIdString() {
        bitField0_ = (bitField0_ & ~0x00010000);
        jobIdString_ = getDefaultInstance().getJobIdString();
        onChanged();
        return this;
      }
      /**
       * <code>optional string jobIdString = 17;</code>
       */
      public Builder setJobIdStringBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00010000;
        jobIdString_ = value;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:com.yahoo.maha.worker.proto.MahaCustomReportRequest)
    }

    static {
      defaultInstance = new MahaCustomReportRequest(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:com.yahoo.maha.worker.proto.MahaCustomReportRequest)
  }

  public interface MahaProcessedReportOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.yahoo.maha.worker.proto.MahaProcessedReport)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>required int64 job_id = 1;</code>
     */
    boolean hasJobId();
    /**
     * <code>required int64 job_id = 1;</code>
     */
    long getJobId();

    /**
     * <code>required .com.yahoo.maha.worker.proto.DeliveryMethod delivery_method = 2;</code>
     */
    boolean hasDeliveryMethod();
    /**
     * <code>required .com.yahoo.maha.worker.proto.DeliveryMethod delivery_method = 2;</code>
     */
    com.yahoo.maha.worker.proto.MahaWorkerReportingProto.DeliveryMethod getDeliveryMethod();

    /**
     * <code>required .com.yahoo.maha.worker.proto.OutputFormat output_format = 3;</code>
     */
    boolean hasOutputFormat();
    /**
     * <code>required .com.yahoo.maha.worker.proto.OutputFormat output_format = 3;</code>
     */
    com.yahoo.maha.worker.proto.MahaWorkerReportingProto.OutputFormat getOutputFormat();

    /**
     * <code>required bytes raw_request = 4;</code>
     */
    boolean hasRawRequest();
    /**
     * <code>required bytes raw_request = 4;</code>
     */
    com.google.protobuf.ByteString getRawRequest();

    /**
     * <code>required string schema = 5;</code>
     */
    boolean hasSchema();
    /**
     * <code>required string schema = 5;</code>
     */
    java.lang.String getSchema();
    /**
     * <code>required string schema = 5;</code>
     */
    com.google.protobuf.ByteString
        getSchemaBytes();

    /**
     * <code>required string job_response = 6;</code>
     */
    boolean hasJobResponse();
    /**
     * <code>required string job_response = 6;</code>
     */
    java.lang.String getJobResponse();
    /**
     * <code>required string job_response = 6;</code>
     */
    com.google.protobuf.ByteString
        getJobResponseBytes();

    /**
     * <code>optional bool dryrun = 7;</code>
     */
    boolean hasDryrun();
    /**
     * <code>optional bool dryrun = 7;</code>
     */
    boolean getDryrun();

    /**
     * <code>optional .com.yahoo.maha.worker.proto.QueueType queueType = 8;</code>
     */
    boolean hasQueueType();
    /**
     * <code>optional .com.yahoo.maha.worker.proto.QueueType queueType = 8;</code>
     */
    com.yahoo.maha.worker.proto.MahaWorkerReportingProto.QueueType getQueueType();

    /**
     * <code>optional string userId = 9;</code>
     */
    boolean hasUserId();
    /**
     * <code>optional string userId = 9;</code>
     */
    java.lang.String getUserId();
    /**
     * <code>optional string userId = 9;</code>
     */
    com.google.protobuf.ByteString
        getUserIdBytes();

    /**
     * <code>optional bool dualWrite = 10;</code>
     */
    boolean hasDualWrite();
    /**
     * <code>optional bool dualWrite = 10;</code>
     */
    boolean getDualWrite();

    /**
     * <code>optional string registry_name = 11;</code>
     */
    boolean hasRegistryName();
    /**
     * <code>optional string registry_name = 11;</code>
     */
    java.lang.String getRegistryName();
    /**
     * <code>optional string registry_name = 11;</code>
     */
    com.google.protobuf.ByteString
        getRegistryNameBytes();

    /**
     * <code>optional string jobIdString = 12;</code>
     */
    boolean hasJobIdString();
    /**
     * <code>optional string jobIdString = 12;</code>
     */
    java.lang.String getJobIdString();
    /**
     * <code>optional string jobIdString = 12;</code>
     */
    com.google.protobuf.ByteString
        getJobIdStringBytes();
  }
  /**
   * Protobuf type {@code com.yahoo.maha.worker.proto.MahaProcessedReport}
   */
  public static final class MahaProcessedReport extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:com.yahoo.maha.worker.proto.MahaProcessedReport)
      MahaProcessedReportOrBuilder {
    // Use MahaProcessedReport.newBuilder() to construct.
    private MahaProcessedReport(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private MahaProcessedReport(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final MahaProcessedReport defaultInstance;
    public static MahaProcessedReport getDefaultInstance() {
      return defaultInstance;
    }

    public MahaProcessedReport getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private MahaProcessedReport(
        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;
              jobId_ = input.readInt64();
              break;
            }
            case 16: {
              int rawValue = input.readEnum();
              com.yahoo.maha.worker.proto.MahaWorkerReportingProto.DeliveryMethod value = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.DeliveryMethod.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(2, rawValue);
              } else {
                bitField0_ |= 0x00000002;
                deliveryMethod_ = value;
              }
              break;
            }
            case 24: {
              int rawValue = input.readEnum();
              com.yahoo.maha.worker.proto.MahaWorkerReportingProto.OutputFormat value = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.OutputFormat.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(3, rawValue);
              } else {
                bitField0_ |= 0x00000004;
                outputFormat_ = value;
              }
              break;
            }
            case 34: {
              bitField0_ |= 0x00000008;
              rawRequest_ = input.readBytes();
              break;
            }
            case 42: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000010;
              schema_ = bs;
              break;
            }
            case 50: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000020;
              jobResponse_ = bs;
              break;
            }
            case 56: {
              bitField0_ |= 0x00000040;
              dryrun_ = input.readBool();
              break;
            }
            case 64: {
              int rawValue = input.readEnum();
              com.yahoo.maha.worker.proto.MahaWorkerReportingProto.QueueType value = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.QueueType.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(8, rawValue);
              } else {
                bitField0_ |= 0x00000080;
                queueType_ = value;
              }
              break;
            }
            case 74: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000100;
              userId_ = bs;
              break;
            }
            case 80: {
              bitField0_ |= 0x00000200;
              dualWrite_ = input.readBool();
              break;
            }
            case 90: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000400;
              registryName_ = bs;
              break;
            }
            case 98: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000800;
              jobIdString_ = bs;
              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 com.yahoo.maha.worker.proto.MahaWorkerReportingProto.internal_static_com_yahoo_maha_worker_proto_MahaProcessedReport_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.yahoo.maha.worker.proto.MahaWorkerReportingProto.internal_static_com_yahoo_maha_worker_proto_MahaProcessedReport_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaProcessedReport.class, com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaProcessedReport.Builder.class);
    }

    public static com.google.protobuf.Parser<MahaProcessedReport> PARSER =
        new com.google.protobuf.AbstractParser<MahaProcessedReport>() {
      public MahaProcessedReport parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new MahaProcessedReport(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<MahaProcessedReport> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    public static final int JOB_ID_FIELD_NUMBER = 1;
    private long jobId_;
    /**
     * <code>required int64 job_id = 1;</code>
     */
    public boolean hasJobId() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>required int64 job_id = 1;</code>
     */
    public long getJobId() {
      return jobId_;
    }

    public static final int DELIVERY_METHOD_FIELD_NUMBER = 2;
    private com.yahoo.maha.worker.proto.MahaWorkerReportingProto.DeliveryMethod deliveryMethod_;
    /**
     * <code>required .com.yahoo.maha.worker.proto.DeliveryMethod delivery_method = 2;</code>
     */
    public boolean hasDeliveryMethod() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>required .com.yahoo.maha.worker.proto.DeliveryMethod delivery_method = 2;</code>
     */
    public com.yahoo.maha.worker.proto.MahaWorkerReportingProto.DeliveryMethod getDeliveryMethod() {
      return deliveryMethod_;
    }

    public static final int OUTPUT_FORMAT_FIELD_NUMBER = 3;
    private com.yahoo.maha.worker.proto.MahaWorkerReportingProto.OutputFormat outputFormat_;
    /**
     * <code>required .com.yahoo.maha.worker.proto.OutputFormat output_format = 3;</code>
     */
    public boolean hasOutputFormat() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>required .com.yahoo.maha.worker.proto.OutputFormat output_format = 3;</code>
     */
    public com.yahoo.maha.worker.proto.MahaWorkerReportingProto.OutputFormat getOutputFormat() {
      return outputFormat_;
    }

    public static final int RAW_REQUEST_FIELD_NUMBER = 4;
    private com.google.protobuf.ByteString rawRequest_;
    /**
     * <code>required bytes raw_request = 4;</code>
     */
    public boolean hasRawRequest() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <code>required bytes raw_request = 4;</code>
     */
    public com.google.protobuf.ByteString getRawRequest() {
      return rawRequest_;
    }

    public static final int SCHEMA_FIELD_NUMBER = 5;
    private java.lang.Object schema_;
    /**
     * <code>required string schema = 5;</code>
     */
    public boolean hasSchema() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * <code>required string schema = 5;</code>
     */
    public java.lang.String getSchema() {
      java.lang.Object ref = schema_;
      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()) {
          schema_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string schema = 5;</code>
     */
    public com.google.protobuf.ByteString
        getSchemaBytes() {
      java.lang.Object ref = schema_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        schema_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int JOB_RESPONSE_FIELD_NUMBER = 6;
    private java.lang.Object jobResponse_;
    /**
     * <code>required string job_response = 6;</code>
     */
    public boolean hasJobResponse() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * <code>required string job_response = 6;</code>
     */
    public java.lang.String getJobResponse() {
      java.lang.Object ref = jobResponse_;
      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()) {
          jobResponse_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string job_response = 6;</code>
     */
    public com.google.protobuf.ByteString
        getJobResponseBytes() {
      java.lang.Object ref = jobResponse_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        jobResponse_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int DRYRUN_FIELD_NUMBER = 7;
    private boolean dryrun_;
    /**
     * <code>optional bool dryrun = 7;</code>
     */
    public boolean hasDryrun() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * <code>optional bool dryrun = 7;</code>
     */
    public boolean getDryrun() {
      return dryrun_;
    }

    public static final int QUEUETYPE_FIELD_NUMBER = 8;
    private com.yahoo.maha.worker.proto.MahaWorkerReportingProto.QueueType queueType_;
    /**
     * <code>optional .com.yahoo.maha.worker.proto.QueueType queueType = 8;</code>
     */
    public boolean hasQueueType() {
      return ((bitField0_ & 0x00000080) == 0x00000080);
    }
    /**
     * <code>optional .com.yahoo.maha.worker.proto.QueueType queueType = 8;</code>
     */
    public com.yahoo.maha.worker.proto.MahaWorkerReportingProto.QueueType getQueueType() {
      return queueType_;
    }

    public static final int USERID_FIELD_NUMBER = 9;
    private java.lang.Object userId_;
    /**
     * <code>optional string userId = 9;</code>
     */
    public boolean hasUserId() {
      return ((bitField0_ & 0x00000100) == 0x00000100);
    }
    /**
     * <code>optional string userId = 9;</code>
     */
    public java.lang.String getUserId() {
      java.lang.Object ref = userId_;
      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()) {
          userId_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string userId = 9;</code>
     */
    public com.google.protobuf.ByteString
        getUserIdBytes() {
      java.lang.Object ref = userId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        userId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int DUALWRITE_FIELD_NUMBER = 10;
    private boolean dualWrite_;
    /**
     * <code>optional bool dualWrite = 10;</code>
     */
    public boolean hasDualWrite() {
      return ((bitField0_ & 0x00000200) == 0x00000200);
    }
    /**
     * <code>optional bool dualWrite = 10;</code>
     */
    public boolean getDualWrite() {
      return dualWrite_;
    }

    public static final int REGISTRY_NAME_FIELD_NUMBER = 11;
    private java.lang.Object registryName_;
    /**
     * <code>optional string registry_name = 11;</code>
     */
    public boolean hasRegistryName() {
      return ((bitField0_ & 0x00000400) == 0x00000400);
    }
    /**
     * <code>optional string registry_name = 11;</code>
     */
    public java.lang.String getRegistryName() {
      java.lang.Object ref = registryName_;
      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()) {
          registryName_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string registry_name = 11;</code>
     */
    public com.google.protobuf.ByteString
        getRegistryNameBytes() {
      java.lang.Object ref = registryName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        registryName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int JOBIDSTRING_FIELD_NUMBER = 12;
    private java.lang.Object jobIdString_;
    /**
     * <code>optional string jobIdString = 12;</code>
     */
    public boolean hasJobIdString() {
      return ((bitField0_ & 0x00000800) == 0x00000800);
    }
    /**
     * <code>optional string jobIdString = 12;</code>
     */
    public java.lang.String getJobIdString() {
      java.lang.Object ref = jobIdString_;
      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()) {
          jobIdString_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string jobIdString = 12;</code>
     */
    public com.google.protobuf.ByteString
        getJobIdStringBytes() {
      java.lang.Object ref = jobIdString_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        jobIdString_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private void initFields() {
      jobId_ = 0L;
      deliveryMethod_ = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.DeliveryMethod.EMAIL;
      outputFormat_ = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.OutputFormat.CSV;
      rawRequest_ = com.google.protobuf.ByteString.EMPTY;
      schema_ = "";
      jobResponse_ = "";
      dryrun_ = false;
      queueType_ = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.QueueType.PULSAR;
      userId_ = "";
      dualWrite_ = false;
      registryName_ = "";
      jobIdString_ = "";
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      if (!hasJobId()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasDeliveryMethod()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasOutputFormat()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasRawRequest()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasSchema()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasJobResponse()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt64(1, jobId_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeEnum(2, deliveryMethod_.getNumber());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeEnum(3, outputFormat_.getNumber());
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeBytes(4, rawRequest_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeBytes(5, getSchemaBytes());
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeBytes(6, getJobResponseBytes());
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeBool(7, dryrun_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        output.writeEnum(8, queueType_.getNumber());
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        output.writeBytes(9, getUserIdBytes());
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        output.writeBool(10, dualWrite_);
      }
      if (((bitField0_ & 0x00000400) == 0x00000400)) {
        output.writeBytes(11, getRegistryNameBytes());
      }
      if (((bitField0_ & 0x00000800) == 0x00000800)) {
        output.writeBytes(12, getJobIdStringBytes());
      }
      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, jobId_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(2, deliveryMethod_.getNumber());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(3, outputFormat_.getNumber());
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(4, rawRequest_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(5, getSchemaBytes());
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(6, getJobResponseBytes());
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(7, dryrun_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(8, queueType_.getNumber());
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(9, getUserIdBytes());
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(10, dualWrite_);
      }
      if (((bitField0_ & 0x00000400) == 0x00000400)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(11, getRegistryNameBytes());
      }
      if (((bitField0_ & 0x00000800) == 0x00000800)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(12, getJobIdStringBytes());
      }
      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 com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaProcessedReport parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaProcessedReport parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaProcessedReport parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaProcessedReport parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaProcessedReport parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaProcessedReport parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaProcessedReport parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaProcessedReport parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaProcessedReport parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaProcessedReport 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(com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaProcessedReport 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 com.yahoo.maha.worker.proto.MahaProcessedReport}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:com.yahoo.maha.worker.proto.MahaProcessedReport)
        com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaProcessedReportOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.yahoo.maha.worker.proto.MahaWorkerReportingProto.internal_static_com_yahoo_maha_worker_proto_MahaProcessedReport_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.yahoo.maha.worker.proto.MahaWorkerReportingProto.internal_static_com_yahoo_maha_worker_proto_MahaProcessedReport_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaProcessedReport.class, com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaProcessedReport.Builder.class);
      }

      // Construct using com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaProcessedReport.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();
        jobId_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000001);
        deliveryMethod_ = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.DeliveryMethod.EMAIL;
        bitField0_ = (bitField0_ & ~0x00000002);
        outputFormat_ = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.OutputFormat.CSV;
        bitField0_ = (bitField0_ & ~0x00000004);
        rawRequest_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000008);
        schema_ = "";
        bitField0_ = (bitField0_ & ~0x00000010);
        jobResponse_ = "";
        bitField0_ = (bitField0_ & ~0x00000020);
        dryrun_ = false;
        bitField0_ = (bitField0_ & ~0x00000040);
        queueType_ = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.QueueType.PULSAR;
        bitField0_ = (bitField0_ & ~0x00000080);
        userId_ = "";
        bitField0_ = (bitField0_ & ~0x00000100);
        dualWrite_ = false;
        bitField0_ = (bitField0_ & ~0x00000200);
        registryName_ = "";
        bitField0_ = (bitField0_ & ~0x00000400);
        jobIdString_ = "";
        bitField0_ = (bitField0_ & ~0x00000800);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.yahoo.maha.worker.proto.MahaWorkerReportingProto.internal_static_com_yahoo_maha_worker_proto_MahaProcessedReport_descriptor;
      }

      public com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaProcessedReport getDefaultInstanceForType() {
        return com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaProcessedReport.getDefaultInstance();
      }

      public com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaProcessedReport build() {
        com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaProcessedReport result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaProcessedReport buildPartial() {
        com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaProcessedReport result = new com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaProcessedReport(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.jobId_ = jobId_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.deliveryMethod_ = deliveryMethod_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.outputFormat_ = outputFormat_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.rawRequest_ = rawRequest_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.schema_ = schema_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.jobResponse_ = jobResponse_;
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000040;
        }
        result.dryrun_ = dryrun_;
        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
          to_bitField0_ |= 0x00000080;
        }
        result.queueType_ = queueType_;
        if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
          to_bitField0_ |= 0x00000100;
        }
        result.userId_ = userId_;
        if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
          to_bitField0_ |= 0x00000200;
        }
        result.dualWrite_ = dualWrite_;
        if (((from_bitField0_ & 0x00000400) == 0x00000400)) {
          to_bitField0_ |= 0x00000400;
        }
        result.registryName_ = registryName_;
        if (((from_bitField0_ & 0x00000800) == 0x00000800)) {
          to_bitField0_ |= 0x00000800;
        }
        result.jobIdString_ = jobIdString_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaProcessedReport) {
          return mergeFrom((com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaProcessedReport)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaProcessedReport other) {
        if (other == com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaProcessedReport.getDefaultInstance()) return this;
        if (other.hasJobId()) {
          setJobId(other.getJobId());
        }
        if (other.hasDeliveryMethod()) {
          setDeliveryMethod(other.getDeliveryMethod());
        }
        if (other.hasOutputFormat()) {
          setOutputFormat(other.getOutputFormat());
        }
        if (other.hasRawRequest()) {
          setRawRequest(other.getRawRequest());
        }
        if (other.hasSchema()) {
          bitField0_ |= 0x00000010;
          schema_ = other.schema_;
          onChanged();
        }
        if (other.hasJobResponse()) {
          bitField0_ |= 0x00000020;
          jobResponse_ = other.jobResponse_;
          onChanged();
        }
        if (other.hasDryrun()) {
          setDryrun(other.getDryrun());
        }
        if (other.hasQueueType()) {
          setQueueType(other.getQueueType());
        }
        if (other.hasUserId()) {
          bitField0_ |= 0x00000100;
          userId_ = other.userId_;
          onChanged();
        }
        if (other.hasDualWrite()) {
          setDualWrite(other.getDualWrite());
        }
        if (other.hasRegistryName()) {
          bitField0_ |= 0x00000400;
          registryName_ = other.registryName_;
          onChanged();
        }
        if (other.hasJobIdString()) {
          bitField0_ |= 0x00000800;
          jobIdString_ = other.jobIdString_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasJobId()) {
          
          return false;
        }
        if (!hasDeliveryMethod()) {
          
          return false;
        }
        if (!hasOutputFormat()) {
          
          return false;
        }
        if (!hasRawRequest()) {
          
          return false;
        }
        if (!hasSchema()) {
          
          return false;
        }
        if (!hasJobResponse()) {
          
          return false;
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaProcessedReport parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.yahoo.maha.worker.proto.MahaWorkerReportingProto.MahaProcessedReport) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private long jobId_ ;
      /**
       * <code>required int64 job_id = 1;</code>
       */
      public boolean hasJobId() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required int64 job_id = 1;</code>
       */
      public long getJobId() {
        return jobId_;
      }
      /**
       * <code>required int64 job_id = 1;</code>
       */
      public Builder setJobId(long value) {
        bitField0_ |= 0x00000001;
        jobId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required int64 job_id = 1;</code>
       */
      public Builder clearJobId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        jobId_ = 0L;
        onChanged();
        return this;
      }

      private com.yahoo.maha.worker.proto.MahaWorkerReportingProto.DeliveryMethod deliveryMethod_ = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.DeliveryMethod.EMAIL;
      /**
       * <code>required .com.yahoo.maha.worker.proto.DeliveryMethod delivery_method = 2;</code>
       */
      public boolean hasDeliveryMethod() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>required .com.yahoo.maha.worker.proto.DeliveryMethod delivery_method = 2;</code>
       */
      public com.yahoo.maha.worker.proto.MahaWorkerReportingProto.DeliveryMethod getDeliveryMethod() {
        return deliveryMethod_;
      }
      /**
       * <code>required .com.yahoo.maha.worker.proto.DeliveryMethod delivery_method = 2;</code>
       */
      public Builder setDeliveryMethod(com.yahoo.maha.worker.proto.MahaWorkerReportingProto.DeliveryMethod value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000002;
        deliveryMethod_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required .com.yahoo.maha.worker.proto.DeliveryMethod delivery_method = 2;</code>
       */
      public Builder clearDeliveryMethod() {
        bitField0_ = (bitField0_ & ~0x00000002);
        deliveryMethod_ = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.DeliveryMethod.EMAIL;
        onChanged();
        return this;
      }

      private com.yahoo.maha.worker.proto.MahaWorkerReportingProto.OutputFormat outputFormat_ = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.OutputFormat.CSV;
      /**
       * <code>required .com.yahoo.maha.worker.proto.OutputFormat output_format = 3;</code>
       */
      public boolean hasOutputFormat() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>required .com.yahoo.maha.worker.proto.OutputFormat output_format = 3;</code>
       */
      public com.yahoo.maha.worker.proto.MahaWorkerReportingProto.OutputFormat getOutputFormat() {
        return outputFormat_;
      }
      /**
       * <code>required .com.yahoo.maha.worker.proto.OutputFormat output_format = 3;</code>
       */
      public Builder setOutputFormat(com.yahoo.maha.worker.proto.MahaWorkerReportingProto.OutputFormat value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000004;
        outputFormat_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required .com.yahoo.maha.worker.proto.OutputFormat output_format = 3;</code>
       */
      public Builder clearOutputFormat() {
        bitField0_ = (bitField0_ & ~0x00000004);
        outputFormat_ = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.OutputFormat.CSV;
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString rawRequest_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>required bytes raw_request = 4;</code>
       */
      public boolean hasRawRequest() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>required bytes raw_request = 4;</code>
       */
      public com.google.protobuf.ByteString getRawRequest() {
        return rawRequest_;
      }
      /**
       * <code>required bytes raw_request = 4;</code>
       */
      public Builder setRawRequest(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        rawRequest_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required bytes raw_request = 4;</code>
       */
      public Builder clearRawRequest() {
        bitField0_ = (bitField0_ & ~0x00000008);
        rawRequest_ = getDefaultInstance().getRawRequest();
        onChanged();
        return this;
      }

      private java.lang.Object schema_ = "";
      /**
       * <code>required string schema = 5;</code>
       */
      public boolean hasSchema() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <code>required string schema = 5;</code>
       */
      public java.lang.String getSchema() {
        java.lang.Object ref = schema_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            schema_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string schema = 5;</code>
       */
      public com.google.protobuf.ByteString
          getSchemaBytes() {
        java.lang.Object ref = schema_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          schema_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>required string schema = 5;</code>
       */
      public Builder setSchema(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000010;
        schema_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required string schema = 5;</code>
       */
      public Builder clearSchema() {
        bitField0_ = (bitField0_ & ~0x00000010);
        schema_ = getDefaultInstance().getSchema();
        onChanged();
        return this;
      }
      /**
       * <code>required string schema = 5;</code>
       */
      public Builder setSchemaBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000010;
        schema_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object jobResponse_ = "";
      /**
       * <code>required string job_response = 6;</code>
       */
      public boolean hasJobResponse() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * <code>required string job_response = 6;</code>
       */
      public java.lang.String getJobResponse() {
        java.lang.Object ref = jobResponse_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            jobResponse_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string job_response = 6;</code>
       */
      public com.google.protobuf.ByteString
          getJobResponseBytes() {
        java.lang.Object ref = jobResponse_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          jobResponse_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>required string job_response = 6;</code>
       */
      public Builder setJobResponse(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000020;
        jobResponse_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required string job_response = 6;</code>
       */
      public Builder clearJobResponse() {
        bitField0_ = (bitField0_ & ~0x00000020);
        jobResponse_ = getDefaultInstance().getJobResponse();
        onChanged();
        return this;
      }
      /**
       * <code>required string job_response = 6;</code>
       */
      public Builder setJobResponseBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000020;
        jobResponse_ = value;
        onChanged();
        return this;
      }

      private boolean dryrun_ ;
      /**
       * <code>optional bool dryrun = 7;</code>
       */
      public boolean hasDryrun() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * <code>optional bool dryrun = 7;</code>
       */
      public boolean getDryrun() {
        return dryrun_;
      }
      /**
       * <code>optional bool dryrun = 7;</code>
       */
      public Builder setDryrun(boolean value) {
        bitField0_ |= 0x00000040;
        dryrun_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool dryrun = 7;</code>
       */
      public Builder clearDryrun() {
        bitField0_ = (bitField0_ & ~0x00000040);
        dryrun_ = false;
        onChanged();
        return this;
      }

      private com.yahoo.maha.worker.proto.MahaWorkerReportingProto.QueueType queueType_ = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.QueueType.PULSAR;
      /**
       * <code>optional .com.yahoo.maha.worker.proto.QueueType queueType = 8;</code>
       */
      public boolean hasQueueType() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      /**
       * <code>optional .com.yahoo.maha.worker.proto.QueueType queueType = 8;</code>
       */
      public com.yahoo.maha.worker.proto.MahaWorkerReportingProto.QueueType getQueueType() {
        return queueType_;
      }
      /**
       * <code>optional .com.yahoo.maha.worker.proto.QueueType queueType = 8;</code>
       */
      public Builder setQueueType(com.yahoo.maha.worker.proto.MahaWorkerReportingProto.QueueType value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000080;
        queueType_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional .com.yahoo.maha.worker.proto.QueueType queueType = 8;</code>
       */
      public Builder clearQueueType() {
        bitField0_ = (bitField0_ & ~0x00000080);
        queueType_ = com.yahoo.maha.worker.proto.MahaWorkerReportingProto.QueueType.PULSAR;
        onChanged();
        return this;
      }

      private java.lang.Object userId_ = "";
      /**
       * <code>optional string userId = 9;</code>
       */
      public boolean hasUserId() {
        return ((bitField0_ & 0x00000100) == 0x00000100);
      }
      /**
       * <code>optional string userId = 9;</code>
       */
      public java.lang.String getUserId() {
        java.lang.Object ref = userId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            userId_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string userId = 9;</code>
       */
      public com.google.protobuf.ByteString
          getUserIdBytes() {
        java.lang.Object ref = userId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          userId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string userId = 9;</code>
       */
      public Builder setUserId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000100;
        userId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string userId = 9;</code>
       */
      public Builder clearUserId() {
        bitField0_ = (bitField0_ & ~0x00000100);
        userId_ = getDefaultInstance().getUserId();
        onChanged();
        return this;
      }
      /**
       * <code>optional string userId = 9;</code>
       */
      public Builder setUserIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000100;
        userId_ = value;
        onChanged();
        return this;
      }

      private boolean dualWrite_ ;
      /**
       * <code>optional bool dualWrite = 10;</code>
       */
      public boolean hasDualWrite() {
        return ((bitField0_ & 0x00000200) == 0x00000200);
      }
      /**
       * <code>optional bool dualWrite = 10;</code>
       */
      public boolean getDualWrite() {
        return dualWrite_;
      }
      /**
       * <code>optional bool dualWrite = 10;</code>
       */
      public Builder setDualWrite(boolean value) {
        bitField0_ |= 0x00000200;
        dualWrite_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool dualWrite = 10;</code>
       */
      public Builder clearDualWrite() {
        bitField0_ = (bitField0_ & ~0x00000200);
        dualWrite_ = false;
        onChanged();
        return this;
      }

      private java.lang.Object registryName_ = "";
      /**
       * <code>optional string registry_name = 11;</code>
       */
      public boolean hasRegistryName() {
        return ((bitField0_ & 0x00000400) == 0x00000400);
      }
      /**
       * <code>optional string registry_name = 11;</code>
       */
      public java.lang.String getRegistryName() {
        java.lang.Object ref = registryName_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            registryName_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string registry_name = 11;</code>
       */
      public com.google.protobuf.ByteString
          getRegistryNameBytes() {
        java.lang.Object ref = registryName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          registryName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string registry_name = 11;</code>
       */
      public Builder setRegistryName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000400;
        registryName_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string registry_name = 11;</code>
       */
      public Builder clearRegistryName() {
        bitField0_ = (bitField0_ & ~0x00000400);
        registryName_ = getDefaultInstance().getRegistryName();
        onChanged();
        return this;
      }
      /**
       * <code>optional string registry_name = 11;</code>
       */
      public Builder setRegistryNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000400;
        registryName_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object jobIdString_ = "";
      /**
       * <code>optional string jobIdString = 12;</code>
       */
      public boolean hasJobIdString() {
        return ((bitField0_ & 0x00000800) == 0x00000800);
      }
      /**
       * <code>optional string jobIdString = 12;</code>
       */
      public java.lang.String getJobIdString() {
        java.lang.Object ref = jobIdString_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            jobIdString_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string jobIdString = 12;</code>
       */
      public com.google.protobuf.ByteString
          getJobIdStringBytes() {
        java.lang.Object ref = jobIdString_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          jobIdString_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string jobIdString = 12;</code>
       */
      public Builder setJobIdString(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000800;
        jobIdString_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string jobIdString = 12;</code>
       */
      public Builder clearJobIdString() {
        bitField0_ = (bitField0_ & ~0x00000800);
        jobIdString_ = getDefaultInstance().getJobIdString();
        onChanged();
        return this;
      }
      /**
       * <code>optional string jobIdString = 12;</code>
       */
      public Builder setJobIdStringBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000800;
        jobIdString_ = value;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:com.yahoo.maha.worker.proto.MahaProcessedReport)
    }

    static {
      defaultInstance = new MahaProcessedReport(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:com.yahoo.maha.worker.proto.MahaProcessedReport)
  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_yahoo_maha_worker_proto_MahaCustomReportRequest_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_yahoo_maha_worker_proto_MahaCustomReportRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_yahoo_maha_worker_proto_MahaProcessedReport_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_yahoo_maha_worker_proto_MahaProcessedReport_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n3worker/src/main/proto/MahaCustomReport" +
      "Request.proto\022\033com.yahoo.maha.worker.pro" +
      "to\"\311\004\n\027MahaCustomReportRequest\022\023\n\013raw_re" +
      "quest\030\001 \002(\014\022D\n\017delivery_method\030\002 \002(\0162+.c" +
      "om.yahoo.maha.worker.proto.DeliveryMetho" +
      "d\022>\n\014query_engine\030\003 \002(\0162(.com.yahoo.maha" +
      ".worker.proto.QueryEngine\022@\n\routput_form" +
      "at\030\004 \002(\0162).com.yahoo.maha.worker.proto.O" +
      "utputFormat\022\016\n\006job_id\030\005 \002(\003\022\016\n\006schema\030\006 " +
      "\002(\t\022<\n\013report_type\030\007 \002(\0162\'.com.yahoo.mah",
      "a.worker.proto.ReportType\022\020\n\010timezone\030\010 " +
      "\001(\t\022\016\n\006dryrun\030\t \001(\010\022\020\n\010revision\030\n \001(\005\022\034\n" +
      "\024requestSubmittedTime\030\013 \001(\003\0229\n\tqueueType" +
      "\030\014 \001(\0162&.com.yahoo.maha.worker.proto.Que" +
      "ueType\022\016\n\006userId\030\r \001(\t\022\021\n\tdualWrite\030\016 \001(" +
      "\010\022\025\n\rregistry_name\030\017 \001(\t\022\027\n\017queryGenVers" +
      "ion\030\020 \001(\005\022\023\n\013jobIdString\030\021 \001(\t\"\202\003\n\023MahaP" +
      "rocessedReport\022\016\n\006job_id\030\001 \002(\003\022D\n\017delive" +
      "ry_method\030\002 \002(\0162+.com.yahoo.maha.worker." +
      "proto.DeliveryMethod\022@\n\routput_format\030\003 ",
      "\002(\0162).com.yahoo.maha.worker.proto.Output" +
      "Format\022\023\n\013raw_request\030\004 \002(\014\022\016\n\006schema\030\005 " +
      "\002(\t\022\024\n\014job_response\030\006 \002(\t\022\016\n\006dryrun\030\007 \001(" +
      "\010\0229\n\tqueueType\030\010 \001(\0162&.com.yahoo.maha.wo" +
      "rker.proto.QueueType\022\016\n\006userId\030\t \001(\t\022\021\n\t" +
      "dualWrite\030\n \001(\010\022\025\n\rregistry_name\030\013 \001(\t\022\023" +
      "\n\013jobIdString\030\014 \001(\t*.\n\016DeliveryMethod\022\t\n" +
      "\005EMAIL\020\000\022\021\n\rCONTENT_STORE\020\001*:\n\013QueryEngi" +
      "ne\022\n\n\006ORACLE\020\000\022\010\n\004HIVE\020\001\022\t\n\005DRUID\020\002\022\n\n\006P" +
      "RESTO\020\003*!\n\014OutputFormat\022\007\n\003CSV\020\000\022\010\n\004JSON",
      "\020\001*\'\n\nReportType\022\n\n\006AD_HOC\020\000\022\r\n\tSCHEDULE" +
      "D\020\001*\"\n\tQueueType\022\n\n\006PULSAR\020\000\022\t\n\005KAFKA\020\001B" +
      "\032B\030MahaWorkerReportingProto"
    };
    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;
            return null;
          }
        };
    com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
        }, assigner);
    internal_static_com_yahoo_maha_worker_proto_MahaCustomReportRequest_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_com_yahoo_maha_worker_proto_MahaCustomReportRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_com_yahoo_maha_worker_proto_MahaCustomReportRequest_descriptor,
        new java.lang.String[] { "RawRequest", "DeliveryMethod", "QueryEngine", "OutputFormat", "JobId", "Schema", "ReportType", "Timezone", "Dryrun", "Revision", "RequestSubmittedTime", "QueueType", "UserId", "DualWrite", "RegistryName", "QueryGenVersion", "JobIdString", });
    internal_static_com_yahoo_maha_worker_proto_MahaProcessedReport_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_com_yahoo_maha_worker_proto_MahaProcessedReport_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_com_yahoo_maha_worker_proto_MahaProcessedReport_descriptor,
        new java.lang.String[] { "JobId", "DeliveryMethod", "OutputFormat", "RawRequest", "Schema", "JobResponse", "Dryrun", "QueueType", "UserId", "DualWrite", "RegistryName", "JobIdString", });
  }

  // @@protoc_insertion_point(outer_class_scope)
}
