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
We are using Debezium version 2.5 to capture SQL CDC (Change Data Capture) events, which are then published to Google Cloud Pub/Sub.
This uses the PubSubChangeConsumer for this purpose. However, we encountered an issue where a timeout occurred during the publish event, leading to an instruction to shut down the Debezium process.
The shutdown call got stuck because of an infinite wait on the wait() method inside the waitComplete method of Waiter class.
Implementing a time-bounded wait call may resolve this issue.
Please find the thread dump of a waiting thread.
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(java.base@11.0.16/Native Method)
waiting on
at java.lang.Object.wait(java.base@11.0.16/Object.java:328)
at com.google.cloud.pubsub.v1.Waiter.waitComplete(Waiter.java:44)
waiting to re-lock in wait() <0x00000000d26dc200> (a com.google.cloud.pubsub.v1.Waiter)
at com.google.cloud.pubsub.v1.Publisher.shutdown(Publisher.java:617)
at io.debezium.server.pubsub.PubSubChangeConsumer.lambda$close$1(PubSubChangeConsumer.java:210)
at io.debezium.server.pubsub.PubSubChangeConsumer$$Lambda$1156/0x00000008401aac40.accept(Unknown Source)
at java.util.HashMap$Values.forEach(java.base@11.0.16/HashMap.java:977)
at io.debezium.server.pubsub.PubSubChangeConsumer.close(PubSubChangeConsumer.java:208)
at io.debezium.server.pubsub.PubSubChangeConsumer_Bean.doDestroy(Unknown Source)
at io.debezium.server.pubsub.PubSubChangeConsumer_Bean.destroy(Unknown Source)
at io.debezium.server.pubsub.PubSubChangeConsumer_Bean.destroy(Unknown Source)
at io.debezium.server.DebeziumServer.stop(DebeziumServer.java:242)
at io.debezium.server.DebeziumServer_Observer_stop_d470e05516c8d86f955c7275c00cebdc903562ab.notify(Unknown Source)
at io.quarkus.arc.impl.EventImpl$Notifier.notifyObservers(EventImpl.java:346)
at io.quarkus.arc.impl.EventImpl$Notifier.notify(EventImpl.java:328)
at io.quarkus.arc.impl.EventImpl.fire(EventImpl.java:82)
at io.quarkus.arc.runtime.ArcRecorder.fireLifecycleEvent(ArcRecorder.java:155)
at io.quarkus.arc.runtime.ArcRecorder$2.run(ArcRecorder.java:111)
at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
at io.quarkus.runtime.Application.stop(Application.java:208)
at io.quarkus.runtime.Application.stop(Application.java:155)
at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:227)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:71)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:44)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:124)
at io.debezium.server.Main.main(Main.java:15)
The text was updated successfully, but these errors were encountered:
Hello! I've been attempting to reproduce this issue but have been unsuccessful. Would you be able to provide a code snippet that would allow us to test and reproduce this issue?
ankurg03
changed the title
GCP Pub/Sub Publisher Issue: ManagedChannel Not Shut Down Properly
GCP Pub/Sub Publisher Issue: ManagedChannel isn't shutdown properly
Sep 3, 2024
We are using Debezium version 2.5 to capture SQL CDC (Change Data Capture) events, which are then published to Google Cloud Pub/Sub.
This uses the PubSubChangeConsumer for this purpose. However, we encountered an issue where a timeout occurred during the publish event, leading to an instruction to shut down the Debezium process.
The shutdown call got stuck because of an infinite wait on the wait() method inside the waitComplete method of Waiter class.
Implementing a time-bounded wait call may resolve this issue.
Please find the thread dump of a waiting thread.
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(java.base@11.0.16/Native Method)
at java.lang.Object.wait(java.base@11.0.16/Object.java:328)
at com.google.cloud.pubsub.v1.Waiter.waitComplete(Waiter.java:44)
at com.google.cloud.pubsub.v1.Publisher.shutdown(Publisher.java:617)
at io.debezium.server.pubsub.PubSubChangeConsumer.lambda$close$1(PubSubChangeConsumer.java:210)
at io.debezium.server.pubsub.PubSubChangeConsumer$$Lambda$1156/0x00000008401aac40.accept(Unknown Source)
at java.util.HashMap$Values.forEach(java.base@11.0.16/HashMap.java:977)
at io.debezium.server.pubsub.PubSubChangeConsumer.close(PubSubChangeConsumer.java:208)
at io.debezium.server.pubsub.PubSubChangeConsumer_Bean.doDestroy(Unknown Source)
at io.debezium.server.pubsub.PubSubChangeConsumer_Bean.destroy(Unknown Source)
at io.debezium.server.pubsub.PubSubChangeConsumer_Bean.destroy(Unknown Source)
at io.debezium.server.DebeziumServer.stop(DebeziumServer.java:242)
at io.debezium.server.DebeziumServer_Observer_stop_d470e05516c8d86f955c7275c00cebdc903562ab.notify(Unknown Source)
at io.quarkus.arc.impl.EventImpl$Notifier.notifyObservers(EventImpl.java:346)
at io.quarkus.arc.impl.EventImpl$Notifier.notify(EventImpl.java:328)
at io.quarkus.arc.impl.EventImpl.fire(EventImpl.java:82)
at io.quarkus.arc.runtime.ArcRecorder.fireLifecycleEvent(ArcRecorder.java:155)
at io.quarkus.arc.runtime.ArcRecorder$2.run(ArcRecorder.java:111)
at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
at io.quarkus.runtime.Application.stop(Application.java:208)
at io.quarkus.runtime.Application.stop(Application.java:155)
at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:227)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:71)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:44)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:124)
at io.debezium.server.Main.main(Main.java:15)
The text was updated successfully, but these errors were encountered: