GCP PubSub 订阅者 stopAsync().awaitTerminated() 挂起

GCP PubSub Subscriber stopAsync().awaitTerminated() hangs

我打电话给 subscriber.stopAsync().awaitTerminated(),但从来没有 returns。当我暂停调试时,我看到一堆线程 "grpc-default-worker-something" 似乎卡在了 private native int kevent0(int var1, long var2, int var4, long var5); 调用上。主线程正在等待 java.util.concurrent.locks.LockSupport.park() UNSAFE.park(false, 0L) 调用

在我尝试停止订阅者之前,它的行为符合预期(初始化、startAsync().awaitRunning() 调用、MessageReceived 回调)

有没有人遇到过类似的问题或有任何想法如何解决这个问题?

听起来您有尚未确认或取消的消息。 客户端会记录未完成消息的数量并挂起等待它到达 0,如果您的代码路径不执行任何操作,它永远不会。