GitHub user anthonyikeda added a comment to the discussion: [Bug] Pulsar Client 
ignores producer schema

Am I getting my schemas mixed up? Tried using schema type AVRO but now getting:

product.avsc
```json
{
    "type" : "record",
    "namespace" : "com.pulsar.workshop",
    "name" : "Product",
    "fields" : [
        {
            "name" : "product_id",
            "type" : "int"
        },
        {
            "name" : "product_name",
            "type" : "string"
        },
        {
            "name" : "product_description",
            "type" : [ "null", "string" ]
        }
    ]
}
```

topic-schema.json
```json
{
    "type" : "AVRO",
    "schema" : "{ \"type\" : \"record\", \"namespace\" : 
\"com.pulsar.workshop\", \"name\" : \"Product\", \"fields\" : [ { \"name\" : 
\"product_id\", \"type\" : \"int\" }, { \"name\" : \"product_name\", \"type\" : 
\"string\" }, {\"name\" : \"product_description\", \"type\" : [ 
\"null\",\"string\" ] } ] }"
}
```


```bash
2023-04-05T13:09:56,851-0700 [main] ERROR 
org.apache.pulsar.client.cli.PulsarClientTool - Error while producing messages
2023-04-05T13:09:56,851-0700 [main] ERROR 
org.apache.pulsar.client.cli.PulsarClientTool - 
java.lang.ArrayIndexOutOfBoundsException: Index 56 out of bounds for length 2
org.apache.pulsar.client.api.SchemaSerializationException: 
java.lang.ArrayIndexOutOfBoundsException: Index 56 out of bounds for length 2
        at 
org.apache.pulsar.client.impl.schema.generic.GenericAvroReader.read(GenericAvroReader.java:91)
 ~[org.apache.pulsar-pulsar-client-original-2.11.0.jar:2.11.0]
        at 
org.apache.pulsar.client.impl.schema.generic.GenericAvroReader.read(GenericAvroReader.java:41)
 ~[org.apache.pulsar-pulsar-client-original-2.11.0.jar:2.11.0]
        at 
org.apache.pulsar.client.api.schema.SchemaReader.read(SchemaReader.java:40) 
~[org.apache.pulsar-pulsar-client-api-2.11.0.jar:2.11.0]
        at 
org.apache.pulsar.client.impl.schema.reader.AbstractMultiVersionReader.read(AbstractMultiVersionReader.java:61)
 ~[org.apache.pulsar-pulsar-client-original-2.11.0.jar:2.11.0]
        at 
org.apache.pulsar.client.api.schema.SchemaReader.read(SchemaReader.java:40) 
~[org.apache.pulsar-pulsar-client-api-2.11.0.jar:2.11.0]
        at 
org.apache.pulsar.client.impl.schema.AbstractStructSchema.decode(AbstractStructSchema.java:66)
 ~[org.apache.pulsar-pulsar-client-original-2.11.0.jar:2.11.0]
        at org.apache.pulsar.client.api.Schema.validate(Schema.java:63) 
~[org.apache.pulsar-pulsar-client-api-2.11.0.jar:2.11.0]
        at 
org.apache.pulsar.client.impl.schema.AutoProduceBytesSchema.encode(AutoProduceBytesSchema.java:80)
 ~[org.apache.pulsar-pulsar-client-original-2.11.0.jar:2.11.0]
        at 
org.apache.pulsar.client.impl.schema.AutoProduceBytesSchema.encode(AutoProduceBytesSchema.java:32)
 ~[org.apache.pulsar-pulsar-client-original-2.11.0.jar:2.11.0]
        at 
org.apache.pulsar.client.impl.TypedMessageBuilderImpl.value(TypedMessageBuilderImpl.java:173)
 ~[org.apache.pulsar-pulsar-client-original-2.11.0.jar:2.11.0]
        at org.apache.pulsar.client.cli.CmdProduce.publish(CmdProduce.java:288) 
~[org.apache.pulsar-pulsar-client-tools-2.11.0.jar:2.11.0]
        at org.apache.pulsar.client.cli.CmdProduce.run(CmdProduce.java:239) 
~[org.apache.pulsar-pulsar-client-tools-2.11.0.jar:2.11.0]
        at 
org.apache.pulsar.client.cli.PulsarClientTool.run(PulsarClientTool.java:219) 
~[org.apache.pulsar-pulsar-client-tools-2.11.0.jar:2.11.0]
        at 
org.apache.pulsar.client.cli.PulsarClientTool.main(PulsarClientTool.java:259) 
~[org.apache.pulsar-pulsar-client-tools-2.11.0.jar:2.11.0]
Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 56 out of bounds for 
length 2
        at 
org.apache.avro.io.parsing.Symbol$Alternative.getSymbol(Symbol.java:460) 
~[org.apache.avro-avro-1.10.2.jar:1.10.2]
        at 
org.apache.avro.io.ResolvingDecoder.readIndex(ResolvingDecoder.java:283) 
~[org.apache.avro-avro-1.10.2.jar:1.10.2]
        at 
org.apache.avro.generic.GenericDatumReader.readWithoutConversion(GenericDatumReader.java:187)
 ~[org.apache.avro-avro-1.10.2.jar:1.10.2]
        at 
org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:160) 
~[org.apache.avro-avro-1.10.2.jar:1.10.2]
        at 
org.apache.avro.generic.GenericDatumReader.readField(GenericDatumReader.java:259)
 ~[org.apache.avro-avro-1.10.2.jar:1.10.2]
        at 
org.apache.avro.generic.GenericDatumReader.readRecord(GenericDatumReader.java:247)
 ~[org.apache.avro-avro-1.10.2.jar:1.10.2]
        at 
org.apache.avro.generic.GenericDatumReader.readWithoutConversion(GenericDatumReader.java:179)
 ~[org.apache.avro-avro-1.10.2.jar:1.10.2]
        at 
org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:160) 
~[org.apache.avro-avro-1.10.2.jar:1.10.2]
        at 
org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:153) 
~[org.apache.avro-avro-1.10.2.jar:1.10.2]
        at 
org.apache.pulsar.client.impl.schema.generic.GenericAvroReader.read(GenericAvroReader.java:86)
 ~[org.apache.pulsar-pulsar-client-original-2.11.0.jar:2.11.0]
        ... 13 more
2023-04-05T13:09:56,859-0700 [main] INFO  
org.apache.pulsar.client.cli.PulsarClientTool - 0 messages successfully produced

```

GitHub link: 
https://github.com/apache/pulsar/discussions/20586#discussioncomment-6187221

----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: [email protected]

Reply via email to