You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by mm...@apache.org on 2018/03/02 00:57:08 UTC
[incubator-pulsar] branch master updated: Schema registry (1/4)
(#1232)
This is an automated email from the ASF dual-hosted git repository.
mmerli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-pulsar.git
The following commit(s) were added to refs/heads/master by this push:
new 21ffe2c Schema registry (1/4) (#1232)
21ffe2c is described below
commit 21ffe2ccf217df9038776ec59a1c7986519258bb
Author: Dave Rusek <da...@gmail.com>
AuthorDate: Thu Mar 1 17:57:06 2018 -0700
Schema registry (1/4) (#1232)
* Schema Registry proto changes
* Renumber schema fields
* Update Pulsar API with schema changes
* Revert field number change
* Address issues in review
* Add schema type back to proto definition
* Remove reserved future enum fields
* regenerate code from protobuf
* Add schema version to producer success message
* Revert "Add schema version to producer success message"
This reverts commit e7e72f468cf46f1605524a7399520c22763583c9.
* Revert "Revert "Add schema version to producer success message""
This reverts commit 7b902f6bdb1cb054e26577747ff4dd8c326a6248.
---
.../apache/pulsar/common/api/proto/PulsarApi.java | 1189 ++++++++++++++++++++
pulsar-common/src/main/proto/PulsarApi.proto | 22 +
2 files changed, 1211 insertions(+)
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 96174fe..0a362b3 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 @@ public final class PulsarApi {
// @@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 final class PulsarApi {
// 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 final class PulsarApi {
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 @@ public final class PulsarApi {
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 final class PulsarApi {
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 final class PulsarApi {
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 final class PulsarApi {
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 final class PulsarApi {
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 final class PulsarApi {
if (other.hasEncryptionParam()) {
setEncryptionParam(other.getEncryptionParam());
}
+ if (other.hasSchemaVersion()) {
+ setSchemaVersion(other.getSchemaVersion());
+ }
return this;
}
@@ -3218,6 +4030,11 @@ public final class PulsarApi {
encryptionParam_ = input.readBytes();
break;
}
+ case 130: {
+ bitField0_ |= 0x00004000;
+ schemaVersion_ = input.readBytes();
+ break;
+ }
}
}
}
@@ -3755,6 +4572,30 @@ public final class PulsarApi {
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 final class PulsarApi {
// 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 final class PulsarApi {
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 @@ public final class PulsarApi {
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 class PulsarApi {
return false;
}
}
+ if (hasSchema()) {
+ if (!getSchema().isInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ }
memoizedIsInitialized = 1;
return true;
}
@@ -6203,6 +7065,9 @@ public final class PulsarApi {
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 final class PulsarApi {
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 final class PulsarApi {
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 final class PulsarApi {
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 final class PulsarApi {
if (other.hasReadCompacted()) {
setReadCompacted(other.getReadCompacted());
}
+ if (other.hasSchema()) {
+ mergeSchema(other.getSchema());
+ }
return this;
}
@@ -6550,6 +7428,12 @@ public final class PulsarApi {
return false;
}
}
+ if (hasSchema()) {
+ if (!getSchema().isInitialized()) {
+
+ return false;
+ }
+ }
return true;
}
@@ -6640,6 +7524,16 @@ public final class PulsarApi {
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 final class PulsarApi {
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 final class PulsarApi {
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 final class PulsarApi {
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 @@ public final class PulsarApi {
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 class PulsarApi {
return false;
}
}
+ if (hasSchema()) {
+ if (!getSchema().isInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ }
memoizedIsInitialized = 1;
return true;
}
@@ -10301,6 +11259,9 @@ public final class PulsarApi {
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 final class PulsarApi {
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 final class PulsarApi {
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 final class PulsarApi {
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 final class PulsarApi {
}
}
+ if (other.hasSchema()) {
+ mergeSchema(other.getSchema());
+ }
return this;
}
@@ -10569,6 +11543,12 @@ public final class PulsarApi {
return false;
}
}
+ if (hasSchema()) {
+ if (!getSchema().isInitialized()) {
+
+ return false;
+ }
+ }
return true;
}
@@ -10625,6 +11605,16 @@ public final class PulsarApi {
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 final class PulsarApi {
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 final class PulsarApi {
// 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 final class PulsarApi {
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 class PulsarApi {
memoizedIsInitialized = 0;
return false;
}
+ if (hasSchema()) {
+ if (!getSchema().isInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ }
memoizedIsInitialized = 1;
return true;
}
@@ -16982,6 +18036,9 @@ public final class PulsarApi {
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 final class PulsarApi {
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 final class PulsarApi {
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 final class PulsarApi {
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 final class PulsarApi {
if (other.hasRequestId()) {
setRequestId(other.getRequestId());
}
+ if (other.hasSchema()) {
+ mergeSchema(other.getSchema());
+ }
return this;
}
@@ -17163,6 +18233,12 @@ public final class PulsarApi {
return false;
}
+ if (hasSchema()) {
+ if (!getSchema().isInitialized()) {
+
+ return false;
+ }
+ }
return true;
}
@@ -17193,6 +18269,16 @@ public final class PulsarApi {
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 final class PulsarApi {
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 final class PulsarApi {
// 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 final class PulsarApi {
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 final class PulsarApi {
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 final class PulsarApi {
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 final class PulsarApi {
bitField0_ = (bitField0_ & ~0x00000002);
lastSequenceId_ = -1L;
bitField0_ = (bitField0_ & ~0x00000004);
+ schemaVersion_ = com.google.protobuf.ByteString.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000008);
return this;
}
@@ -17558,6 +18711,10 @@ public final class PulsarApi {
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 final class PulsarApi {
if (other.hasLastSequenceId()) {
setLastSequenceId(other.getLastSequenceId());
}
+ if (other.hasSchemaVersion()) {
+ setSchemaVersion(other.getSchemaVersion());
+ }
return this;
}
@@ -17625,6 +18785,11 @@ public final class PulsarApi {
lastSequenceId_ = input.readInt64();
break;
}
+ case 34: {
+ bitField0_ |= 0x00000008;
+ schemaVersion_ = input.readBytes();
+ break;
+ }
}
}
}
@@ -17709,6 +18874,30 @@ public final class PulsarApi {
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 826e550..00f840b 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 {
--
To stop receiving notification emails like this one, please contact
mmerli@apache.org.