http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v1/filter/generated/FilterProtosExt.java
----------------------------------------------------------------------
diff --git 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v1/filter/generated/FilterProtosExt.java
 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v1/filter/generated/FilterProtosExt.java
index 6266f17..1bd92e6 100644
--- 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v1/filter/generated/FilterProtosExt.java
+++ 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v1/filter/generated/FilterProtosExt.java
@@ -22,1330 +22,1277 @@
 package org.apache.kylin.storage.hbase.cube.v1.filter.generated;
 
 public final class FilterProtosExt {
-  private FilterProtosExt() {}
-  public static void registerAllExtensions(
-      com.google.protobuf.ExtensionRegistry registry) {
-  }
-  public interface BytesBytesPairOrBuilder
-      extends com.google.protobuf.MessageOrBuilder {
-
-    // required bytes first = 1;
-    /**
-     * <code>required bytes first = 1;</code>
-     */
-    boolean hasFirst();
-    /**
-     * <code>required bytes first = 1;</code>
-     */
-    com.google.protobuf.ByteString getFirst();
-
-    // required bytes second = 2;
-    /**
-     * <code>required bytes second = 2;</code>
-     */
-    boolean hasSecond();
-    /**
-     * <code>required bytes second = 2;</code>
-     */
-    com.google.protobuf.ByteString getSecond();
-  }
-  /**
-   * Protobuf type {@code BytesBytesPair}
-   */
-  public static final class BytesBytesPair extends
-      com.google.protobuf.GeneratedMessage
-      implements BytesBytesPairOrBuilder {
-    // Use BytesBytesPair.newBuilder() to construct.
-    private BytesBytesPair(com.google.protobuf.GeneratedMessage.Builder<?> 
builder) {
-      super(builder);
-      this.unknownFields = builder.getUnknownFields();
+    private FilterProtosExt() {
     }
-    private BytesBytesPair(boolean noInit) { this.unknownFields = 
com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
 
-    private static final BytesBytesPair defaultInstance;
-    public static BytesBytesPair getDefaultInstance() {
-      return defaultInstance;
+    public static void 
registerAllExtensions(com.google.protobuf.ExtensionRegistry registry) {
     }
 
-    public BytesBytesPair getDefaultInstanceForType() {
-      return defaultInstance;
-    }
+    public interface BytesBytesPairOrBuilder extends 
com.google.protobuf.MessageOrBuilder {
 
-    private final com.google.protobuf.UnknownFieldSet unknownFields;
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-        getUnknownFields() {
-      return this.unknownFields;
-    }
-    private BytesBytesPair(
-        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;
-              first_ = input.readBytes();
-              break;
-            }
-            case 18: {
-              bitField0_ |= 0x00000002;
-              second_ = input.readBytes();
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e.getMessage()).setUnfinishedMessage(this);
-      } finally {
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.internal_static_BytesBytesPair_descriptor;
-    }
+        // required bytes first = 1;
+        /**
+         * <code>required bytes first = 1;</code>
+         */
+        boolean hasFirst();
 
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.internal_static_BytesBytesPair_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair.class,
 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair.Builder.class);
-    }
+        /**
+         * <code>required bytes first = 1;</code>
+         */
+        com.google.protobuf.ByteString getFirst();
 
-    public static com.google.protobuf.Parser<BytesBytesPair> PARSER =
-        new com.google.protobuf.AbstractParser<BytesBytesPair>() {
-      public BytesBytesPair parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return new BytesBytesPair(input, extensionRegistry);
-      }
-    };
-
-    @java.lang.Override
-    public com.google.protobuf.Parser<BytesBytesPair> getParserForType() {
-      return PARSER;
-    }
+        // required bytes second = 2;
+        /**
+         * <code>required bytes second = 2;</code>
+         */
+        boolean hasSecond();
 
-    private int bitField0_;
-    // required bytes first = 1;
-    public static final int FIRST_FIELD_NUMBER = 1;
-    private com.google.protobuf.ByteString first_;
-    /**
-     * <code>required bytes first = 1;</code>
-     */
-    public boolean hasFirst() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    /**
-     * <code>required bytes first = 1;</code>
-     */
-    public com.google.protobuf.ByteString getFirst() {
-      return first_;
+        /**
+         * <code>required bytes second = 2;</code>
+         */
+        com.google.protobuf.ByteString getSecond();
     }
 
-    // required bytes second = 2;
-    public static final int SECOND_FIELD_NUMBER = 2;
-    private com.google.protobuf.ByteString second_;
     /**
-     * <code>required bytes second = 2;</code>
-     */
-    public boolean hasSecond() {
-      return ((bitField0_ & 0x00000002) == 0x00000002);
-    }
-    /**
-     * <code>required bytes second = 2;</code>
+     * Protobuf type {@code BytesBytesPair}
      */
-    public com.google.protobuf.ByteString getSecond() {
-      return second_;
-    }
+    public static final class BytesBytesPair extends 
com.google.protobuf.GeneratedMessage implements BytesBytesPairOrBuilder {
+        // Use BytesBytesPair.newBuilder() to construct.
+        private BytesBytesPair(com.google.protobuf.GeneratedMessage.Builder<?> 
builder) {
+            super(builder);
+            this.unknownFields = builder.getUnknownFields();
+        }
 
-    private void initFields() {
-      first_ = com.google.protobuf.ByteString.EMPTY;
-      second_ = com.google.protobuf.ByteString.EMPTY;
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized != -1) return isInitialized == 1;
-
-      if (!hasFirst()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!hasSecond()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      memoizedIsInitialized = 1;
-      return true;
-    }
+        private BytesBytesPair(boolean noInit) {
+            this.unknownFields = 
com.google.protobuf.UnknownFieldSet.getDefaultInstance();
+        }
 
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
-      getSerializedSize();
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        output.writeBytes(1, first_);
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        output.writeBytes(2, second_);
-      }
-      getUnknownFields().writeTo(output);
-    }
+        private static final BytesBytesPair defaultInstance;
 
-    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, first_);
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(2, second_);
-      }
-      size += getUnknownFields().getSerializedSize();
-      memoizedSerializedSize = size;
-      return size;
-    }
+        public static BytesBytesPair getDefaultInstance() {
+            return defaultInstance;
+        }
 
-    private static final long serialVersionUID = 0L;
-    @java.lang.Override
-    protected java.lang.Object writeReplace()
-        throws java.io.ObjectStreamException {
-      return super.writeReplace();
-    }
+        public BytesBytesPair getDefaultInstanceForType() {
+            return defaultInstance;
+        }
 
-    @java.lang.Override
-    public boolean equals(final java.lang.Object obj) {
-      if (obj == this) {
-       return true;
-      }
-      if (!(obj instanceof 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair))
 {
-        return super.equals(obj);
-      }
-      
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 other = 
(org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair)
 obj;
-
-      boolean result = true;
-      result = result && (hasFirst() == other.hasFirst());
-      if (hasFirst()) {
-        result = result && getFirst()
-            .equals(other.getFirst());
-      }
-      result = result && (hasSecond() == other.hasSecond());
-      if (hasSecond()) {
-        result = result && getSecond()
-            .equals(other.getSecond());
-      }
-      result = result &&
-          getUnknownFields().equals(other.getUnknownFields());
-      return result;
-    }
+        private final com.google.protobuf.UnknownFieldSet unknownFields;
 
-    private int memoizedHashCode = 0;
-    @java.lang.Override
-    public int hashCode() {
-      if (memoizedHashCode != 0) {
-        return memoizedHashCode;
-      }
-      int hash = 41;
-      hash = (19 * hash) + getDescriptorForType().hashCode();
-      if (hasFirst()) {
-        hash = (37 * hash) + FIRST_FIELD_NUMBER;
-        hash = (53 * hash) + getFirst().hashCode();
-      }
-      if (hasSecond()) {
-        hash = (37 * hash) + SECOND_FIELD_NUMBER;
-        hash = (53 * hash) + getSecond().hashCode();
-      }
-      hash = (29 * hash) + getUnknownFields().hashCode();
-      memoizedHashCode = hash;
-      return hash;
-    }
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
 
-    public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-    public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
-    }
-    public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
-    }
-    public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
+        private BytesBytesPair(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;
+                        first_ = input.readBytes();
+                        break;
+                    }
+                    case 18: {
+                        bitField0_ |= 0x00000002;
+                        second_ = input.readBytes();
+                        break;
+                    }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new 
com.google.protobuf.InvalidProtocolBufferException(e.getMessage()).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
 
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder 
newBuilder(org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 prototype) {
-      return newBuilder().mergeFrom(prototype);
-    }
-    public Builder toBuilder() { return newBuilder(this); }
+        public static final com.google.protobuf.Descriptors.Descriptor 
getDescriptor() {
+            return 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.internal_static_BytesBytesPair_descriptor;
+        }
 
-    @java.lang.Override
-    protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-      Builder builder = new Builder(parent);
-      return builder;
-    }
-    /**
-     * Protobuf type {@code BytesBytesPair}
-     */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder>
-       implements 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPairOrBuilder
 {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.internal_static_BytesBytesPair_descriptor;
-      }
-
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.internal_static_BytesBytesPair_fieldAccessorTable
-            .ensureFieldAccessorsInitialized(
-                
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair.class,
 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair.Builder.class);
-      }
-
-      // Construct using 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair.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();
-        first_ = com.google.protobuf.ByteString.EMPTY;
-        bitField0_ = (bitField0_ & ~0x00000001);
-        second_ = com.google.protobuf.ByteString.EMPTY;
-        bitField0_ = (bitField0_ & ~0x00000002);
-        return this;
-      }
-
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.internal_static_BytesBytesPair_descriptor;
-      }
-
-      public 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 getDefaultInstanceForType() {
-        return 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair.getDefaultInstance();
-      }
-
-      public 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 build() {
-        
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-
-      public 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 buildPartial() {
-        
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 result = new 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair(this);
-        int from_bitField0_ = bitField0_;
-        int to_bitField0_ = 0;
-        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
-          to_bitField0_ |= 0x00000001;
-        }
-        result.first_ = first_;
-        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
-          to_bitField0_ |= 0x00000002;
-        }
-        result.second_ = second_;
-        result.bitField0_ = to_bitField0_;
-        onBuilt();
-        return result;
-      }
-
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair)
 {
-          return 
mergeFrom((org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-
-      public Builder 
mergeFrom(org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 other) {
-        if (other == 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair.getDefaultInstance())
 return this;
-        if (other.hasFirst()) {
-          setFirst(other.getFirst());
-        }
-        if (other.hasSecond()) {
-          setSecond(other.getSecond());
-        }
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-
-      public final boolean isInitialized() {
-        if (!hasFirst()) {
-          
-          return false;
-        }
-        if (!hasSecond()) {
-          
-          return false;
-        }
-        return true;
-      }
-
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 parsedMessage = null;
-        try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = 
(org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair)
 e.getUnfinishedMessage();
-          throw e;
-        } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
-        return this;
-      }
-      private int bitField0_;
-
-      // required bytes first = 1;
-      private com.google.protobuf.ByteString first_ = 
com.google.protobuf.ByteString.EMPTY;
-      /**
-       * <code>required bytes first = 1;</code>
-       */
-      public boolean hasFirst() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      /**
-       * <code>required bytes first = 1;</code>
-       */
-      public com.google.protobuf.ByteString getFirst() {
-        return first_;
-      }
-      /**
-       * <code>required bytes first = 1;</code>
-       */
-      public Builder setFirst(com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000001;
-        first_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required bytes first = 1;</code>
-       */
-      public Builder clearFirst() {
-        bitField0_ = (bitField0_ & ~0x00000001);
-        first_ = getDefaultInstance().getFirst();
-        onChanged();
-        return this;
-      }
-
-      // required bytes second = 2;
-      private com.google.protobuf.ByteString second_ = 
com.google.protobuf.ByteString.EMPTY;
-      /**
-       * <code>required bytes second = 2;</code>
-       */
-      public boolean hasSecond() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
-      }
-      /**
-       * <code>required bytes second = 2;</code>
-       */
-      public com.google.protobuf.ByteString getSecond() {
-        return second_;
-      }
-      /**
-       * <code>required bytes second = 2;</code>
-       */
-      public Builder setSecond(com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000002;
-        second_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required bytes second = 2;</code>
-       */
-      public Builder clearSecond() {
-        bitField0_ = (bitField0_ & ~0x00000002);
-        second_ = getDefaultInstance().getSecond();
-        onChanged();
-        return this;
-      }
-
-      // @@protoc_insertion_point(builder_scope:BytesBytesPair)
-    }
+        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable 
internalGetFieldAccessorTable() {
+            return 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.internal_static_BytesBytesPair_fieldAccessorTable.ensureFieldAccessorsInitialized(org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair.class,
 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair.Builder.class);
+        }
 
-    static {
-      defaultInstance = new BytesBytesPair(true);
-      defaultInstance.initFields();
-    }
+        public static com.google.protobuf.Parser<BytesBytesPair> PARSER = new 
com.google.protobuf.AbstractParser<BytesBytesPair>() {
+            public BytesBytesPair 
parsePartialFrom(com.google.protobuf.CodedInputStream input, 
com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws 
com.google.protobuf.InvalidProtocolBufferException {
+                return new BytesBytesPair(input, extensionRegistry);
+            }
+        };
 
-    // @@protoc_insertion_point(class_scope:BytesBytesPair)
-  }
+        @java.lang.Override
+        public com.google.protobuf.Parser<BytesBytesPair> getParserForType() {
+            return PARSER;
+        }
 
-  public interface FuzzyRowFilterV2OrBuilder
-      extends com.google.protobuf.MessageOrBuilder {
+        private int bitField0_;
+        // required bytes first = 1;
+        public static final int FIRST_FIELD_NUMBER = 1;
+        private com.google.protobuf.ByteString first_;
 
-    // repeated .BytesBytesPair fuzzy_keys_data = 1;
-    /**
-     * <code>repeated .BytesBytesPair fuzzy_keys_data = 1;</code>
-     */
-    
java.util.List<org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair>
 
-        getFuzzyKeysDataList();
-    /**
-     * <code>repeated .BytesBytesPair fuzzy_keys_data = 1;</code>
-     */
-    
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 getFuzzyKeysData(int index);
-    /**
-     * <code>repeated .BytesBytesPair fuzzy_keys_data = 1;</code>
-     */
-    int getFuzzyKeysDataCount();
-    /**
-     * <code>repeated .BytesBytesPair fuzzy_keys_data = 1;</code>
-     */
-    java.util.List<? extends 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPairOrBuilder>
 
-        getFuzzyKeysDataOrBuilderList();
-    /**
-     * <code>repeated .BytesBytesPair fuzzy_keys_data = 1;</code>
-     */
-    
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPairOrBuilder
 getFuzzyKeysDataOrBuilder(
-        int index);
-  }
-  /**
-   * Protobuf type {@code FuzzyRowFilterV2}
-   */
-  public static final class FuzzyRowFilterV2 extends
-      com.google.protobuf.GeneratedMessage
-      implements FuzzyRowFilterV2OrBuilder {
-    // Use FuzzyRowFilterV2.newBuilder() to construct.
-    private FuzzyRowFilterV2(com.google.protobuf.GeneratedMessage.Builder<?> 
builder) {
-      super(builder);
-      this.unknownFields = builder.getUnknownFields();
-    }
-    private FuzzyRowFilterV2(boolean noInit) { this.unknownFields = 
com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
+        /**
+         * <code>required bytes first = 1;</code>
+         */
+        public boolean hasFirst() {
+            return ((bitField0_ & 0x00000001) == 0x00000001);
+        }
 
-    private static final FuzzyRowFilterV2 defaultInstance;
-    public static FuzzyRowFilterV2 getDefaultInstance() {
-      return defaultInstance;
-    }
+        /**
+         * <code>required bytes first = 1;</code>
+         */
+        public com.google.protobuf.ByteString getFirst() {
+            return first_;
+        }
 
-    public FuzzyRowFilterV2 getDefaultInstanceForType() {
-      return defaultInstance;
-    }
+        // required bytes second = 2;
+        public static final int SECOND_FIELD_NUMBER = 2;
+        private com.google.protobuf.ByteString second_;
 
-    private final com.google.protobuf.UnknownFieldSet unknownFields;
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-        getUnknownFields() {
-      return this.unknownFields;
-    }
-    private FuzzyRowFilterV2(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      initFields();
-      int mutable_bitField0_ = 0;
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            default: {
-              if (!parseUnknownField(input, unknownFields,
-                                     extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-            case 10: {
-              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
-                fuzzyKeysData_ = new 
java.util.ArrayList<org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair>();
-                mutable_bitField0_ |= 0x00000001;
-              }
-              
fuzzyKeysData_.add(input.readMessage(org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair.PARSER,
 extensionRegistry));
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e.getMessage()).setUnfinishedMessage(this);
-      } finally {
-        if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
-          fuzzyKeysData_ = 
java.util.Collections.unmodifiableList(fuzzyKeysData_);
-        }
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.internal_static_FuzzyRowFilterV2_descriptor;
-    }
+        /**
+         * <code>required bytes second = 2;</code>
+         */
+        public boolean hasSecond() {
+            return ((bitField0_ & 0x00000002) == 0x00000002);
+        }
 
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.internal_static_FuzzyRowFilterV2_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2.class,
 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2.Builder.class);
-    }
+        /**
+         * <code>required bytes second = 2;</code>
+         */
+        public com.google.protobuf.ByteString getSecond() {
+            return second_;
+        }
 
-    public static com.google.protobuf.Parser<FuzzyRowFilterV2> PARSER =
-        new com.google.protobuf.AbstractParser<FuzzyRowFilterV2>() {
-      public FuzzyRowFilterV2 parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return new FuzzyRowFilterV2(input, extensionRegistry);
-      }
-    };
-
-    @java.lang.Override
-    public com.google.protobuf.Parser<FuzzyRowFilterV2> getParserForType() {
-      return PARSER;
-    }
+        private void initFields() {
+            first_ = com.google.protobuf.ByteString.EMPTY;
+            second_ = com.google.protobuf.ByteString.EMPTY;
+        }
 
-    // repeated .BytesBytesPair fuzzy_keys_data = 1;
-    public static final int FUZZY_KEYS_DATA_FIELD_NUMBER = 1;
-    private 
java.util.List<org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair>
 fuzzyKeysData_;
-    /**
-     * <code>repeated .BytesBytesPair fuzzy_keys_data = 1;</code>
-     */
-    public 
java.util.List<org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair>
 getFuzzyKeysDataList() {
-      return fuzzyKeysData_;
-    }
-    /**
-     * <code>repeated .BytesBytesPair fuzzy_keys_data = 1;</code>
-     */
-    public java.util.List<? extends 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPairOrBuilder>
 
-        getFuzzyKeysDataOrBuilderList() {
-      return fuzzyKeysData_;
-    }
-    /**
-     * <code>repeated .BytesBytesPair fuzzy_keys_data = 1;</code>
-     */
-    public int getFuzzyKeysDataCount() {
-      return fuzzyKeysData_.size();
-    }
-    /**
-     * <code>repeated .BytesBytesPair fuzzy_keys_data = 1;</code>
-     */
-    public 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 getFuzzyKeysData(int index) {
-      return fuzzyKeysData_.get(index);
-    }
-    /**
-     * <code>repeated .BytesBytesPair fuzzy_keys_data = 1;</code>
-     */
-    public 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPairOrBuilder
 getFuzzyKeysDataOrBuilder(
-        int index) {
-      return fuzzyKeysData_.get(index);
-    }
+        private byte memoizedIsInitialized = -1;
 
-    private void initFields() {
-      fuzzyKeysData_ = java.util.Collections.emptyList();
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized != -1) return isInitialized == 1;
-
-      for (int i = 0; i < getFuzzyKeysDataCount(); i++) {
-        if (!getFuzzyKeysData(i).isInitialized()) {
-          memoizedIsInitialized = 0;
-          return false;
-        }
-      }
-      memoizedIsInitialized = 1;
-      return true;
-    }
+        public final boolean isInitialized() {
+            byte isInitialized = memoizedIsInitialized;
+            if (isInitialized != -1)
+                return isInitialized == 1;
 
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
-      getSerializedSize();
-      for (int i = 0; i < fuzzyKeysData_.size(); i++) {
-        output.writeMessage(1, fuzzyKeysData_.get(i));
-      }
-      getUnknownFields().writeTo(output);
-    }
+            if (!hasFirst()) {
+                memoizedIsInitialized = 0;
+                return false;
+            }
+            if (!hasSecond()) {
+                memoizedIsInitialized = 0;
+                return false;
+            }
+            memoizedIsInitialized = 1;
+            return true;
+        }
 
-    private int memoizedSerializedSize = -1;
-    public int getSerializedSize() {
-      int size = memoizedSerializedSize;
-      if (size != -1) return size;
-
-      size = 0;
-      for (int i = 0; i < fuzzyKeysData_.size(); i++) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(1, fuzzyKeysData_.get(i));
-      }
-      size += getUnknownFields().getSerializedSize();
-      memoizedSerializedSize = size;
-      return size;
-    }
+        public void writeTo(com.google.protobuf.CodedOutputStream output) 
throws java.io.IOException {
+            getSerializedSize();
+            if (((bitField0_ & 0x00000001) == 0x00000001)) {
+                output.writeBytes(1, first_);
+            }
+            if (((bitField0_ & 0x00000002) == 0x00000002)) {
+                output.writeBytes(2, second_);
+            }
+            getUnknownFields().writeTo(output);
+        }
 
-    private static final long serialVersionUID = 0L;
-    @java.lang.Override
-    protected java.lang.Object writeReplace()
-        throws java.io.ObjectStreamException {
-      return super.writeReplace();
-    }
+        private int memoizedSerializedSize = -1;
 
-    @java.lang.Override
-    public boolean equals(final java.lang.Object obj) {
-      if (obj == this) {
-       return true;
-      }
-      if (!(obj instanceof 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2))
 {
-        return super.equals(obj);
-      }
-      
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2
 other = 
(org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2)
 obj;
-
-      boolean result = true;
-      result = result && getFuzzyKeysDataList()
-          .equals(other.getFuzzyKeysDataList());
-      result = result &&
-          getUnknownFields().equals(other.getUnknownFields());
-      return result;
-    }
+        public int getSerializedSize() {
+            int size = memoizedSerializedSize;
+            if (size != -1)
+                return size;
 
-    private int memoizedHashCode = 0;
-    @java.lang.Override
-    public int hashCode() {
-      if (memoizedHashCode != 0) {
-        return memoizedHashCode;
-      }
-      int hash = 41;
-      hash = (19 * hash) + getDescriptorForType().hashCode();
-      if (getFuzzyKeysDataCount() > 0) {
-        hash = (37 * hash) + FUZZY_KEYS_DATA_FIELD_NUMBER;
-        hash = (53 * hash) + getFuzzyKeysDataList().hashCode();
-      }
-      hash = (29 * hash) + getUnknownFields().hashCode();
-      memoizedHashCode = hash;
-      return hash;
-    }
+            size = 0;
+            if (((bitField0_ & 0x00000001) == 0x00000001)) {
+                size += 
com.google.protobuf.CodedOutputStream.computeBytesSize(1, first_);
+            }
+            if (((bitField0_ & 0x00000002) == 0x00000002)) {
+                size += 
com.google.protobuf.CodedOutputStream.computeBytesSize(2, second_);
+            }
+            size += getUnknownFields().getSerializedSize();
+            memoizedSerializedSize = size;
+            return size;
+        }
 
-    public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2
 parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2
 parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2
 parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2
 parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2
 parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2
 parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-    public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2
 parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
-    }
-    public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2
 parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
-    }
-    public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2
 parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2
 parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
+        private static final long serialVersionUID = 0L;
+
+        @java.lang.Override
+        protected java.lang.Object writeReplace() throws 
java.io.ObjectStreamException {
+            return super.writeReplace();
+        }
+
+        @java.lang.Override
+        public boolean equals(final java.lang.Object obj) {
+            if (obj == this) {
+                return true;
+            }
+            if (!(obj instanceof 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair))
 {
+                return super.equals(obj);
+            }
+            
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 other = 
(org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair)
 obj;
+
+            boolean result = true;
+            result = result && (hasFirst() == other.hasFirst());
+            if (hasFirst()) {
+                result = result && getFirst().equals(other.getFirst());
+            }
+            result = result && (hasSecond() == other.hasSecond());
+            if (hasSecond()) {
+                result = result && getSecond().equals(other.getSecond());
+            }
+            result = result && 
getUnknownFields().equals(other.getUnknownFields());
+            return result;
+        }
+
+        private int memoizedHashCode = 0;
+
+        @java.lang.Override
+        public int hashCode() {
+            if (memoizedHashCode != 0) {
+                return memoizedHashCode;
+            }
+            int hash = 41;
+            hash = (19 * hash) + getDescriptorForType().hashCode();
+            if (hasFirst()) {
+                hash = (37 * hash) + FIRST_FIELD_NUMBER;
+                hash = (53 * hash) + getFirst().hashCode();
+            }
+            if (hasSecond()) {
+                hash = (37 * hash) + SECOND_FIELD_NUMBER;
+                hash = (53 * hash) + getSecond().hashCode();
+            }
+            hash = (29 * hash) + getUnknownFields().hashCode();
+            memoizedHashCode = hash;
+            return hash;
+        }
+
+        public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 parseFrom(com.google.protobuf.ByteString data) throws 
com.google.protobuf.InvalidProtocolBufferException {
+            return PARSER.parseFrom(data);
+        }
+
+        public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 parseFrom(com.google.protobuf.ByteString data, 
com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws 
com.google.protobuf.InvalidProtocolBufferException {
+            return PARSER.parseFrom(data, extensionRegistry);
+        }
+
+        public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 parseFrom(byte[] data) throws 
com.google.protobuf.InvalidProtocolBufferException {
+            return PARSER.parseFrom(data);
+        }
+
+        public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite 
extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            return PARSER.parseFrom(data, extensionRegistry);
+        }
+
+        public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 parseFrom(java.io.InputStream input) throws java.io.IOException {
+            return PARSER.parseFrom(input);
+        }
+
+        public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite 
extensionRegistry) throws java.io.IOException {
+            return PARSER.parseFrom(input, extensionRegistry);
+        }
+
+        public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException {
+            return PARSER.parseDelimitedFrom(input);
+        }
+
+        public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 parseDelimitedFrom(java.io.InputStream input, 
com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws 
java.io.IOException {
+            return PARSER.parseDelimitedFrom(input, extensionRegistry);
+        }
+
+        public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 parseFrom(com.google.protobuf.CodedInputStream input) throws 
java.io.IOException {
+            return PARSER.parseFrom(input);
+        }
+
+        public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 parseFrom(com.google.protobuf.CodedInputStream input, 
com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws 
java.io.IOException {
+            return PARSER.parseFrom(input, extensionRegistry);
+        }
+
+        public static Builder newBuilder() {
+            return Builder.create();
+        }
+
+        public Builder newBuilderForType() {
+            return newBuilder();
+        }
+
+        public static Builder 
newBuilder(org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 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 BytesBytesPair}
+         */
+        public static final class Builder extends 
com.google.protobuf.GeneratedMessage.Builder<Builder> implements 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPairOrBuilder
 {
+            public static final com.google.protobuf.Descriptors.Descriptor 
getDescriptor() {
+                return 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.internal_static_BytesBytesPair_descriptor;
+            }
+
+            protected com.google.protobuf.GeneratedMessage.FieldAccessorTable 
internalGetFieldAccessorTable() {
+                return 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.internal_static_BytesBytesPair_fieldAccessorTable.ensureFieldAccessorsInitialized(org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair.class,
 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair.Builder.class);
+            }
+
+            // Construct using 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair.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();
+                first_ = com.google.protobuf.ByteString.EMPTY;
+                bitField0_ = (bitField0_ & ~0x00000001);
+                second_ = com.google.protobuf.ByteString.EMPTY;
+                bitField0_ = (bitField0_ & ~0x00000002);
+                return this;
+            }
+
+            public Builder clone() {
+                return create().mergeFrom(buildPartial());
+            }
+
+            public com.google.protobuf.Descriptors.Descriptor 
getDescriptorForType() {
+                return 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.internal_static_BytesBytesPair_descriptor;
+            }
+
+            public 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 getDefaultInstanceForType() {
+                return 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair.getDefaultInstance();
+            }
+
+            public 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 build() {
+                
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 result = buildPartial();
+                if (!result.isInitialized()) {
+                    throw newUninitializedMessageException(result);
+                }
+                return result;
+            }
+
+            public 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 buildPartial() {
+                
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 result = new 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair(this);
+                int from_bitField0_ = bitField0_;
+                int to_bitField0_ = 0;
+                if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+                    to_bitField0_ |= 0x00000001;
+                }
+                result.first_ = first_;
+                if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
+                    to_bitField0_ |= 0x00000002;
+                }
+                result.second_ = second_;
+                result.bitField0_ = to_bitField0_;
+                onBuilt();
+                return result;
+            }
+
+            public Builder mergeFrom(com.google.protobuf.Message other) {
+                if (other instanceof 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair)
 {
+                    return 
mergeFrom((org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair)
 other);
+                } else {
+                    super.mergeFrom(other);
+                    return this;
+                }
+            }
+
+            public Builder 
mergeFrom(org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 other) {
+                if (other == 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair.getDefaultInstance())
+                    return this;
+                if (other.hasFirst()) {
+                    setFirst(other.getFirst());
+                }
+                if (other.hasSecond()) {
+                    setSecond(other.getSecond());
+                }
+                this.mergeUnknownFields(other.getUnknownFields());
+                return this;
+            }
+
+            public final boolean isInitialized() {
+                if (!hasFirst()) {
+
+                    return false;
+                }
+                if (!hasSecond()) {
+
+                    return false;
+                }
+                return true;
+            }
+
+            public Builder mergeFrom(com.google.protobuf.CodedInputStream 
input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws 
java.io.IOException {
+                
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 parsedMessage = null;
+                try {
+                    parsedMessage = PARSER.parsePartialFrom(input, 
extensionRegistry);
+                } catch (com.google.protobuf.InvalidProtocolBufferException e) 
{
+                    parsedMessage = 
(org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair)
 e.getUnfinishedMessage();
+                    throw e;
+                } finally {
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
+                }
+                return this;
+            }
 
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder 
newBuilder(org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2
 prototype) {
-      return newBuilder().mergeFrom(prototype);
+            private int bitField0_;
+
+            // required bytes first = 1;
+            private com.google.protobuf.ByteString first_ = 
com.google.protobuf.ByteString.EMPTY;
+
+            /**
+             * <code>required bytes first = 1;</code>
+             */
+            public boolean hasFirst() {
+                return ((bitField0_ & 0x00000001) == 0x00000001);
+            }
+
+            /**
+             * <code>required bytes first = 1;</code>
+             */
+            public com.google.protobuf.ByteString getFirst() {
+                return first_;
+            }
+
+            /**
+             * <code>required bytes first = 1;</code>
+             */
+            public Builder setFirst(com.google.protobuf.ByteString value) {
+                if (value == null) {
+                    throw new NullPointerException();
+                }
+                bitField0_ |= 0x00000001;
+                first_ = value;
+                onChanged();
+                return this;
+            }
+
+            /**
+             * <code>required bytes first = 1;</code>
+             */
+            public Builder clearFirst() {
+                bitField0_ = (bitField0_ & ~0x00000001);
+                first_ = getDefaultInstance().getFirst();
+                onChanged();
+                return this;
+            }
+
+            // required bytes second = 2;
+            private com.google.protobuf.ByteString second_ = 
com.google.protobuf.ByteString.EMPTY;
+
+            /**
+             * <code>required bytes second = 2;</code>
+             */
+            public boolean hasSecond() {
+                return ((bitField0_ & 0x00000002) == 0x00000002);
+            }
+
+            /**
+             * <code>required bytes second = 2;</code>
+             */
+            public com.google.protobuf.ByteString getSecond() {
+                return second_;
+            }
+
+            /**
+             * <code>required bytes second = 2;</code>
+             */
+            public Builder setSecond(com.google.protobuf.ByteString value) {
+                if (value == null) {
+                    throw new NullPointerException();
+                }
+                bitField0_ |= 0x00000002;
+                second_ = value;
+                onChanged();
+                return this;
+            }
+
+            /**
+             * <code>required bytes second = 2;</code>
+             */
+            public Builder clearSecond() {
+                bitField0_ = (bitField0_ & ~0x00000002);
+                second_ = getDefaultInstance().getSecond();
+                onChanged();
+                return this;
+            }
+
+            // @@protoc_insertion_point(builder_scope:BytesBytesPair)
+        }
+
+        static {
+            defaultInstance = new BytesBytesPair(true);
+            defaultInstance.initFields();
+        }
+
+        // @@protoc_insertion_point(class_scope:BytesBytesPair)
     }
-    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;
+    public interface FuzzyRowFilterV2OrBuilder extends 
com.google.protobuf.MessageOrBuilder {
+
+        // repeated .BytesBytesPair fuzzy_keys_data = 1;
+        /**
+         * <code>repeated .BytesBytesPair fuzzy_keys_data = 1;</code>
+         */
+        
java.util.List<org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair>
 getFuzzyKeysDataList();
+
+        /**
+         * <code>repeated .BytesBytesPair fuzzy_keys_data = 1;</code>
+         */
+        
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 getFuzzyKeysData(int index);
+
+        /**
+         * <code>repeated .BytesBytesPair fuzzy_keys_data = 1;</code>
+         */
+        int getFuzzyKeysDataCount();
+
+        /**
+         * <code>repeated .BytesBytesPair fuzzy_keys_data = 1;</code>
+         */
+        java.util.List<? extends 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPairOrBuilder>
 getFuzzyKeysDataOrBuilderList();
+
+        /**
+         * <code>repeated .BytesBytesPair fuzzy_keys_data = 1;</code>
+         */
+        
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPairOrBuilder
 getFuzzyKeysDataOrBuilder(int index);
     }
+
     /**
      * Protobuf type {@code FuzzyRowFilterV2}
      */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder>
-       implements 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2OrBuilder
 {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.internal_static_FuzzyRowFilterV2_descriptor;
-      }
-
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.internal_static_FuzzyRowFilterV2_fieldAccessorTable
-            .ensureFieldAccessorsInitialized(
-                
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2.class,
 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2.Builder.class);
-      }
-
-      // Construct using 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-
-      private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-        super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-          getFuzzyKeysDataFieldBuilder();
-        }
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-
-      public Builder clear() {
-        super.clear();
-        if (fuzzyKeysDataBuilder_ == null) {
-          fuzzyKeysData_ = java.util.Collections.emptyList();
-          bitField0_ = (bitField0_ & ~0x00000001);
-        } else {
-          fuzzyKeysDataBuilder_.clear();
-        }
-        return this;
-      }
-
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.internal_static_FuzzyRowFilterV2_descriptor;
-      }
-
-      public 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2
 getDefaultInstanceForType() {
-        return 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2.getDefaultInstance();
-      }
-
-      public 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2
 build() {
-        
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2
 result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-
-      public 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2
 buildPartial() {
-        
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2
 result = new 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2(this);
-        int from_bitField0_ = bitField0_;
-        if (fuzzyKeysDataBuilder_ == null) {
-          if (((bitField0_ & 0x00000001) == 0x00000001)) {
-            fuzzyKeysData_ = 
java.util.Collections.unmodifiableList(fuzzyKeysData_);
-            bitField0_ = (bitField0_ & ~0x00000001);
-          }
-          result.fuzzyKeysData_ = fuzzyKeysData_;
-        } else {
-          result.fuzzyKeysData_ = fuzzyKeysDataBuilder_.build();
-        }
-        onBuilt();
-        return result;
-      }
-
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2)
 {
-          return 
mergeFrom((org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-
-      public Builder 
mergeFrom(org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2
 other) {
-        if (other == 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2.getDefaultInstance())
 return this;
-        if (fuzzyKeysDataBuilder_ == null) {
-          if (!other.fuzzyKeysData_.isEmpty()) {
-            if (fuzzyKeysData_.isEmpty()) {
-              fuzzyKeysData_ = other.fuzzyKeysData_;
-              bitField0_ = (bitField0_ & ~0x00000001);
-            } else {
-              ensureFuzzyKeysDataIsMutable();
-              fuzzyKeysData_.addAll(other.fuzzyKeysData_);
-            }
-            onChanged();
-          }
-        } else {
-          if (!other.fuzzyKeysData_.isEmpty()) {
-            if (fuzzyKeysDataBuilder_.isEmpty()) {
-              fuzzyKeysDataBuilder_.dispose();
-              fuzzyKeysDataBuilder_ = null;
-              fuzzyKeysData_ = other.fuzzyKeysData_;
-              bitField0_ = (bitField0_ & ~0x00000001);
-              fuzzyKeysDataBuilder_ = 
-                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
-                   getFuzzyKeysDataFieldBuilder() : null;
-            } else {
-              fuzzyKeysDataBuilder_.addAllMessages(other.fuzzyKeysData_);
-            }
-          }
-        }
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-
-      public final boolean isInitialized() {
-        for (int i = 0; i < getFuzzyKeysDataCount(); i++) {
-          if (!getFuzzyKeysData(i).isInitialized()) {
-            
-            return false;
-          }
-        }
-        return true;
-      }
-
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2
 parsedMessage = null;
-        try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = 
(org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2)
 e.getUnfinishedMessage();
-          throw e;
-        } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
-        return this;
-      }
-      private int bitField0_;
-
-      // repeated .BytesBytesPair fuzzy_keys_data = 1;
-      private 
java.util.List<org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair>
 fuzzyKeysData_ =
-        java.util.Collections.emptyList();
-      private void ensureFuzzyKeysDataIsMutable() {
-        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
-          fuzzyKeysData_ = new 
java.util.ArrayList<org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair>(fuzzyKeysData_);
-          bitField0_ |= 0x00000001;
-         }
-      }
-
-      private com.google.protobuf.RepeatedFieldBuilder<
-          
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair,
 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair.Builder,
 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPairOrBuilder>
 fuzzyKeysDataBuilder_;
-
-      /**
-       * <code>repeated .BytesBytesPair fuzzy_keys_data = 1;</code>
-       */
-      public 
java.util.List<org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair>
 getFuzzyKeysDataList() {
-        if (fuzzyKeysDataBuilder_ == null) {
-          return java.util.Collections.unmodifiableList(fuzzyKeysData_);
-        } else {
-          return fuzzyKeysDataBuilder_.getMessageList();
-        }
-      }
-      /**
-       * <code>repeated .BytesBytesPair fuzzy_keys_data = 1;</code>
-       */
-      public int getFuzzyKeysDataCount() {
-        if (fuzzyKeysDataBuilder_ == null) {
-          return fuzzyKeysData_.size();
-        } else {
-          return fuzzyKeysDataBuilder_.getCount();
-        }
-      }
-      /**
-       * <code>repeated .BytesBytesPair fuzzy_keys_data = 1;</code>
-       */
-      public 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 getFuzzyKeysData(int index) {
-        if (fuzzyKeysDataBuilder_ == null) {
-          return fuzzyKeysData_.get(index);
-        } else {
-          return fuzzyKeysDataBuilder_.getMessage(index);
-        }
-      }
-      /**
-       * <code>repeated .BytesBytesPair fuzzy_keys_data = 1;</code>
-       */
-      public Builder setFuzzyKeysData(
-          int index, 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 value) {
-        if (fuzzyKeysDataBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          ensureFuzzyKeysDataIsMutable();
-          fuzzyKeysData_.set(index, value);
-          onChanged();
-        } else {
-          fuzzyKeysDataBuilder_.setMessage(index, value);
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .BytesBytesPair fuzzy_keys_data = 1;</code>
-       */
-      public Builder setFuzzyKeysData(
-          int index, 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair.Builder
 builderForValue) {
-        if (fuzzyKeysDataBuilder_ == null) {
-          ensureFuzzyKeysDataIsMutable();
-          fuzzyKeysData_.set(index, builderForValue.build());
-          onChanged();
-        } else {
-          fuzzyKeysDataBuilder_.setMessage(index, builderForValue.build());
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .BytesBytesPair fuzzy_keys_data = 1;</code>
-       */
-      public Builder 
addFuzzyKeysData(org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 value) {
-        if (fuzzyKeysDataBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          ensureFuzzyKeysDataIsMutable();
-          fuzzyKeysData_.add(value);
-          onChanged();
-        } else {
-          fuzzyKeysDataBuilder_.addMessage(value);
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .BytesBytesPair fuzzy_keys_data = 1;</code>
-       */
-      public Builder addFuzzyKeysData(
-          int index, 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 value) {
-        if (fuzzyKeysDataBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          ensureFuzzyKeysDataIsMutable();
-          fuzzyKeysData_.add(index, value);
-          onChanged();
-        } else {
-          fuzzyKeysDataBuilder_.addMessage(index, value);
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .BytesBytesPair fuzzy_keys_data = 1;</code>
-       */
-      public Builder addFuzzyKeysData(
-          
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair.Builder
 builderForValue) {
-        if (fuzzyKeysDataBuilder_ == null) {
-          ensureFuzzyKeysDataIsMutable();
-          fuzzyKeysData_.add(builderForValue.build());
-          onChanged();
-        } else {
-          fuzzyKeysDataBuilder_.addMessage(builderForValue.build());
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .BytesBytesPair fuzzy_keys_data = 1;</code>
-       */
-      public Builder addFuzzyKeysData(
-          int index, 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair.Builder
 builderForValue) {
-        if (fuzzyKeysDataBuilder_ == null) {
-          ensureFuzzyKeysDataIsMutable();
-          fuzzyKeysData_.add(index, builderForValue.build());
-          onChanged();
-        } else {
-          fuzzyKeysDataBuilder_.addMessage(index, builderForValue.build());
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .BytesBytesPair fuzzy_keys_data = 1;</code>
-       */
-      public Builder addAllFuzzyKeysData(
-          java.lang.Iterable<? extends 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair>
 values) {
-        if (fuzzyKeysDataBuilder_ == null) {
-          ensureFuzzyKeysDataIsMutable();
-          super.addAll(values, fuzzyKeysData_);
-          onChanged();
-        } else {
-          fuzzyKeysDataBuilder_.addAllMessages(values);
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .BytesBytesPair fuzzy_keys_data = 1;</code>
-       */
-      public Builder clearFuzzyKeysData() {
-        if (fuzzyKeysDataBuilder_ == null) {
-          fuzzyKeysData_ = java.util.Collections.emptyList();
-          bitField0_ = (bitField0_ & ~0x00000001);
-          onChanged();
-        } else {
-          fuzzyKeysDataBuilder_.clear();
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .BytesBytesPair fuzzy_keys_data = 1;</code>
-       */
-      public Builder removeFuzzyKeysData(int index) {
-        if (fuzzyKeysDataBuilder_ == null) {
-          ensureFuzzyKeysDataIsMutable();
-          fuzzyKeysData_.remove(index);
-          onChanged();
-        } else {
-          fuzzyKeysDataBuilder_.remove(index);
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .BytesBytesPair fuzzy_keys_data = 1;</code>
-       */
-      public 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair.Builder
 getFuzzyKeysDataBuilder(
-          int index) {
-        return getFuzzyKeysDataFieldBuilder().getBuilder(index);
-      }
-      /**
-       * <code>repeated .BytesBytesPair fuzzy_keys_data = 1;</code>
-       */
-      public 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPairOrBuilder
 getFuzzyKeysDataOrBuilder(
-          int index) {
-        if (fuzzyKeysDataBuilder_ == null) {
-          return fuzzyKeysData_.get(index);  } else {
-          return fuzzyKeysDataBuilder_.getMessageOrBuilder(index);
-        }
-      }
-      /**
-       * <code>repeated .BytesBytesPair fuzzy_keys_data = 1;</code>
-       */
-      public java.util.List<? extends 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPairOrBuilder>
 
-           getFuzzyKeysDataOrBuilderList() {
-        if (fuzzyKeysDataBuilder_ != null) {
-          return fuzzyKeysDataBuilder_.getMessageOrBuilderList();
-        } else {
-          return java.util.Collections.unmodifiableList(fuzzyKeysData_);
-        }
-      }
-      /**
-       * <code>repeated .BytesBytesPair fuzzy_keys_data = 1;</code>
-       */
-      public 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair.Builder
 addFuzzyKeysDataBuilder() {
-        return getFuzzyKeysDataFieldBuilder().addBuilder(
-            
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair.getDefaultInstance());
-      }
-      /**
-       * <code>repeated .BytesBytesPair fuzzy_keys_data = 1;</code>
-       */
-      public 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair.Builder
 addFuzzyKeysDataBuilder(
-          int index) {
-        return getFuzzyKeysDataFieldBuilder().addBuilder(
-            index, 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair.getDefaultInstance());
-      }
-      /**
-       * <code>repeated .BytesBytesPair fuzzy_keys_data = 1;</code>
-       */
-      public 
java.util.List<org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair.Builder>
 
-           getFuzzyKeysDataBuilderList() {
-        return getFuzzyKeysDataFieldBuilder().getBuilderList();
-      }
-      private com.google.protobuf.RepeatedFieldBuilder<
-          
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair,
 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair.Builder,
 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPairOrBuilder>
 
-          getFuzzyKeysDataFieldBuilder() {
-        if (fuzzyKeysDataBuilder_ == null) {
-          fuzzyKeysDataBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
-              
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair,
 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair.Builder,
 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPairOrBuilder>(
-                  fuzzyKeysData_,
-                  ((bitField0_ & 0x00000001) == 0x00000001),
-                  getParentForChildren(),
-                  isClean());
-          fuzzyKeysData_ = null;
-        }
-        return fuzzyKeysDataBuilder_;
-      }
-
-      // @@protoc_insertion_point(builder_scope:FuzzyRowFilterV2)
+    public static final class FuzzyRowFilterV2 extends 
com.google.protobuf.GeneratedMessage implements FuzzyRowFilterV2OrBuilder {
+        // Use FuzzyRowFilterV2.newBuilder() to construct.
+        private 
FuzzyRowFilterV2(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
+            super(builder);
+            this.unknownFields = builder.getUnknownFields();
+        }
+
+        private FuzzyRowFilterV2(boolean noInit) {
+            this.unknownFields = 
com.google.protobuf.UnknownFieldSet.getDefaultInstance();
+        }
+
+        private static final FuzzyRowFilterV2 defaultInstance;
+
+        public static FuzzyRowFilterV2 getDefaultInstance() {
+            return defaultInstance;
+        }
+
+        public FuzzyRowFilterV2 getDefaultInstanceForType() {
+            return defaultInstance;
+        }
+
+        private final com.google.protobuf.UnknownFieldSet unknownFields;
+
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private FuzzyRowFilterV2(com.google.protobuf.CodedInputStream input, 
com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws 
com.google.protobuf.InvalidProtocolBufferException {
+            initFields();
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = 
com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch (tag) {
+                    case 0:
+                        done = true;
+                        break;
+                    default: {
+                        if (!parseUnknownField(input, unknownFields, 
extensionRegistry, tag)) {
+                            done = true;
+                        }
+                        break;
+                    }
+                    case 10: {
+                        if (!((mutable_bitField0_ & 0x00000001) == 
0x00000001)) {
+                            fuzzyKeysData_ = new 
java.util.ArrayList<org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair>();
+                            mutable_bitField0_ |= 0x00000001;
+                        }
+                        
fuzzyKeysData_.add(input.readMessage(org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair.PARSER,
 extensionRegistry));
+                        break;
+                    }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new 
com.google.protobuf.InvalidProtocolBufferException(e.getMessage()).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
+                    fuzzyKeysData_ = 
java.util.Collections.unmodifiableList(fuzzyKeysData_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
+        public static final com.google.protobuf.Descriptors.Descriptor 
getDescriptor() {
+            return 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.internal_static_FuzzyRowFilterV2_descriptor;
+        }
+
+        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable 
internalGetFieldAccessorTable() {
+            return 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.internal_static_FuzzyRowFilterV2_fieldAccessorTable.ensureFieldAccessorsInitialized(org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2.class,
 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2.Builder.class);
+        }
+
+        public static com.google.protobuf.Parser<FuzzyRowFilterV2> PARSER = 
new com.google.protobuf.AbstractParser<FuzzyRowFilterV2>() {
+            public FuzzyRowFilterV2 
parsePartialFrom(com.google.protobuf.CodedInputStream input, 
com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws 
com.google.protobuf.InvalidProtocolBufferException {
+                return new FuzzyRowFilterV2(input, extensionRegistry);
+            }
+        };
+
+        @java.lang.Override
+        public com.google.protobuf.Parser<FuzzyRowFilterV2> getParserForType() 
{
+            return PARSER;
+        }
+
+        // repeated .BytesBytesPair fuzzy_keys_data = 1;
+        public static final int FUZZY_KEYS_DATA_FIELD_NUMBER = 1;
+        private 
java.util.List<org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair>
 fuzzyKeysData_;
+
+        /**
+         * <code>repeated .BytesBytesPair fuzzy_keys_data = 1;</code>
+         */
+        public 
java.util.List<org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair>
 getFuzzyKeysDataList() {
+            return fuzzyKeysData_;
+        }
+
+        /**
+         * <code>repeated .BytesBytesPair fuzzy_keys_data = 1;</code>
+         */
+        public java.util.List<? extends 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPairOrBuilder>
 getFuzzyKeysDataOrBuilderList() {
+            return fuzzyKeysData_;
+        }
+
+        /**
+         * <code>repeated .BytesBytesPair fuzzy_keys_data = 1;</code>
+         */
+        public int getFuzzyKeysDataCount() {
+            return fuzzyKeysData_.size();
+        }
+
+        /**
+         * <code>repeated .BytesBytesPair fuzzy_keys_data = 1;</code>
+         */
+        public 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPair
 getFuzzyKeysData(int index) {
+            return fuzzyKeysData_.get(index);
+        }
+
+        /**
+         * <code>repeated .BytesBytesPair fuzzy_keys_data = 1;</code>
+         */
+        public 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.BytesBytesPairOrBuilder
 getFuzzyKeysDataOrBuilder(int index) {
+            return fuzzyKeysData_.get(index);
+        }
+
+        private void initFields() {
+            fuzzyKeysData_ = java.util.Collections.emptyList();
+        }
+
+        private byte memoizedIsInitialized = -1;
+
+        public final boolean isInitialized() {
+            byte isInitialized = memoizedIsInitialized;
+            if (isInitialized != -1)
+                return isInitialized == 1;
+
+            for (int i = 0; i < getFuzzyKeysDataCount(); i++) {
+                if (!getFuzzyKeysData(i).isInitialized()) {
+                    memoizedIsInitialized = 0;
+                    return false;
+                }
+            }
+            memoizedIsInitialized = 1;
+            return true;
+        }
+
+        public void writeTo(com.google.protobuf.CodedOutputStream output) 
throws java.io.IOException {
+            getSerializedSize();
+            for (int i = 0; i < fuzzyKeysData_.size(); i++) {
+                output.writeMessage(1, fuzzyKeysData_.get(i));
+            }
+            getUnknownFields().writeTo(output);
+        }
+
+        private int memoizedSerializedSize = -1;
+
+        public int getSerializedSize() {
+            int size = memoizedSerializedSize;
+            if (size != -1)
+                return size;
+
+            size = 0;
+            for (int i = 0; i < fuzzyKeysData_.size(); i++) {
+                size += 
com.google.protobuf.CodedOutputStream.computeMessageSize(1, 
fuzzyKeysData_.get(i));
+            }
+            size += getUnknownFields().getSerializedSize();
+            memoizedSerializedSize = size;
+            return size;
+        }
+
+        private static final long serialVersionUID = 0L;
+
+        @java.lang.Override
+        protected java.lang.Object writeReplace() throws 
java.io.ObjectStreamException {
+            return super.writeReplace();
+        }
+
+        @java.lang.Override
+        public boolean equals(final java.lang.Object obj) {
+            if (obj == this) {
+                return true;
+            }
+            if (!(obj instanceof 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2))
 {
+                return super.equals(obj);
+            }
+            
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2
 other = 
(org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2)
 obj;
+
+            boolean result = true;
+            result = result && 
getFuzzyKeysDataList().equals(other.getFuzzyKeysDataList());
+            result = result && 
getUnknownFields().equals(other.getUnknownFields());
+            return result;
+        }
+
+        private int memoizedHashCode = 0;
+
+        @java.lang.Override
+        public int hashCode() {
+            if (memoizedHashCode != 0) {
+                return memoizedHashCode;
+            }
+            int hash = 41;
+            hash = (19 * hash) + getDescriptorForType().hashCode();
+            if (getFuzzyKeysDataCount() > 0) {
+                hash = (37 * hash) + FUZZY_KEYS_DATA_FIELD_NUMBER;
+                hash = (53 * hash) + getFuzzyKeysDataList().hashCode();
+            }
+            hash = (29 * hash) + getUnknownFields().hashCode();
+            memoizedHashCode = hash;
+            return hash;
+        }
+
+        public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2
 parseFrom(com.google.protobuf.ByteString data) throws 
com.google.protobuf.InvalidProtocolBufferException {
+            return PARSER.parseFrom(data);
+        }
+
+        public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2
 parseFrom(com.google.protobuf.ByteString data, 
com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws 
com.google.protobuf.InvalidProtocolBufferException {
+            return PARSER.parseFrom(data, extensionRegistry);
+        }
+
+        public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2
 parseFrom(byte[] data) throws 
com.google.protobuf.InvalidProtocolBufferException {
+            return PARSER.parseFrom(data);
+        }
+
+        public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2
 parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite 
extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            return PARSER.parseFrom(data, extensionRegistry);
+        }
+
+        public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2
 parseFrom(java.io.InputStream input) throws java.io.IOException {
+            return PARSER.parseFrom(input);
+        }
+
+        public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2
 parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite 
extensionRegistry) throws java.io.IOException {
+            return PARSER.parseFrom(input, extensionRegistry);
+        }
+
+        public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2
 parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException {
+            return PARSER.parseDelimitedFrom(input);
+        }
+
+        public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2
 parseDelimitedFrom(java.io.InputStream input, 
com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws 
java.io.IOException {
+            return PARSER.parseDelimitedFrom(input, extensionRegistry);
+        }
+
+        public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2
 parseFrom(com.google.protobuf.CodedInputStream input) throws 
java.io.IOException {
+            return PARSER.parseFrom(input);
+        }
+
+        public static 
org.apache.kylin.storage.hbase.cube.v1.filter.generated.FilterProtosExt.FuzzyRowFilterV2
 parseFrom(com.google.protobuf.CodedInputStream input, 
com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws 
java.io.IOException {
+            return PARSER.parse

<TRUNCATED>

Reply via email to