Reputation: 129
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
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