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

Fix handling when a transform excludes a record

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Duplicate
    • Icon: Major Major
    • None
    • None
    • embedded-engine
    • None
    • False
    • None
    • False

      Feature request or enhancement

      For feature requests or enhancements, provide this information, please:

      Which use case/requirement will be addressed by the proposed feature?

      The async test crashes if a transform returns null (ie the record is excluded). eg

      2024-12-02 14:28:45,159 ERROR  VitessConnectorIT||engine  Engine has failed with    [io.debezium.embedded.async.AsyncEmbeddedEngine]
      java.util.concurrent.ExecutionException: java.lang.NullPointerException
          at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
          at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
          at io.debezium.embedded.async.AsyncEmbeddedEngine.runTasksPolling(AsyncEmbeddedEngine.java:484)
          at io.debezium.embedded.async.AsyncEmbeddedEngine.run(AsyncEmbeddedEngine.java:220)
          at io.debezium.embedded.async.TestingAsyncEmbeddedEngine.run(TestingAsyncEmbeddedEngine.java:29)
          at io.debezium.embedded.AbstractConnectorTest.lambda$start$8(AbstractConnectorTest.java:442)
          at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
          at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
          at java.base/java.lang.Thread.run(Thread.java:1583)
      Caused by: java.lang.NullPointerException: null
          at java.base/java.util.Objects.requireNonNull(Objects.java:233)
          at java.base/java.util.concurrent.ArrayBlockingQueue.offer(ArrayBlockingQueue.java:342)
          at io.debezium.embedded.AbstractConnectorTest.lambda$getConsumer$9(AbstractConnectorTest.java:475)
          at io.debezium.embedded.async.ParallelSmtConsumerProcessor.processRecords(ParallelSmtConsumerProcessor.java:49)
          at io.debezium.embedded.async.AsyncEmbeddedEngine$PollRecords.doCall(AsyncEmbeddedEngine.java:1186)
          at io.debezium.embedded.async.AsyncEmbeddedEngine$PollRecords.doCall(AsyncEmbeddedEngine.java:1167)
          at io.debezium.embedded.async.RetryingCallable.call(RetryingCallable.java:47)
          at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
          at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
          at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
          ... 3 common frames omitted 

      Implementation ideas (optional)

      <Your answer>

              Unassigned Unassigned
              tthorn Thomas Thornton
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: