merlimat closed pull request #1232: Schema registry (1/4) URL: https://github.com/apache/incubator-pulsar/pull/1232
This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/pulsar-common/src/main/java/org/apache/pulsar/common/api/proto/PulsarApi.java b/pulsar-common/src/main/java/org/apache/pulsar/common/api/proto/PulsarApi.java index 96174feca..0a362b307 100644 --- a/pulsar-common/src/main/java/org/apache/pulsar/common/api/proto/PulsarApi.java +++ b/pulsar-common/src/main/java/org/apache/pulsar/common/api/proto/PulsarApi.java @@ -259,6 +259,787 @@ private ProtocolVersion(int index, int value) { // @@protoc_insertion_point(enum_scope:pulsar.proto.ProtocolVersion) } + public interface SchemaOrBuilder + extends com.google.protobuf.MessageLiteOrBuilder { + + // required string name = 1; + boolean hasName(); + String getName(); + + // required bytes version = 2; + boolean hasVersion(); + com.google.protobuf.ByteString getVersion(); + + // required bytes schema_data = 3; + boolean hasSchemaData(); + com.google.protobuf.ByteString getSchemaData(); + + // required .pulsar.proto.Schema.Type type = 4; + boolean hasType(); + org.apache.pulsar.common.api.proto.PulsarApi.Schema.Type getType(); + + // repeated .pulsar.proto.KeyValue properties = 5; + java.util.List<org.apache.pulsar.common.api.proto.PulsarApi.KeyValue> + getPropertiesList(); + org.apache.pulsar.common.api.proto.PulsarApi.KeyValue getProperties(int index); + int getPropertiesCount(); + } + public static final class Schema extends + com.google.protobuf.GeneratedMessageLite + implements SchemaOrBuilder, org.apache.pulsar.common.util.protobuf.ByteBufCodedOutputStream.ByteBufGeneratedMessage { + // Use Schema.newBuilder() to construct. + private final io.netty.util.Recycler.Handle<Schema> handle; + private Schema(io.netty.util.Recycler.Handle<Schema> handle) { + this.handle = handle; + } + + private static final io.netty.util.Recycler<Schema> RECYCLER = new io.netty.util.Recycler<Schema>() { + protected Schema newObject(Handle<Schema> handle) { + return new Schema(handle); + } + }; + + public void recycle() { + this.initFields(); + this.memoizedIsInitialized = -1; + this.bitField0_ = 0; + this.memoizedSerializedSize = -1; + handle.recycle(this); + } + + private Schema(boolean noInit) { + this.handle = null; + } + + private static final Schema defaultInstance; + public static Schema getDefaultInstance() { + return defaultInstance; + } + + public Schema getDefaultInstanceForType() { + return defaultInstance; + } + + public enum Type + implements com.google.protobuf.Internal.EnumLite { + Json(0, 1), + Protobuf(1, 2), + Thrift(2, 3), + Avro(3, 4), + ; + + public static final int Json_VALUE = 1; + public static final int Protobuf_VALUE = 2; + public static final int Thrift_VALUE = 3; + public static final int Avro_VALUE = 4; + + + public final int getNumber() { return value; } + + public static Type valueOf(int value) { + switch (value) { + case 1: return Json; + case 2: return Protobuf; + case 3: return Thrift; + case 4: return Avro; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap<Type> + internalGetValueMap() { + return internalValueMap; + } + private static com.google.protobuf.Internal.EnumLiteMap<Type> + internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap<Type>() { + public Type findValueByNumber(int number) { + return Type.valueOf(number); + } + }; + + private final int value; + + private Type(int index, int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:pulsar.proto.Schema.Type) + } + + private int bitField0_; + // required string name = 1; + public static final int NAME_FIELD_NUMBER = 1; + private java.lang.Object name_; + public boolean hasName() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + public String getName() { + java.lang.Object ref = name_; + if (ref instanceof String) { + return (String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + String s = bs.toStringUtf8(); + if (com.google.protobuf.Internal.isValidUtf8(bs)) { + name_ = s; + } + return s; + } + } + private com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + // required bytes version = 2; + public static final int VERSION_FIELD_NUMBER = 2; + private com.google.protobuf.ByteString version_; + public boolean hasVersion() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + public com.google.protobuf.ByteString getVersion() { + return version_; + } + + // required bytes schema_data = 3; + public static final int SCHEMA_DATA_FIELD_NUMBER = 3; + private com.google.protobuf.ByteString schemaData_; + public boolean hasSchemaData() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + public com.google.protobuf.ByteString getSchemaData() { + return schemaData_; + } + + // required .pulsar.proto.Schema.Type type = 4; + public static final int TYPE_FIELD_NUMBER = 4; + private org.apache.pulsar.common.api.proto.PulsarApi.Schema.Type type_; + public boolean hasType() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + public org.apache.pulsar.common.api.proto.PulsarApi.Schema.Type getType() { + return type_; + } + + // repeated .pulsar.proto.KeyValue properties = 5; + public static final int PROPERTIES_FIELD_NUMBER = 5; + private java.util.List<org.apache.pulsar.common.api.proto.PulsarApi.KeyValue> properties_; + public java.util.List<org.apache.pulsar.common.api.proto.PulsarApi.KeyValue> getPropertiesList() { + return properties_; + } + public java.util.List<? extends org.apache.pulsar.common.api.proto.PulsarApi.KeyValueOrBuilder> + getPropertiesOrBuilderList() { + return properties_; + } + public int getPropertiesCount() { + return properties_.size(); + } + public org.apache.pulsar.common.api.proto.PulsarApi.KeyValue getProperties(int index) { + return properties_.get(index); + } + public org.apache.pulsar.common.api.proto.PulsarApi.KeyValueOrBuilder getPropertiesOrBuilder( + int index) { + return properties_.get(index); + } + + private void initFields() { + name_ = ""; + version_ = com.google.protobuf.ByteString.EMPTY; + schemaData_ = com.google.protobuf.ByteString.EMPTY; + type_ = org.apache.pulsar.common.api.proto.PulsarApi.Schema.Type.Json; + properties_ = java.util.Collections.emptyList(); + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + if (!hasName()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasVersion()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasSchemaData()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasType()) { + memoizedIsInitialized = 0; + return false; + } + for (int i = 0; i < getPropertiesCount(); i++) { + if (!getProperties(i).isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + throw new RuntimeException("Cannot use CodedOutputStream"); + } + + public void writeTo(org.apache.pulsar.common.util.protobuf.ByteBufCodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeBytes(1, getNameBytes()); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeBytes(2, version_); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + output.writeBytes(3, schemaData_); + } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + output.writeEnum(4, type_.getNumber()); + } + for (int i = 0; i < properties_.size(); i++) { + output.writeMessage(5, properties_.get(i)); + } + } + + 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, getNameBytes()); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(2, version_); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(3, schemaData_); + } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(4, type_.getNumber()); + } + for (int i = 0; i < properties_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(5, properties_.get(i)); + } + memoizedSerializedSize = size; + return size; + } + + private static final long serialVersionUID = 0L; + @java.lang.Override + protected java.lang.Object writeReplace() + throws java.io.ObjectStreamException { + return super.writeReplace(); + } + + public static org.apache.pulsar.common.api.proto.PulsarApi.Schema parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + throw new RuntimeException("Disabled"); + } + public static org.apache.pulsar.common.api.proto.PulsarApi.Schema parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + throw new RuntimeException("Disabled"); + } + public static org.apache.pulsar.common.api.proto.PulsarApi.Schema parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data).buildParsed(); + } + public static org.apache.pulsar.common.api.proto.PulsarApi.Schema parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data, extensionRegistry) + .buildParsed(); + } + public static org.apache.pulsar.common.api.proto.PulsarApi.Schema parseFrom(java.io.InputStream input) + throws java.io.IOException { + return newBuilder().mergeFrom(input).buildParsed(); + } + public static org.apache.pulsar.common.api.proto.PulsarApi.Schema parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return newBuilder().mergeFrom(input, extensionRegistry) + .buildParsed(); + } + public static org.apache.pulsar.common.api.proto.PulsarApi.Schema parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + Builder builder = newBuilder(); + if (builder.mergeDelimitedFrom(input)) { + return builder.buildParsed(); + } else { + return null; + } + } + public static org.apache.pulsar.common.api.proto.PulsarApi.Schema parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + Builder builder = newBuilder(); + if (builder.mergeDelimitedFrom(input, extensionRegistry)) { + return builder.buildParsed(); + } else { + return null; + } + } + public static org.apache.pulsar.common.api.proto.PulsarApi.Schema parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return newBuilder().mergeFrom(input).buildParsed(); + } + public static org.apache.pulsar.common.api.proto.PulsarApi.Schema parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return newBuilder().mergeFrom(input, extensionRegistry) + .buildParsed(); + } + + public static Builder newBuilder() { return Builder.create(); } + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder(org.apache.pulsar.common.api.proto.PulsarApi.Schema prototype) { + return newBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { return newBuilder(this); } + + public static final class Builder extends + com.google.protobuf.GeneratedMessageLite.Builder< + org.apache.pulsar.common.api.proto.PulsarApi.Schema, Builder> + implements org.apache.pulsar.common.api.proto.PulsarApi.SchemaOrBuilder, org.apache.pulsar.common.util.protobuf.ByteBufCodedInputStream.ByteBufMessageBuilder { + // Construct using org.apache.pulsar.common.api.proto.PulsarApi.Schema.newBuilder() + private final io.netty.util.Recycler.Handle<Builder> handle; + private Builder(io.netty.util.Recycler.Handle<Builder> handle) { + this.handle = handle; + maybeForceBuilderInitialization(); + } + private final static io.netty.util.Recycler<Builder> RECYCLER = new io.netty.util.Recycler<Builder>() { + protected Builder newObject(io.netty.util.Recycler.Handle<Builder> handle) { + return new Builder(handle); + } + }; + + public void recycle() { + clear(); + handle.recycle(this); + } + + private void maybeForceBuilderInitialization() { + } + private static Builder create() { + return RECYCLER.get(); + } + + public Builder clear() { + super.clear(); + name_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); + version_ = com.google.protobuf.ByteString.EMPTY; + bitField0_ = (bitField0_ & ~0x00000002); + schemaData_ = com.google.protobuf.ByteString.EMPTY; + bitField0_ = (bitField0_ & ~0x00000004); + type_ = org.apache.pulsar.common.api.proto.PulsarApi.Schema.Type.Json; + bitField0_ = (bitField0_ & ~0x00000008); + properties_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000010); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public org.apache.pulsar.common.api.proto.PulsarApi.Schema getDefaultInstanceForType() { + return org.apache.pulsar.common.api.proto.PulsarApi.Schema.getDefaultInstance(); + } + + public org.apache.pulsar.common.api.proto.PulsarApi.Schema build() { + org.apache.pulsar.common.api.proto.PulsarApi.Schema result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + private org.apache.pulsar.common.api.proto.PulsarApi.Schema buildParsed() + throws com.google.protobuf.InvalidProtocolBufferException { + org.apache.pulsar.common.api.proto.PulsarApi.Schema result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException( + result).asInvalidProtocolBufferException(); + } + return result; + } + + public org.apache.pulsar.common.api.proto.PulsarApi.Schema buildPartial() { + org.apache.pulsar.common.api.proto.PulsarApi.Schema result = org.apache.pulsar.common.api.proto.PulsarApi.Schema.RECYCLER.get(); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.name_ = name_; + if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + to_bitField0_ |= 0x00000002; + } + result.version_ = version_; + if (((from_bitField0_ & 0x00000004) == 0x00000004)) { + to_bitField0_ |= 0x00000004; + } + result.schemaData_ = schemaData_; + if (((from_bitField0_ & 0x00000008) == 0x00000008)) { + to_bitField0_ |= 0x00000008; + } + result.type_ = type_; + if (((bitField0_ & 0x00000010) == 0x00000010)) { + properties_ = java.util.Collections.unmodifiableList(properties_); + bitField0_ = (bitField0_ & ~0x00000010); + } + result.properties_ = properties_; + result.bitField0_ = to_bitField0_; + return result; + } + + public Builder mergeFrom(org.apache.pulsar.common.api.proto.PulsarApi.Schema other) { + if (other == org.apache.pulsar.common.api.proto.PulsarApi.Schema.getDefaultInstance()) return this; + if (other.hasName()) { + setName(other.getName()); + } + if (other.hasVersion()) { + setVersion(other.getVersion()); + } + if (other.hasSchemaData()) { + setSchemaData(other.getSchemaData()); + } + if (other.hasType()) { + setType(other.getType()); + } + if (!other.properties_.isEmpty()) { + if (properties_.isEmpty()) { + properties_ = other.properties_; + bitField0_ = (bitField0_ & ~0x00000010); + } else { + ensurePropertiesIsMutable(); + properties_.addAll(other.properties_); + } + + } + return this; + } + + public final boolean isInitialized() { + if (!hasName()) { + + return false; + } + if (!hasVersion()) { + + return false; + } + if (!hasSchemaData()) { + + return false; + } + if (!hasType()) { + + return false; + } + for (int i = 0; i < getPropertiesCount(); i++) { + if (!getProperties(i).isInitialized()) { + + return false; + } + } + return true; + } + + public Builder mergeFrom(com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + throw new java.io.IOException("Merge from CodedInputStream is disabled"); + } + public Builder mergeFrom( + org.apache.pulsar.common.util.protobuf.ByteBufCodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + while (true) { + int tag = input.readTag(); + switch (tag) { + case 0: + + return this; + default: { + if (!input.skipField(tag)) { + + return this; + } + break; + } + case 10: { + bitField0_ |= 0x00000001; + name_ = input.readBytes(); + break; + } + case 18: { + bitField0_ |= 0x00000002; + version_ = input.readBytes(); + break; + } + case 26: { + bitField0_ |= 0x00000004; + schemaData_ = input.readBytes(); + break; + } + case 32: { + int rawValue = input.readEnum(); + org.apache.pulsar.common.api.proto.PulsarApi.Schema.Type value = org.apache.pulsar.common.api.proto.PulsarApi.Schema.Type.valueOf(rawValue); + if (value != null) { + bitField0_ |= 0x00000008; + type_ = value; + } + break; + } + case 42: { + org.apache.pulsar.common.api.proto.PulsarApi.KeyValue.Builder subBuilder = org.apache.pulsar.common.api.proto.PulsarApi.KeyValue.newBuilder(); + input.readMessage(subBuilder, extensionRegistry); + addProperties(subBuilder.buildPartial()); + break; + } + } + } + } + + private int bitField0_; + + // required string name = 1; + private java.lang.Object name_ = ""; + public boolean hasName() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + public String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof String)) { + String s = ((com.google.protobuf.ByteString) ref).toStringUtf8(); + name_ = s; + return s; + } else { + return (String) ref; + } + } + public Builder setName(String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + name_ = value; + + return this; + } + public Builder clearName() { + bitField0_ = (bitField0_ & ~0x00000001); + name_ = getDefaultInstance().getName(); + + return this; + } + void setName(com.google.protobuf.ByteString value) { + bitField0_ |= 0x00000001; + name_ = value; + + } + + // required bytes version = 2; + private com.google.protobuf.ByteString version_ = com.google.protobuf.ByteString.EMPTY; + public boolean hasVersion() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + public com.google.protobuf.ByteString getVersion() { + return version_; + } + public Builder setVersion(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + version_ = value; + + return this; + } + public Builder clearVersion() { + bitField0_ = (bitField0_ & ~0x00000002); + version_ = getDefaultInstance().getVersion(); + + return this; + } + + // required bytes schema_data = 3; + private com.google.protobuf.ByteString schemaData_ = com.google.protobuf.ByteString.EMPTY; + public boolean hasSchemaData() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + public com.google.protobuf.ByteString getSchemaData() { + return schemaData_; + } + public Builder setSchemaData(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000004; + schemaData_ = value; + + return this; + } + public Builder clearSchemaData() { + bitField0_ = (bitField0_ & ~0x00000004); + schemaData_ = getDefaultInstance().getSchemaData(); + + return this; + } + + // required .pulsar.proto.Schema.Type type = 4; + private org.apache.pulsar.common.api.proto.PulsarApi.Schema.Type type_ = org.apache.pulsar.common.api.proto.PulsarApi.Schema.Type.Json; + public boolean hasType() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + public org.apache.pulsar.common.api.proto.PulsarApi.Schema.Type getType() { + return type_; + } + public Builder setType(org.apache.pulsar.common.api.proto.PulsarApi.Schema.Type value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000008; + type_ = value; + + return this; + } + public Builder clearType() { + bitField0_ = (bitField0_ & ~0x00000008); + type_ = org.apache.pulsar.common.api.proto.PulsarApi.Schema.Type.Json; + + return this; + } + + // repeated .pulsar.proto.KeyValue properties = 5; + private java.util.List<org.apache.pulsar.common.api.proto.PulsarApi.KeyValue> properties_ = + java.util.Collections.emptyList(); + private void ensurePropertiesIsMutable() { + if (!((bitField0_ & 0x00000010) == 0x00000010)) { + properties_ = new java.util.ArrayList<org.apache.pulsar.common.api.proto.PulsarApi.KeyValue>(properties_); + bitField0_ |= 0x00000010; + } + } + + public java.util.List<org.apache.pulsar.common.api.proto.PulsarApi.KeyValue> getPropertiesList() { + return java.util.Collections.unmodifiableList(properties_); + } + public int getPropertiesCount() { + return properties_.size(); + } + public org.apache.pulsar.common.api.proto.PulsarApi.KeyValue getProperties(int index) { + return properties_.get(index); + } + public Builder setProperties( + int index, org.apache.pulsar.common.api.proto.PulsarApi.KeyValue value) { + if (value == null) { + throw new NullPointerException(); + } + ensurePropertiesIsMutable(); + properties_.set(index, value); + + return this; + } + public Builder setProperties( + int index, org.apache.pulsar.common.api.proto.PulsarApi.KeyValue.Builder builderForValue) { + ensurePropertiesIsMutable(); + properties_.set(index, builderForValue.build()); + + return this; + } + public Builder addProperties(org.apache.pulsar.common.api.proto.PulsarApi.KeyValue value) { + if (value == null) { + throw new NullPointerException(); + } + ensurePropertiesIsMutable(); + properties_.add(value); + + return this; + } + public Builder addProperties( + int index, org.apache.pulsar.common.api.proto.PulsarApi.KeyValue value) { + if (value == null) { + throw new NullPointerException(); + } + ensurePropertiesIsMutable(); + properties_.add(index, value); + + return this; + } + public Builder addProperties( + org.apache.pulsar.common.api.proto.PulsarApi.KeyValue.Builder builderForValue) { + ensurePropertiesIsMutable(); + properties_.add(builderForValue.build()); + + return this; + } + public Builder addProperties( + int index, org.apache.pulsar.common.api.proto.PulsarApi.KeyValue.Builder builderForValue) { + ensurePropertiesIsMutable(); + properties_.add(index, builderForValue.build()); + + return this; + } + public Builder addAllProperties( + java.lang.Iterable<? extends org.apache.pulsar.common.api.proto.PulsarApi.KeyValue> values) { + ensurePropertiesIsMutable(); + super.addAll(values, properties_); + + return this; + } + public Builder clearProperties() { + properties_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000010); + + return this; + } + public Builder removeProperties(int index) { + ensurePropertiesIsMutable(); + properties_.remove(index); + + return this; + } + + // @@protoc_insertion_point(builder_scope:pulsar.proto.Schema) + } + + static { + defaultInstance = new Schema(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:pulsar.proto.Schema) + } + public interface MessageIdDataOrBuilder extends com.google.protobuf.MessageLiteOrBuilder { @@ -2326,6 +3107,10 @@ public Builder removeMetadata(int index) { // optional bytes encryption_param = 15; boolean hasEncryptionParam(); com.google.protobuf.ByteString getEncryptionParam(); + + // optional bytes schema_version = 16; + boolean hasSchemaVersion(); + com.google.protobuf.ByteString getSchemaVersion(); } public static final class MessageMetadata extends com.google.protobuf.GeneratedMessageLite @@ -2618,6 +3403,16 @@ public boolean hasEncryptionParam() { return encryptionParam_; } + // optional bytes schema_version = 16; + public static final int SCHEMA_VERSION_FIELD_NUMBER = 16; + private com.google.protobuf.ByteString schemaVersion_; + public boolean hasSchemaVersion() { + return ((bitField0_ & 0x00000800) == 0x00000800); + } + public com.google.protobuf.ByteString getSchemaVersion() { + return schemaVersion_; + } + private void initFields() { producerName_ = ""; sequenceId_ = 0L; @@ -2633,6 +3428,7 @@ private void initFields() { encryptionKeys_ = java.util.Collections.emptyList(); encryptionAlgo_ = ""; encryptionParam_ = com.google.protobuf.ByteString.EMPTY; + schemaVersion_ = com.google.protobuf.ByteString.EMPTY; } private byte memoizedIsInitialized = -1; public final boolean isInitialized() { @@ -2717,6 +3513,9 @@ public void writeTo(org.apache.pulsar.common.util.protobuf.ByteBufCodedOutputStr if (((bitField0_ & 0x00000400) == 0x00000400)) { output.writeBytes(15, encryptionParam_); } + if (((bitField0_ & 0x00000800) == 0x00000800)) { + output.writeBytes(16, schemaVersion_); + } } private int memoizedSerializedSize = -1; @@ -2786,6 +3585,10 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeBytesSize(15, encryptionParam_); } + if (((bitField0_ & 0x00000800) == 0x00000800)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(16, schemaVersion_); + } memoizedSerializedSize = size; return size; } @@ -2927,6 +3730,8 @@ public Builder clear() { bitField0_ = (bitField0_ & ~0x00001000); encryptionParam_ = com.google.protobuf.ByteString.EMPTY; bitField0_ = (bitField0_ & ~0x00002000); + schemaVersion_ = com.google.protobuf.ByteString.EMPTY; + bitField0_ = (bitField0_ & ~0x00004000); return this; } @@ -3020,6 +3825,10 @@ public Builder clone() { to_bitField0_ |= 0x00000400; } result.encryptionParam_ = encryptionParam_; + if (((from_bitField0_ & 0x00004000) == 0x00004000)) { + to_bitField0_ |= 0x00000800; + } + result.schemaVersion_ = schemaVersion_; result.bitField0_ = to_bitField0_; return result; } @@ -3089,6 +3898,9 @@ public Builder mergeFrom(org.apache.pulsar.common.api.proto.PulsarApi.MessageMet if (other.hasEncryptionParam()) { setEncryptionParam(other.getEncryptionParam()); } + if (other.hasSchemaVersion()) { + setSchemaVersion(other.getSchemaVersion()); + } return this; } @@ -3218,6 +4030,11 @@ public Builder mergeFrom( encryptionParam_ = input.readBytes(); break; } + case 130: { + bitField0_ |= 0x00004000; + schemaVersion_ = input.readBytes(); + break; + } } } } @@ -3755,6 +4572,30 @@ public Builder clearEncryptionParam() { return this; } + // optional bytes schema_version = 16; + private com.google.protobuf.ByteString schemaVersion_ = com.google.protobuf.ByteString.EMPTY; + public boolean hasSchemaVersion() { + return ((bitField0_ & 0x00004000) == 0x00004000); + } + public com.google.protobuf.ByteString getSchemaVersion() { + return schemaVersion_; + } + public Builder setSchemaVersion(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00004000; + schemaVersion_ = value; + + return this; + } + public Builder clearSchemaVersion() { + bitField0_ = (bitField0_ & ~0x00004000); + schemaVersion_ = getDefaultInstance().getSchemaVersion(); + + return this; + } + // @@protoc_insertion_point(builder_scope:pulsar.proto.MessageMetadata) } @@ -5839,6 +6680,10 @@ public Builder clearProtocolVersion() { // optional bool read_compacted = 11; boolean hasReadCompacted(); boolean getReadCompacted(); + + // optional .pulsar.proto.Schema schema = 12; + boolean hasSchema(); + org.apache.pulsar.common.api.proto.PulsarApi.Schema getSchema(); } public static final class CommandSubscribe extends com.google.protobuf.GeneratedMessageLite @@ -6108,6 +6953,16 @@ public boolean getReadCompacted() { return readCompacted_; } + // optional .pulsar.proto.Schema schema = 12; + public static final int SCHEMA_FIELD_NUMBER = 12; + private org.apache.pulsar.common.api.proto.PulsarApi.Schema schema_; + public boolean hasSchema() { + return ((bitField0_ & 0x00000400) == 0x00000400); + } + public org.apache.pulsar.common.api.proto.PulsarApi.Schema getSchema() { + return schema_; + } + private void initFields() { topic_ = ""; subscription_ = ""; @@ -6120,6 +6975,7 @@ private void initFields() { startMessageId_ = org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData.getDefaultInstance(); metadata_ = java.util.Collections.emptyList(); readCompacted_ = false; + schema_ = org.apache.pulsar.common.api.proto.PulsarApi.Schema.getDefaultInstance(); } private byte memoizedIsInitialized = -1; public final boolean isInitialized() { @@ -6158,6 +7014,12 @@ public final boolean isInitialized() { return false; } } + if (hasSchema()) { + if (!getSchema().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } memoizedIsInitialized = 1; return true; } @@ -6203,6 +7065,9 @@ public void writeTo(org.apache.pulsar.common.util.protobuf.ByteBufCodedOutputStr if (((bitField0_ & 0x00000200) == 0x00000200)) { output.writeBool(11, readCompacted_); } + if (((bitField0_ & 0x00000400) == 0x00000400)) { + output.writeMessage(12, schema_); + } } private int memoizedSerializedSize = -1; @@ -6255,6 +7120,10 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeBoolSize(11, readCompacted_); } + if (((bitField0_ & 0x00000400) == 0x00000400)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(12, schema_); + } memoizedSerializedSize = size; return size; } @@ -6390,6 +7259,8 @@ public Builder clear() { bitField0_ = (bitField0_ & ~0x00000200); readCompacted_ = false; bitField0_ = (bitField0_ & ~0x00000400); + schema_ = org.apache.pulsar.common.api.proto.PulsarApi.Schema.getDefaultInstance(); + bitField0_ = (bitField0_ & ~0x00000800); return this; } @@ -6468,6 +7339,10 @@ public Builder clone() { to_bitField0_ |= 0x00000200; } result.readCompacted_ = readCompacted_; + if (((from_bitField0_ & 0x00000800) == 0x00000800)) { + to_bitField0_ |= 0x00000400; + } + result.schema_ = schema_; result.bitField0_ = to_bitField0_; return result; } @@ -6514,6 +7389,9 @@ public Builder mergeFrom(org.apache.pulsar.common.api.proto.PulsarApi.CommandSub if (other.hasReadCompacted()) { setReadCompacted(other.getReadCompacted()); } + if (other.hasSchema()) { + mergeSchema(other.getSchema()); + } return this; } @@ -6550,6 +7428,12 @@ public final boolean isInitialized() { return false; } } + if (hasSchema()) { + if (!getSchema().isInitialized()) { + + return false; + } + } return true; } @@ -6640,6 +7524,16 @@ public Builder mergeFrom( readCompacted_ = input.readBool(); break; } + case 98: { + org.apache.pulsar.common.api.proto.PulsarApi.Schema.Builder subBuilder = org.apache.pulsar.common.api.proto.PulsarApi.Schema.newBuilder(); + if (hasSchema()) { + subBuilder.mergeFrom(getSchema()); + } + input.readMessage(subBuilder, extensionRegistry); + setSchema(subBuilder.buildPartial()); + subBuilder.recycle(); + break; + } } } } @@ -7015,6 +7909,49 @@ public Builder clearReadCompacted() { return this; } + // optional .pulsar.proto.Schema schema = 12; + private org.apache.pulsar.common.api.proto.PulsarApi.Schema schema_ = org.apache.pulsar.common.api.proto.PulsarApi.Schema.getDefaultInstance(); + public boolean hasSchema() { + return ((bitField0_ & 0x00000800) == 0x00000800); + } + public org.apache.pulsar.common.api.proto.PulsarApi.Schema getSchema() { + return schema_; + } + public Builder setSchema(org.apache.pulsar.common.api.proto.PulsarApi.Schema value) { + if (value == null) { + throw new NullPointerException(); + } + schema_ = value; + + bitField0_ |= 0x00000800; + return this; + } + public Builder setSchema( + org.apache.pulsar.common.api.proto.PulsarApi.Schema.Builder builderForValue) { + schema_ = builderForValue.build(); + + bitField0_ |= 0x00000800; + return this; + } + public Builder mergeSchema(org.apache.pulsar.common.api.proto.PulsarApi.Schema value) { + if (((bitField0_ & 0x00000800) == 0x00000800) && + schema_ != org.apache.pulsar.common.api.proto.PulsarApi.Schema.getDefaultInstance()) { + schema_ = + org.apache.pulsar.common.api.proto.PulsarApi.Schema.newBuilder(schema_).mergeFrom(value).buildPartial(); + } else { + schema_ = value; + } + + bitField0_ |= 0x00000800; + return this; + } + public Builder clearSchema() { + schema_ = org.apache.pulsar.common.api.proto.PulsarApi.Schema.getDefaultInstance(); + + bitField0_ = (bitField0_ & ~0x00000800); + return this; + } + // @@protoc_insertion_point(builder_scope:pulsar.proto.CommandSubscribe) } @@ -10087,6 +11024,10 @@ public Builder clearProxyThroughServiceUrl() { getMetadataList(); org.apache.pulsar.common.api.proto.PulsarApi.KeyValue getMetadata(int index); int getMetadataCount(); + + // optional .pulsar.proto.Schema schema = 7; + boolean hasSchema(); + org.apache.pulsar.common.api.proto.PulsarApi.Schema getSchema(); } public static final class CommandProducer extends com.google.protobuf.GeneratedMessageLite @@ -10240,6 +11181,16 @@ public int getMetadataCount() { return metadata_.get(index); } + // optional .pulsar.proto.Schema schema = 7; + public static final int SCHEMA_FIELD_NUMBER = 7; + private org.apache.pulsar.common.api.proto.PulsarApi.Schema schema_; + public boolean hasSchema() { + return ((bitField0_ & 0x00000020) == 0x00000020); + } + public org.apache.pulsar.common.api.proto.PulsarApi.Schema getSchema() { + return schema_; + } + private void initFields() { topic_ = ""; producerId_ = 0L; @@ -10247,6 +11198,7 @@ private void initFields() { producerName_ = ""; encrypted_ = false; metadata_ = java.util.Collections.emptyList(); + schema_ = org.apache.pulsar.common.api.proto.PulsarApi.Schema.getDefaultInstance(); } private byte memoizedIsInitialized = -1; public final boolean isInitialized() { @@ -10271,6 +11223,12 @@ public final boolean isInitialized() { return false; } } + if (hasSchema()) { + if (!getSchema().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } memoizedIsInitialized = 1; return true; } @@ -10301,6 +11259,9 @@ public void writeTo(org.apache.pulsar.common.util.protobuf.ByteBufCodedOutputStr for (int i = 0; i < metadata_.size(); i++) { output.writeMessage(6, metadata_.get(i)); } + if (((bitField0_ & 0x00000020) == 0x00000020)) { + output.writeMessage(7, schema_); + } } private int memoizedSerializedSize = -1; @@ -10333,6 +11294,10 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeMessageSize(6, metadata_.get(i)); } + if (((bitField0_ & 0x00000020) == 0x00000020)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(7, schema_); + } memoizedSerializedSize = size; return size; } @@ -10458,6 +11423,8 @@ public Builder clear() { bitField0_ = (bitField0_ & ~0x00000010); metadata_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000020); + schema_ = org.apache.pulsar.common.api.proto.PulsarApi.Schema.getDefaultInstance(); + bitField0_ = (bitField0_ & ~0x00000040); return this; } @@ -10516,6 +11483,10 @@ public Builder clone() { bitField0_ = (bitField0_ & ~0x00000020); } result.metadata_ = metadata_; + if (((from_bitField0_ & 0x00000040) == 0x00000040)) { + to_bitField0_ |= 0x00000020; + } + result.schema_ = schema_; result.bitField0_ = to_bitField0_; return result; } @@ -10547,6 +11518,9 @@ public Builder mergeFrom(org.apache.pulsar.common.api.proto.PulsarApi.CommandPro } } + if (other.hasSchema()) { + mergeSchema(other.getSchema()); + } return this; } @@ -10569,6 +11543,12 @@ public final boolean isInitialized() { return false; } } + if (hasSchema()) { + if (!getSchema().isInitialized()) { + + return false; + } + } return true; } @@ -10625,6 +11605,16 @@ public Builder mergeFrom( addMetadata(subBuilder.buildPartial()); break; } + case 58: { + org.apache.pulsar.common.api.proto.PulsarApi.Schema.Builder subBuilder = org.apache.pulsar.common.api.proto.PulsarApi.Schema.newBuilder(); + if (hasSchema()) { + subBuilder.mergeFrom(getSchema()); + } + input.readMessage(subBuilder, extensionRegistry); + setSchema(subBuilder.buildPartial()); + subBuilder.recycle(); + break; + } } } } @@ -10855,6 +11845,49 @@ public Builder removeMetadata(int index) { return this; } + // optional .pulsar.proto.Schema schema = 7; + private org.apache.pulsar.common.api.proto.PulsarApi.Schema schema_ = org.apache.pulsar.common.api.proto.PulsarApi.Schema.getDefaultInstance(); + public boolean hasSchema() { + return ((bitField0_ & 0x00000040) == 0x00000040); + } + public org.apache.pulsar.common.api.proto.PulsarApi.Schema getSchema() { + return schema_; + } + public Builder setSchema(org.apache.pulsar.common.api.proto.PulsarApi.Schema value) { + if (value == null) { + throw new NullPointerException(); + } + schema_ = value; + + bitField0_ |= 0x00000040; + return this; + } + public Builder setSchema( + org.apache.pulsar.common.api.proto.PulsarApi.Schema.Builder builderForValue) { + schema_ = builderForValue.build(); + + bitField0_ |= 0x00000040; + return this; + } + public Builder mergeSchema(org.apache.pulsar.common.api.proto.PulsarApi.Schema value) { + if (((bitField0_ & 0x00000040) == 0x00000040) && + schema_ != org.apache.pulsar.common.api.proto.PulsarApi.Schema.getDefaultInstance()) { + schema_ = + org.apache.pulsar.common.api.proto.PulsarApi.Schema.newBuilder(schema_).mergeFrom(value).buildPartial(); + } else { + schema_ = value; + } + + bitField0_ |= 0x00000040; + return this; + } + public Builder clearSchema() { + schema_ = org.apache.pulsar.common.api.proto.PulsarApi.Schema.getDefaultInstance(); + + bitField0_ = (bitField0_ & ~0x00000040); + return this; + } + // @@protoc_insertion_point(builder_scope:pulsar.proto.CommandProducer) } @@ -16907,6 +17940,10 @@ public Builder removeMessageIds(int index) { // required uint64 request_id = 1; boolean hasRequestId(); long getRequestId(); + + // optional .pulsar.proto.Schema schema = 2; + boolean hasSchema(); + org.apache.pulsar.common.api.proto.PulsarApi.Schema getSchema(); } public static final class CommandSuccess extends com.google.protobuf.GeneratedMessageLite @@ -16955,8 +17992,19 @@ public long getRequestId() { return requestId_; } + // optional .pulsar.proto.Schema schema = 2; + public static final int SCHEMA_FIELD_NUMBER = 2; + private org.apache.pulsar.common.api.proto.PulsarApi.Schema schema_; + public boolean hasSchema() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + public org.apache.pulsar.common.api.proto.PulsarApi.Schema getSchema() { + return schema_; + } + private void initFields() { requestId_ = 0L; + schema_ = org.apache.pulsar.common.api.proto.PulsarApi.Schema.getDefaultInstance(); } private byte memoizedIsInitialized = -1; public final boolean isInitialized() { @@ -16967,6 +18015,12 @@ public final boolean isInitialized() { memoizedIsInitialized = 0; return false; } + if (hasSchema()) { + if (!getSchema().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } memoizedIsInitialized = 1; return true; } @@ -16982,6 +18036,9 @@ public void writeTo(org.apache.pulsar.common.util.protobuf.ByteBufCodedOutputStr if (((bitField0_ & 0x00000001) == 0x00000001)) { output.writeUInt64(1, requestId_); } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeMessage(2, schema_); + } } private int memoizedSerializedSize = -1; @@ -16994,6 +18051,10 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeUInt64Size(1, requestId_); } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, schema_); + } memoizedSerializedSize = size; return size; } @@ -17109,6 +18170,8 @@ public Builder clear() { super.clear(); requestId_ = 0L; bitField0_ = (bitField0_ & ~0x00000001); + schema_ = org.apache.pulsar.common.api.proto.PulsarApi.Schema.getDefaultInstance(); + bitField0_ = (bitField0_ & ~0x00000002); return this; } @@ -17146,6 +18209,10 @@ public Builder clone() { to_bitField0_ |= 0x00000001; } result.requestId_ = requestId_; + if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + to_bitField0_ |= 0x00000002; + } + result.schema_ = schema_; result.bitField0_ = to_bitField0_; return result; } @@ -17155,6 +18222,9 @@ public Builder mergeFrom(org.apache.pulsar.common.api.proto.PulsarApi.CommandSuc if (other.hasRequestId()) { setRequestId(other.getRequestId()); } + if (other.hasSchema()) { + mergeSchema(other.getSchema()); + } return this; } @@ -17163,6 +18233,12 @@ public final boolean isInitialized() { return false; } + if (hasSchema()) { + if (!getSchema().isInitialized()) { + + return false; + } + } return true; } @@ -17193,6 +18269,16 @@ public Builder mergeFrom( requestId_ = input.readUInt64(); break; } + case 18: { + org.apache.pulsar.common.api.proto.PulsarApi.Schema.Builder subBuilder = org.apache.pulsar.common.api.proto.PulsarApi.Schema.newBuilder(); + if (hasSchema()) { + subBuilder.mergeFrom(getSchema()); + } + input.readMessage(subBuilder, extensionRegistry); + setSchema(subBuilder.buildPartial()); + subBuilder.recycle(); + break; + } } } } @@ -17220,6 +18306,49 @@ public Builder clearRequestId() { return this; } + // optional .pulsar.proto.Schema schema = 2; + private org.apache.pulsar.common.api.proto.PulsarApi.Schema schema_ = org.apache.pulsar.common.api.proto.PulsarApi.Schema.getDefaultInstance(); + public boolean hasSchema() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + public org.apache.pulsar.common.api.proto.PulsarApi.Schema getSchema() { + return schema_; + } + public Builder setSchema(org.apache.pulsar.common.api.proto.PulsarApi.Schema value) { + if (value == null) { + throw new NullPointerException(); + } + schema_ = value; + + bitField0_ |= 0x00000002; + return this; + } + public Builder setSchema( + org.apache.pulsar.common.api.proto.PulsarApi.Schema.Builder builderForValue) { + schema_ = builderForValue.build(); + + bitField0_ |= 0x00000002; + return this; + } + public Builder mergeSchema(org.apache.pulsar.common.api.proto.PulsarApi.Schema value) { + if (((bitField0_ & 0x00000002) == 0x00000002) && + schema_ != org.apache.pulsar.common.api.proto.PulsarApi.Schema.getDefaultInstance()) { + schema_ = + org.apache.pulsar.common.api.proto.PulsarApi.Schema.newBuilder(schema_).mergeFrom(value).buildPartial(); + } else { + schema_ = value; + } + + bitField0_ |= 0x00000002; + return this; + } + public Builder clearSchema() { + schema_ = org.apache.pulsar.common.api.proto.PulsarApi.Schema.getDefaultInstance(); + + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + // @@protoc_insertion_point(builder_scope:pulsar.proto.CommandSuccess) } @@ -17245,6 +18374,10 @@ public Builder clearRequestId() { // optional int64 last_sequence_id = 3 [default = -1]; boolean hasLastSequenceId(); long getLastSequenceId(); + + // optional bytes schema_version = 4; + boolean hasSchemaVersion(); + com.google.protobuf.ByteString getSchemaVersion(); } public static final class CommandProducerSuccess extends com.google.protobuf.GeneratedMessageLite @@ -17335,10 +18468,21 @@ public long getLastSequenceId() { return lastSequenceId_; } + // optional bytes schema_version = 4; + public static final int SCHEMA_VERSION_FIELD_NUMBER = 4; + private com.google.protobuf.ByteString schemaVersion_; + public boolean hasSchemaVersion() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + public com.google.protobuf.ByteString getSchemaVersion() { + return schemaVersion_; + } + private void initFields() { requestId_ = 0L; producerName_ = ""; lastSequenceId_ = -1L; + schemaVersion_ = com.google.protobuf.ByteString.EMPTY; } private byte memoizedIsInitialized = -1; public final boolean isInitialized() { @@ -17374,6 +18518,9 @@ public void writeTo(org.apache.pulsar.common.util.protobuf.ByteBufCodedOutputStr if (((bitField0_ & 0x00000004) == 0x00000004)) { output.writeInt64(3, lastSequenceId_); } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + output.writeBytes(4, schemaVersion_); + } } private int memoizedSerializedSize = -1; @@ -17394,6 +18541,10 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeInt64Size(3, lastSequenceId_); } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(4, schemaVersion_); + } memoizedSerializedSize = size; return size; } @@ -17513,6 +18664,8 @@ public Builder clear() { bitField0_ = (bitField0_ & ~0x00000002); lastSequenceId_ = -1L; bitField0_ = (bitField0_ & ~0x00000004); + schemaVersion_ = com.google.protobuf.ByteString.EMPTY; + bitField0_ = (bitField0_ & ~0x00000008); return this; } @@ -17558,6 +18711,10 @@ public Builder clone() { to_bitField0_ |= 0x00000004; } result.lastSequenceId_ = lastSequenceId_; + if (((from_bitField0_ & 0x00000008) == 0x00000008)) { + to_bitField0_ |= 0x00000008; + } + result.schemaVersion_ = schemaVersion_; result.bitField0_ = to_bitField0_; return result; } @@ -17573,6 +18730,9 @@ public Builder mergeFrom(org.apache.pulsar.common.api.proto.PulsarApi.CommandPro if (other.hasLastSequenceId()) { setLastSequenceId(other.getLastSequenceId()); } + if (other.hasSchemaVersion()) { + setSchemaVersion(other.getSchemaVersion()); + } return this; } @@ -17625,6 +18785,11 @@ public Builder mergeFrom( lastSequenceId_ = input.readInt64(); break; } + case 34: { + bitField0_ |= 0x00000008; + schemaVersion_ = input.readBytes(); + break; + } } } } @@ -17709,6 +18874,30 @@ public Builder clearLastSequenceId() { return this; } + // optional bytes schema_version = 4; + private com.google.protobuf.ByteString schemaVersion_ = com.google.protobuf.ByteString.EMPTY; + public boolean hasSchemaVersion() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + public com.google.protobuf.ByteString getSchemaVersion() { + return schemaVersion_; + } + public Builder setSchemaVersion(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000008; + schemaVersion_ = value; + + return this; + } + public Builder clearSchemaVersion() { + bitField0_ = (bitField0_ & ~0x00000008); + schemaVersion_ = getDefaultInstance().getSchemaVersion(); + + return this; + } + // @@protoc_insertion_point(builder_scope:pulsar.proto.CommandProducerSuccess) } diff --git a/pulsar-common/src/main/proto/PulsarApi.proto b/pulsar-common/src/main/proto/PulsarApi.proto index 826e55082..00f840be2 100644 --- a/pulsar-common/src/main/proto/PulsarApi.proto +++ b/pulsar-common/src/main/proto/PulsarApi.proto @@ -22,6 +22,21 @@ package pulsar.proto; option java_package = "org.apache.pulsar.common.api.proto"; option optimize_for = LITE_RUNTIME; +message Schema { + enum Type { + Json = 1; + Protobuf = 2; + Thrift = 3; + Avro = 4; + } + + required string name = 1; + required bytes version = 2; + required bytes schema_data = 3; + required Type type = 4; + repeated KeyValue properties = 5; +} + message MessageIdData { required uint64 ledgerId = 1; required uint64 entryId = 2; @@ -81,6 +96,7 @@ message MessageMetadata { optional string encryption_algo = 14; // Additional parameters required by encryption optional bytes encryption_param = 15; + optional bytes schema_version = 16; } @@ -197,6 +213,8 @@ message CommandSubscribe { repeated KeyValue metadata = 10; optional bool read_compacted = 11; + + optional Schema schema = 12; } message CommandPartitionedTopicMetadata { @@ -275,6 +293,8 @@ message CommandProducer { /// Add optional metadata key=value to this producer repeated KeyValue metadata = 6; + + optional Schema schema = 7; } message CommandSend { @@ -377,6 +397,7 @@ message CommandRedeliverUnacknowledgedMessages { message CommandSuccess { required uint64 request_id = 1; + optional Schema schema = 2; } /// Response from CommandProducer @@ -387,6 +408,7 @@ message CommandProducerSuccess { // The last sequence id that was stored by this producer in the previous session // This will only be meaningful if deduplication has been enabled. optional int64 last_sequence_id = 3 [default = -1]; + optional bytes schema_version = 4; } message CommandError { ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services