Uploaded image for project: 'Debezium'
  1. Debezium
  2. DBZ-7207

XStream attach should be retriable

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Done
    • Icon: Major Major
    • 2.5.0.Beta1
    • 2.4.1.Final, 2.5.0.Beta1
    • oracle-connector
    • None

      I've noticed recently in the testing farm environment that we often get the following XStream error and it seems to be random, sometimes on 19c, others on 21c, and it varies by the test – but the error is always the same:

      2023-11-30 00:25:58,718 INFO   ||  Connection gracefully closed   [io.debezium.jdbc.JdbcConnection]
      2023-11-30 00:25:58,718 ERROR  Oracle|server1|streaming  Producer failure   [io.debezium.pipeline.ErrorHandler]
      oracle.streams.StreamsException: ORA-26653: Apply DBZXOUT did not start properly and is currently in state ABORTING
      
      	at oracle.streams.XStreamOut.XStreamOutAttachNative(Native Method)
      	at oracle.streams.XStreamOut.attachInternal(XStreamOut.java:373)
      	at oracle.streams.XStreamOut.attach(XStreamOut.java:343)
      	at io.debezium.connector.oracle.xstream.XstreamStreamingChangeEventSource.execute(XstreamStreamingChangeEventSource.java:118)
      	at io.debezium.connector.oracle.xstream.XstreamStreamingChangeEventSource.execute(XstreamStreamingChangeEventSource.java:44)
      	at io.debezium.pipeline.ChangeEventSourceCoordinator.streamEvents(ChangeEventSourceCoordinator.java:272)
      	at io.debezium.pipeline.ChangeEventSourceCoordinator.executeChangeEventSources(ChangeEventSourceCoordinator.java:197)
      	at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:137)
      	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
      	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
      	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
      	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
      	at java.base/java.lang.Thread.run(Thread.java:833)
      

      We maybe should add a small retry loop here in case to make this more stable in such use cases.

              ccranfor@redhat.com Chris Cranford
              ccranfor@redhat.com Chris Cranford
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: