You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by sa...@apache.org on 2019/05/04 23:56:26 UTC

[pulsar] branch master updated: Check for existance of schemaInfo before accessing it (#4203)

This is an automated email from the ASF dual-hosted git repository.

sanjeevrk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/master by this push:
     new 96bf9f6  Check for existance of schemaInfo before accessing it (#4203)
96bf9f6 is described below

commit 96bf9f6156db388e2ad762ed6f471d1f8be3c8a2
Author: Sanjeev Kulkarni <sa...@gmail.com>
AuthorDate: Sat May 4 16:56:22 2019 -0700

    Check for existance of schemaInfo before accessing it (#4203)
---
 .../src/main/java/org/apache/pulsar/client/impl/MessageImpl.java        | 2 +-
 .../java/org/apache/pulsar/client/impl/TypedMessageBuilderImpl.java     | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/MessageImpl.java b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/MessageImpl.java
index d239dc1..d11d177 100644
--- a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/MessageImpl.java
+++ b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/MessageImpl.java
@@ -247,7 +247,7 @@ public class MessageImpl<T> implements Message<T> {
         byte [] schemaVersion = getSchemaVersion();
         if (schema.supportSchemaVersioning() && schemaVersion != null) {
             return schema.decode(getData(), schemaVersion);
-        } else if (SchemaType.KEY_VALUE == schema.getSchemaInfo().getType()) {
+        } else if (schema.getSchemaInfo() != null && SchemaType.KEY_VALUE == schema.getSchemaInfo().getType()) {
             KeyValueSchema kvSchema = (KeyValueSchema) schema;
             if (kvSchema.getKeyValueEncodingType() == KeyValueEncodingType.SEPARATED) {
                 return schema.decode(getKeyBytes(), getData());
diff --git a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/TypedMessageBuilderImpl.java b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/TypedMessageBuilderImpl.java
index 22f235e..e7404ab 100644
--- a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/TypedMessageBuilderImpl.java
+++ b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/TypedMessageBuilderImpl.java
@@ -99,7 +99,7 @@ public class TypedMessageBuilderImpl<T> implements TypedMessageBuilder<T> {
     public TypedMessageBuilder<T> value(T value) {
 
         checkArgument(value != null, "Need Non-Null content value");
-        if (schema.getSchemaInfo().getType() == SchemaType.KEY_VALUE) {
+        if (schema.getSchemaInfo() != null && schema.getSchemaInfo().getType() == SchemaType.KEY_VALUE) {
             KeyValueSchema kvSchema = (KeyValueSchema) schema;
             org.apache.pulsar.common.schema.KeyValue kv = (org.apache.pulsar.common.schema.KeyValue) value;
             if (kvSchema.getKeyValueEncodingType() == KeyValueEncodingType.SEPARATED) {