ppeko
ppeko

Reputation: 129

java.lang.NullPointerException when pulling messages from pub/sub emulator

I was trying to test the dead-letter queue functionality using the pub/sub emulator, but noticed that messages were not being routed correctly. The emulator seemed to retry delivery up to the configured max attempt, then hangs.

I tried pulling messages from the subscription after hitting max attempts and I get this error.

Running into

[pubsub] java.lang.NullPointerException
[pubsub]        at com.google.cloud.pubsub.testing.v1.MessageBacklog.pull(MessageBacklog.java:302)
[pubsub]        at com.google.cloud.pubsub.testing.v1.OrderedMessageBacklog.pullFromBacklogs(OrderedMessageBacklog.java:323)
[pubsub]        at com.google.cloud.pubsub.testing.v1.OrderedMessageBacklog.pull(OrderedMessageBacklog.java:181)
[pubsub]        at com.google.cloud.pubsub.testing.v1.OrderedMessageBacklog.pull(OrderedMessageBacklog.java:169)
[pubsub]        at com.google.cloud.pubsub.testing.v1.FakePubsubServer.pull(FakePubsubServer.java:1482)
[pubsub]        at com.google.cloud.pubsub.testing.v1.PubsubGrpcServerAdapter$2.pull(PubsubGrpcServerAdapter.java:349)
[pubsub]        at com.google.pubsub.v1.SubscriberGrpc$MethodHandlers.invoke(SubscriberGrpc.java:2037)
[pubsub]        at io.grpc.stub.ServerCalls$UnaryServerCallHandler$UnaryServerCallListener.onHalfClose(ServerCalls.java:182)
[pubsub]        at io.grpc.PartialForwardingServerCallListener.onHalfClose(PartialForwardingServerCallListener.java:35)
[pubsub]        at io.grpc.ForwardingServerCallListener.onHalfClose(ForwardingServerCallListener.java:23)
[pubsub]        at io.grpc.ForwardingServerCallListener$SimpleForwardingServerCallListener.onHalfClose(ForwardingServerCallListener.java:40)
[pubsub]        at io.grpc.Contexts$ContextualizedServerCallListener.onHalfClose(Contexts.java:86)
[pubsub]        at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.halfClosed(ServerCallImpl.java:351)
[pubsub]        at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1HalfClosed.runInContext(ServerImpl.java:860)
[pubsub]        at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
[pubsub]        at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133)
[pubsub]        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
[pubsub]        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
[pubsub]        at java.base/java.lang.Thread.run(Thread.java:829)
[pubsub] 
[pubsub] Mar 01, 2024 6:08:18 PM io.gapi.emulators.netty.HttpHandler$1 onError

I am expecting messages to be routed to the dead-letter topic set up and for the emulator to not crash when pulling messages.

Upvotes: -1

Views: 135

Answers (1)

Kamal Aboul-Hosn
Kamal Aboul-Hosn

Reputation: 17271

If the crash is in the emulator itself, then it's likely some kind of edge case that needs to be addressed. You should either enter a support case or put a ticket in the issue tracker with the exact steps to reproduce the issue.

Upvotes: 0

Related Questions