Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NPE when a schema isn't found in a schema registry #1170

Closed
vordimous opened this issue Jul 31, 2024 · 0 comments · Fixed by #1241
Closed

NPE when a schema isn't found in a schema registry #1170

vordimous opened this issue Jul 31, 2024 · 0 comments · Fixed by #1241
Assignees
Labels
bug Something isn't working

Comments

@vordimous
Copy link
Contributor

Describe the bug

zilla-demo.schema-registry [31/Jul/2024:18:02:20 +0000] CATALOG_KARAPACE_SCHEMA_REGISTRY_UNRETRIEVABLE_SCHEMA_SUBJECT_VERSION Unable to fetch schema for subject core-paymenthub-simple-pay-ipn-request-value with version latest.
org.agrona.concurrent.AgentTerminationException: java.lang.NullPointerException: Cannot invoke "io.aklivity.zilla.runtime.model.avro.internal.avro.Schema.getType()" because "schema" is null
    at io.aklivity.zilla.runtime.engine@0.9.89/io.aklivity.zilla.runtime.engine.internal.registry.EngineWorker.doWork(EngineWorker.java:841)
    at org.agrona.core/org.agrona.concurrent.AgentRunner.doWork(AgentRunner.java:304)
    at org.agrona.core/org.agrona.concurrent.AgentRunner.workLoop(AgentRunner.java:296)
    at org.agrona.core/org.agrona.concurrent.AgentRunner.run(AgentRunner.java:162)
    at java.base/java.lang.Thread.run(Thread.java:1570)
Caused by: java.lang.NullPointerException: Cannot invoke "io.aklivity.zilla.runtime.model.avro.internal.avro.Schema.getType()" because "schema" is null
    at io.aklivity.zilla.runtime.model.avro@0.9.89/io.aklivity.zilla.runtime.model.avro.internal.AvroWriteConverterHandler.serializeJsonRecord(AvroWriteConverterHandler.java:90)
    at io.aklivity.zilla.runtime.catalog.schema.registry@0.9.89/io.aklivity.zilla.runtime.catalog.schema.registry.internal.handler.SchemaRegistryCatalogHandler.encode(SchemaRegistryCatalogHandler.java:318)
    at io.aklivity.zilla.runtime.model.avro@0.9.89/io.aklivity.zilla.runtime.model.avro.internal.AvroWriteConverterHandler.convert(AvroWriteConverterHandler.java:67)
    at io.aklivity.zilla.runtime.binding.kafka@0.9.89/io.aklivity.zilla.runtime.binding.kafka.internal.cache.KafkaCachePartition.writeProduceEntryContinue(KafkaCachePartition.java:869)
    at io.aklivity.zilla.runtime.binding.kafka@0.9.89/io.aklivity.zilla.runtime.binding.kafka.internal.stream.KafkaCacheClientProduceFactory$KafkaCacheClientProduceFan.onClientInitialData(KafkaCacheClientProduceFactory.java:733)
    at io.aklivity.zilla.runtime.binding.kafka@0.9.89/io.aklivity.zilla.runtime.binding.kafka.internal.stream.KafkaCacheClientProduceFactory$KafkaCacheClientProduceStream.onClientInitialData(KafkaCacheClientProduceFactory.java:1354)
    at io.aklivity.zilla.runtime.binding.kafka@0.9.89/io.aklivity.zilla.runtime.binding.kafka.internal.stream.KafkaCacheClientProduceFactory$KafkaCacheClientProduceStream.onClientMessage(KafkaCacheClientProduceFactory.java:1276)
    at io.aklivity.zilla.runtime.engine@0.9.89/io.aklivity.zilla.runtime.engine.internal.registry.EngineWorker.handleReadInitial(EngineWorker.java:1260)
    at io.aklivity.zilla.runtime.engine@0.9.89/io.aklivity.zilla.runtime.engine.internal.registry.EngineWorker.handleRead(EngineWorker.java:1227)
    at io.aklivity.zilla.runtime.engine@0.9.89/io.aklivity.zilla.runtime.engine.internal.concurent.ManyToOneRingBuffer.read(ManyToOneRingBuffer.java:229)
    at io.aklivity.zilla.runtime.engine@0.9.89/io.aklivity.zilla.runtime.engine.internal.registry.EngineWorker.doWork(EngineWorker.java:835)
    ... 4 more
    Suppressed: java.lang.Exception: [engine/data#1]        [0x010100000000001b] streams=[consumeAt=0x00003550 (0x0000000000003550), produceAt=0x00003550 (0x0000000000003550)]
            at io.aklivity.zilla.runtime.engine@0.9.89/io.aklivity.zilla.runtime.engine.internal.registry.EngineWorker.doWork(EngineWorker.java:839)
            ... 4 more
org.agrona.concurrent.AgentTerminationException: java.lang.NullPointerException: Cannot invoke "io.aklivity.zilla.runtime.engine.binding.function.MessageConsumer.accept(int, org.agrona.DirectBuffer, int, int)" because "receiver" is null
    at io.aklivity.zilla.runtime.engine@0.9.89/io.aklivity.zilla.runtime.engine.internal.registry.EngineWorker.doWork(EngineWorker.java:841)
    at org.agrona.core/org.agrona.concurrent.AgentRunner.doWork(AgentRunner.java:304)
    at org.agrona.core/org.agrona.concurrent.AgentRunner.workLoop(AgentRunner.java:296)
    at org.agrona.core/org.agrona.concurrent.AgentRunner.run(AgentRunner.java:162)
    at java.base/java.lang.Thread.run(Thread.java:1570)
Caused by: java.lang.NullPointerException: Cannot invoke "io.aklivity.zilla.runtime.engine.binding.function.MessageConsumer.accept(int, org.agrona.DirectBuffer, int, int)" because "receiver" is null
    at io.aklivity.zilla.runtime.binding.kafka@0.9.89/io.aklivity.zilla.runtime.binding.kafka.internal.stream.KafkaCacheBootstrapFactory.doEnd(KafkaCacheBootstrapFactory.java:273)
    at io.aklivity.zilla.runtime.binding.kafka@0.9.89/io.aklivity.zilla.runtime.binding.kafka.internal.stream.KafkaCacheBootstrapFactory$KafkaBootstrapMetaStream.doMetaInitialEnd(KafkaCacheBootstrapFactory.java:1176)
    at io.aklivity.zilla.runtime.binding.kafka@0.9.89/io.aklivity.zilla.runtime.binding.kafka.internal.stream.KafkaCacheBootstrapFactory$KafkaBootstrapMetaStream.doMetaInitialEndIfNecessary(KafkaCacheBootstrapFactory.java:1167)
    at io.aklivity.zilla.runtime.binding.kafka@0.9.89/io.aklivity.zilla.runtime.binding.kafka.internal.stream.KafkaCacheBootstrapFactory$KafkaBootstrapStream.onBootstrapInitialEnd(KafkaCacheBootstrapFactory.java:495)
    at io.aklivity.zilla.runtime.binding.kafka@0.9.89/io.aklivity.zilla.runtime.binding.kafka.internal.stream.KafkaCacheBootstrapFactory$KafkaBootstrapStream.onBootstrapInitial(KafkaCacheBootstrapFactory.java:439)
    at io.aklivity.zilla.runtime.engine@0.9.89/io.aklivity.zilla.runtime.engine.binding.function.MessageConsumer.lambda$andThen$0(MessageConsumer.java:82)
    at io.aklivity.zilla.runtime.engine@0.9.89/io.aklivity.zilla.runtime.engine.internal.registry.EngineWorker.handleReadInitial(EngineWorker.java:1263)
    at io.aklivity.zilla.runtime.engine@0.9.89/io.aklivity.zilla.runtime.engine.internal.registry.EngineWorker.handleRead(EngineWorker.java:1227)
    at io.aklivity.zilla.runtime.engine@0.9.89/io.aklivity.zilla.runtime.engine.internal.concurent.ManyToOneRingBuffer.read(ManyToOneRingBuffer.java:229)
    at io.aklivity.zilla.runtime.engine@0.9.89/io.aklivity.zilla.runtime.engine.internal.registry.EngineWorker.doWork(EngineWorker.java:835)
    ... 4 more
    Suppressed: java.lang.Exception: [engine/data#2]        [0x0102000000000003] streams=[consumeAt=0x0001d078 (0x000000000001d078), produceAt=0x0001d4d8 (0x000000000001d4d8)]
            at io.aklivity.zilla.runtime.engine@0.9.89/io.aklivity.zilla.runtime.engine.internal.registry.EngineWorker.doWork(EngineWorker.java:839)
            ... 4 more

To Reproduce
Steps to reproduce the behavior:

  1. Run the http.kafka.karapace
  2. POST an object without registering a schema
  3. Zilla crashes with NPE
@vordimous vordimous added the bug Something isn't working label Jul 31, 2024
@jfallows jfallows added the needs_triage Unknowns need to be addressed label Aug 27, 2024
@vordimous vordimous removed the needs_triage Unknowns need to be addressed label Aug 30, 2024
@ankitk-me ankitk-me self-assigned this Sep 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants