You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I searched in the issues and found nothing similar.
Read release policy
I understand that unsupported versions don't get bug fixes. I will attempt to reproduce the issue on a supported version of Pulsar client and Pulsar broker.
Version
Well not sure if I should call it a bug because. I guess it's not part of the spec. But sure would be a nice feature to have. When running the Java Pulsar client on Java 17, 21 and 23. I can produce messages with a Java Record class using the Schema.JSON method but Schema.AVRO is won't work.
at org.apache.pulsar.shade.io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:405) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.shade.io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.shade.io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.shade.io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na]
Caused by: java.lang.UnsupportedOperationException: can't get field offset on a record class: private final long net.anyuruf.order_producer.models.Order.createdAt
at jdk.unsupported/sun.misc.Unsafe.objectFieldOffset(Unsafe.java:655) ~[na:na]
at org.apache.pulsar.shade.org.apache.avro.reflect.FieldAccessUnsafe$UnsafeCachedField.<init>(FieldAccessUnsafe.java:81) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.shade.org.apache.avro.reflect.FieldAccessUnsafe$UnsafeLongField.<init>(FieldAccessUnsafe.java:260) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.shade.org.apache.avro.reflect.FieldAccessUnsafe.getAccessor(FieldAccessUnsafe.java:58) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.shade.org.apache.avro.reflect.ReflectData$ClassAccessorData.<init>(ReflectData.java:372) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.shade.org.apache.avro.reflect.ReflectData$ClassAccessorData.<init>(ReflectData.java:360) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.shade.org.apache.avro.reflect.ReflectData$1.computeValue(ReflectData.java:354) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.shade.org.apache.avro.reflect.ReflectData$1.computeValue(ReflectData.java:350) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at java.base/java.lang.ClassValue.getFromHashMap(ClassValue.java:229) ~[na:na]
at java.base/java.lang.ClassValue.getFromBackup(ClassValue.java:211) ~[na:na]
at java.base/java.lang.ClassValue.get(ClassValue.java:117) ~[na:na]
at org.apache.pulsar.shade.org.apache.avro.reflect.ReflectData.getClassAccessorData(ReflectData.java:411) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.shade.org.apache.avro.reflect.ReflectData.getFieldAccessors(ReflectData.java:415) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.shade.org.apache.avro.reflect.ReflectData.getRecordState(ReflectData.java:998) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.shade.org.apache.avro.generic.GenericDatumWriter.writeRecord(GenericDatumWriter.java:232) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.shade.org.apache.avro.specific.SpecificDatumWriter.writeRecord(SpecificDatumWriter.java:92) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.shade.org.apache.avro.generic.GenericDatumWriter.writeWithoutConversion(GenericDatumWriter.java:145) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.shade.org.apache.avro.generic.GenericDatumWriter.write(GenericDatumWriter.java:95) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.shade.org.apache.avro.reflect.ReflectDatumWriter.write(ReflectDatumWriter.java:158) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.shade.org.apache.avro.generic.GenericDatumWriter.write(GenericDatumWriter.java:82) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.client.impl.schema.writer.AvroWriter.write(AvroWriter.java:58) ~[pulsar-client-all-4.0.1.jar:4.0.1]
... 53 common frames omitted
2025-01-18T12:33:33.932+03:00 ERROR 17032 --- [order_producer] [ main] reactor.core.publisher.Operators : Operator called default onErrorDropped
reactor.core.Exceptions$ErrorCallbackNotImplemented: org.apache.pulsar.client.api.SchemaSerializationException: java.lang.UnsupportedOperationException: can't get field offset on a record class: private final long net.anyuruf.order_producer.models.Order.createdAt
Caused by: org.apache.pulsar.client.api.SchemaSerializationException: java.lang.UnsupportedOperationException: can't get field offset on a record class: private final long net.anyuruf.order_producer.models.Order.createdAt
at org.apache.pulsar.client.impl.schema.writer.AvroWriter.write(AvroWriter.java:60) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.client.impl.schema.AbstractStructSchema.encode(AbstractStructSchema.java:61) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.client.impl.TypedMessageBuilderImpl.lambda$beforeSend$1(TypedMessageBuilderImpl.java:80) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at java.base/java.util.Optional.orElseGet(Optional.java:364) ~[na:na]
at org.apache.pulsar.client.impl.TypedMessageBuilderImpl.beforeSend(TypedMessageBuilderImpl.java:79) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.client.impl.TypedMessageBuilderImpl.getMessage(TypedMessageBuilderImpl.java:271) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.client.impl.TypedMessageBuilderImpl.sendAsync(TypedMessageBuilderImpl.java:113) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.reactive.client.internal.adapter.AdaptedReactiveMessageSender.lambda$createMessageMono$5(AdaptedReactiveMessageSender.java:219) ~[pulsar-client-reactive-adapter-0.5.10.jar:na]
at org.apache.pulsar.reactive.client.internal.adapter.PulsarFutureAdapter.createFuture(PulsarFutureAdapter.java:81) ~[pulsar-client-reactive-adapter-0.5.10.jar:na]
at org.apache.pulsar.reactive.client.internal.adapter.PulsarFutureAdapter.lambda$toMono$1(PulsarFutureAdapter.java:76) ~[pulsar-client-reactive-adapter-0.5.10.jar:na]
at reactor.core.publisher.Mono.lambda$fromFuture$1(Mono.java:686) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:45) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.MonoUsingWhen$ResourceSubscriber.onNext(MonoUsingWhen.java:183) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onNext(FluxPeekFuseable.java:210) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondComplete(MonoFlatMap.java:245) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:305) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2571) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.MonoFlatMap$FlatMapInner.onSubscribe(MonoFlatMap.java:291) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:200) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.MonoCompletionStage$MonoCompletionStageSubscription.apply(MonoCompletionStage.java:121) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.MonoCompletionStage$MonoCompletionStageSubscription.apply(MonoCompletionStage.java:67) ~[reactor-core-3.7.1.jar:3.7.1]
at java.base/java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:934) ~[na:na]
at java.base/java.util.concurrent.CompletableFuture.uniHandleStage(CompletableFuture.java:950) ~[na:na]
at java.base/java.util.concurrent.CompletableFuture.handle(CompletableFuture.java:2372) ~[na:na]
at java.base/java.util.concurrent.CompletableFuture.handle(CompletableFuture.java:144) ~[na:na]
at reactor.core.publisher.MonoCompletionStage$MonoCompletionStageSubscription.request(MonoCompletionStage.java:145) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.FluxPeek$PeekSubscriber.request(FluxPeek.java:138) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.MonoFlatMap$FlatMapMain.request(MonoFlatMap.java:194) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.request(FluxPeekFuseable.java:144) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.MonoUsingWhen$ResourceSubscriber.onSubscribe(MonoUsingWhen.java:221) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onSubscribe(FluxPeekFuseable.java:178) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.MonoFlatMap$FlatMapMain.onSubscribe(MonoFlatMap.java:117) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.FluxPeek$PeekSubscriber.onSubscribe(FluxPeek.java:171) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.MonoCompletionStage.subscribe(MonoCompletionStage.java:56) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.Mono.subscribe(Mono.java:4576) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.MonoUsingWhen.subscribe(MonoUsingWhen.java:97) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.Mono.subscribe(Mono.java:4576) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.FluxFlatMap.trySubscribeScalarMap(FluxFlatMap.java:205) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.MonoFlatMap.subscribeOrReturn(MonoFlatMap.java:53) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.Mono.subscribe(Mono.java:4560) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.Mono.subscribeWith(Mono.java:4642) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.Mono.subscribe(Mono.java:4403) ~[reactor-core-3.7.1.jar:3.7.1]
at net.anyuruf.order_producer.OrderProducerApplication.UpLoadDataToPulsar(OrderProducerApplication.java:62) ~[classes/:na]
at net.anyuruf.order_producer.OrderProducerApplication$ReactiveTemplateProducer.lambda$0(OrderProducerApplication.java:42) ~[classes/:na]
at org.springframework.boot.SpringApplication.lambda$callRunner$4(SpringApplication.java:784) ~[spring-boot-3.4.1.jar:3.4.1]
at org.springframework.util.function.ThrowingConsumer$1.acceptWithException(ThrowingConsumer.java:82) ~[spring-core-6.2.1.jar:6.2.1]
at org.springframework.util.function.ThrowingConsumer.accept(ThrowingConsumer.java:60) ~[spring-core-6.2.1.jar:6.2.1]
at org.springframework.util.function.ThrowingConsumer$1.accept(ThrowingConsumer.java:86) ~[spring-core-6.2.1.jar:6.2.1]
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:796) ~[spring-boot-3.4.1.jar:3.4.1]
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:784) ~[spring-boot-3.4.1.jar:3.4.1]
at org.springframework.boot.SpringApplication.lambda$callRunners$3(SpringApplication.java:772) ~[spring-boot-3.4.1.jar:3.4.1]
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) ~[na:na]
at java.base/java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:357) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:na]
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[na:na]
at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:772) ~[spring-boot-3.4.1.jar:3.4.1]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:325) ~[spring-boot-3.4.1.jar:3.4.1]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1361) ~[spring-boot-3.4.1.jar:3.4.1]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1350) ~[spring-boot-3.4.1.jar:3.4.1]
at net.anyuruf.order_producer.OrderProducerApplication.main(OrderProducerApplication.java:23) ~[classes/:na]
Caused by: java.lang.UnsupportedOperationException: can't get field offset on a record class: private final long net.anyuruf.order_producer.models.Order.creat
I am not sure but I think Avro 1.12.0 has support for Java 17 and hence should be able to support Java Records
Minimal reproduce step
Pulsar version 4.0.1 Pulsar_Client with the same version and use Record classes instead of POJOs with the Schema.AVRO method. I have a Repo with spring-boot , pulsar reactive client and a docker-compose that would help reproduce the steps
What did you expect to see?
I expected to send pulsar messages to pulsar
What did you see instead?
at org.apache.pulsar.shade.io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:405) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.shade.io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.shade.io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.shade.io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na]
Caused by: java.lang.UnsupportedOperationException: can't get field offset on a record class: private final long net.anyuruf.order_producer.models.Order.createdAt
at jdk.unsupported/sun.misc.Unsafe.objectFieldOffset(Unsafe.java:655) ~[na:na]
at org.apache.pulsar.shade.org.apache.avro.reflect.FieldAccessUnsafe$UnsafeCachedField.<init>(FieldAccessUnsafe.java:81) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.shade.org.apache.avro.reflect.FieldAccessUnsafe$UnsafeLongField.<init>(FieldAccessUnsafe.java:260) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.shade.org.apache.avro.reflect.FieldAccessUnsafe.getAccessor(FieldAccessUnsafe.java:58) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.shade.org.apache.avro.reflect.ReflectData$ClassAccessorData.<init>(ReflectData.java:372) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.shade.org.apache.avro.reflect.ReflectData$ClassAccessorData.<init>(ReflectData.java:360) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.shade.org.apache.avro.reflect.ReflectData$1.computeValue(ReflectData.java:354) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.shade.org.apache.avro.reflect.ReflectData$1.computeValue(ReflectData.java:350) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at java.base/java.lang.ClassValue.getFromHashMap(ClassValue.java:229) ~[na:na]
at java.base/java.lang.ClassValue.getFromBackup(ClassValue.java:211) ~[na:na]
at java.base/java.lang.ClassValue.get(ClassValue.java:117) ~[na:na]
at org.apache.pulsar.shade.org.apache.avro.reflect.ReflectData.getClassAccessorData(ReflectData.java:411) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.shade.org.apache.avro.reflect.ReflectData.getFieldAccessors(ReflectData.java:415) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.shade.org.apache.avro.reflect.ReflectData.getRecordState(ReflectData.java:998) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.shade.org.apache.avro.generic.GenericDatumWriter.writeRecord(GenericDatumWriter.java:232) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.shade.org.apache.avro.specific.SpecificDatumWriter.writeRecord(SpecificDatumWriter.java:92) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.shade.org.apache.avro.generic.GenericDatumWriter.writeWithoutConversion(GenericDatumWriter.java:145) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.shade.org.apache.avro.generic.GenericDatumWriter.write(GenericDatumWriter.java:95) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.shade.org.apache.avro.reflect.ReflectDatumWriter.write(ReflectDatumWriter.java:158) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.shade.org.apache.avro.generic.GenericDatumWriter.write(GenericDatumWriter.java:82) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.client.impl.schema.writer.AvroWriter.write(AvroWriter.java:58) ~[pulsar-client-all-4.0.1.jar:4.0.1]
... 53 common frames omitted
2025-01-18T12:33:33.932+03:00 ERROR 17032 --- [order_producer] [ main] reactor.core.publisher.Operators : Operator called default onErrorDropped
reactor.core.Exceptions$ErrorCallbackNotImplemented: org.apache.pulsar.client.api.SchemaSerializationException: java.lang.UnsupportedOperationException: can't get field offset on a record class: private final long net.anyuruf.order_producer.models.Order.createdAt
Caused by: org.apache.pulsar.client.api.SchemaSerializationException: java.lang.UnsupportedOperationException: can't get field offset on a record class: private final long net.anyuruf.order_producer.models.Order.createdAt
at org.apache.pulsar.client.impl.schema.writer.AvroWriter.write(AvroWriter.java:60) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.client.impl.schema.AbstractStructSchema.encode(AbstractStructSchema.java:61) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.client.impl.TypedMessageBuilderImpl.lambda$beforeSend$1(TypedMessageBuilderImpl.java:80) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at java.base/java.util.Optional.orElseGet(Optional.java:364) ~[na:na]
at org.apache.pulsar.client.impl.TypedMessageBuilderImpl.beforeSend(TypedMessageBuilderImpl.java:79) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.client.impl.TypedMessageBuilderImpl.getMessage(TypedMessageBuilderImpl.java:271) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.client.impl.TypedMessageBuilderImpl.sendAsync(TypedMessageBuilderImpl.java:113) ~[pulsar-client-all-4.0.1.jar:4.0.1]
at org.apache.pulsar.reactive.client.internal.adapter.AdaptedReactiveMessageSender.lambda$createMessageMono$5(AdaptedReactiveMessageSender.java:219) ~[pulsar-client-reactive-adapter-0.5.10.jar:na]
at org.apache.pulsar.reactive.client.internal.adapter.PulsarFutureAdapter.createFuture(PulsarFutureAdapter.java:81) ~[pulsar-client-reactive-adapter-0.5.10.jar:na]
at org.apache.pulsar.reactive.client.internal.adapter.PulsarFutureAdapter.lambda$toMono$1(PulsarFutureAdapter.java:76) ~[pulsar-client-reactive-adapter-0.5.10.jar:na]
at reactor.core.publisher.Mono.lambda$fromFuture$1(Mono.java:686) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:45) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.MonoUsingWhen$ResourceSubscriber.onNext(MonoUsingWhen.java:183) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onNext(FluxPeekFuseable.java:210) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondComplete(MonoFlatMap.java:245) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:305) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2571) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.MonoFlatMap$FlatMapInner.onSubscribe(MonoFlatMap.java:291) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:200) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.MonoCompletionStage$MonoCompletionStageSubscription.apply(MonoCompletionStage.java:121) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.MonoCompletionStage$MonoCompletionStageSubscription.apply(MonoCompletionStage.java:67) ~[reactor-core-3.7.1.jar:3.7.1]
at java.base/java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:934) ~[na:na]
at java.base/java.util.concurrent.CompletableFuture.uniHandleStage(CompletableFuture.java:950) ~[na:na]
at java.base/java.util.concurrent.CompletableFuture.handle(CompletableFuture.java:2372) ~[na:na]
at java.base/java.util.concurrent.CompletableFuture.handle(CompletableFuture.java:144) ~[na:na]
at reactor.core.publisher.MonoCompletionStage$MonoCompletionStageSubscription.request(MonoCompletionStage.java:145) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.FluxPeek$PeekSubscriber.request(FluxPeek.java:138) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.MonoFlatMap$FlatMapMain.request(MonoFlatMap.java:194) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.request(FluxPeekFuseable.java:144) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.MonoUsingWhen$ResourceSubscriber.onSubscribe(MonoUsingWhen.java:221) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onSubscribe(FluxPeekFuseable.java:178) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.MonoFlatMap$FlatMapMain.onSubscribe(MonoFlatMap.java:117) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.FluxPeek$PeekSubscriber.onSubscribe(FluxPeek.java:171) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.MonoCompletionStage.subscribe(MonoCompletionStage.java:56) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.Mono.subscribe(Mono.java:4576) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.MonoUsingWhen.subscribe(MonoUsingWhen.java:97) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.Mono.subscribe(Mono.java:4576) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.FluxFlatMap.trySubscribeScalarMap(FluxFlatMap.java:205) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.MonoFlatMap.subscribeOrReturn(MonoFlatMap.java:53) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.Mono.subscribe(Mono.java:4560) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.Mono.subscribeWith(Mono.java:4642) ~[reactor-core-3.7.1.jar:3.7.1]
at reactor.core.publisher.Mono.subscribe(Mono.java:4403) ~[reactor-core-3.7.1.jar:3.7.1]
at net.anyuruf.order_producer.OrderProducerApplication.UpLoadDataToPulsar(OrderProducerApplication.java:62) ~[classes/:na]
at net.anyuruf.order_producer.OrderProducerApplication$ReactiveTemplateProducer.lambda$0(OrderProducerApplication.java:42) ~[classes/:na]
at org.springframework.boot.SpringApplication.lambda$callRunner$4(SpringApplication.java:784) ~[spring-boot-3.4.1.jar:3.4.1]
at org.springframework.util.function.ThrowingConsumer$1.acceptWithException(ThrowingConsumer.java:82) ~[spring-core-6.2.1.jar:6.2.1]
at org.springframework.util.function.ThrowingConsumer.accept(ThrowingConsumer.java:60) ~[spring-core-6.2.1.jar:6.2.1]
at org.springframework.util.function.ThrowingConsumer$1.accept(ThrowingConsumer.java:86) ~[spring-core-6.2.1.jar:6.2.1]
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:796) ~[spring-boot-3.4.1.jar:3.4.1]
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:784) ~[spring-boot-3.4.1.jar:3.4.1]
at org.springframework.boot.SpringApplication.lambda$callRunners$3(SpringApplication.java:772) ~[spring-boot-3.4.1.jar:3.4.1]
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) ~[na:na]
at java.base/java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:357) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:na]
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[na:na]
at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:772) ~[spring-boot-3.4.1.jar:3.4.1]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:325) ~[spring-boot-3.4.1.jar:3.4.1]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1361) ~[spring-boot-3.4.1.jar:3.4.1]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1350) ~[spring-boot-3.4.1.jar:3.4.1]
at net.anyuruf.order_producer.OrderProducerApplication.main(OrderProducerApplication.java:23) ~[classes/:na]
Caused by: java.lang.UnsupportedOperationException: can't get field offset on a record class: private final long net.anyuruf.order_producer.models.Order.creat
Anything else?
No response
Are you willing to submit a PR?
I'm willing to submit a PR!
The text was updated successfully, but these errors were encountered:
Search before asking
Read release policy
Version
Well not sure if I should call it a bug because. I guess it's not part of the spec. But sure would be a nice feature to have. When running the Java Pulsar client on Java 17, 21 and 23. I can produce messages with a Java Record class using the Schema.JSON method but Schema.AVRO is won't work.
I am not sure but I think Avro 1.12.0 has support for Java 17 and hence should be able to support Java Records
Minimal reproduce step
Pulsar version 4.0.1 Pulsar_Client with the same version and use Record classes instead of POJOs with the Schema.AVRO method. I have a Repo with spring-boot , pulsar reactive client and a docker-compose that would help reproduce the steps
What did you expect to see?
I expected to send pulsar messages to pulsar
What did you see instead?
Anything else?
No response
Are you willing to submit a PR?
The text was updated successfully, but these errors were encountered: