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

Object ID cache may fail with concurent modification expcetion

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 3.0.5.Final
    • 3.0.3.Final
    • oracle-connector
    • None

      Cache of object ID -> table ID mapping (introduced in DBZ-8071) may fails with

      io.debezium.pipeline.ErrorHandler : Producer failure java.util.ConcurrentModificationException: null at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1221) 
      at io.debezium.util.LRUCacheMap.computeIfAbsent(LRUCacheMap.java:72) at io.debezium.connector.oracle.OracleDatabaseSchema.getTableIdByObjectId(OracleDatabaseSchema.java:152) 
      at io.debezium.connector.oracle.logminer.processor.AbstractLogMinerEventProcessor.processRow(AbstractLogMinerEventProcessor.java:489) 
      at io.debezium.connector.oracle.logminer.processor.AbstractLogMinerEventProcessor.processResults(AbstractLogMinerEventProcessor.java:439) 
      at io.debezium.connector.oracle.logminer.processor.AbstractLogMinerEventProcessor.process(AbstractLogMinerEventProcessor.java:288) 
      at io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource.execute(LogMinerStreamingChangeEventSource.java:243) 
      at io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource.execute(LogMinerStreamingChangeEventSource.java:62) 
      at io.debezium.pipeline.ChangeEventSourceCoordinator.streamEvents(ChangeEventSourceCoordinator.java:324) 
      at io.debezium.pipeline.ChangeEventSourceCoordinator.executeChangeEventSources(ChangeEventSourceCoordinator.java:203) 
      at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:143) 
      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:840)
      

      See also https://debezium.zulipchat.com/#narrow/channel/348250-community-oracle/topic/ConcurrentModificationException.20null.20in.20Dbz.203.2E0.2E2.20hybrid

              vjuranek@redhat.com Vojtech Juranek
              vjuranek@redhat.com Vojtech Juranek
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: