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

Convert OpenLogReplicator Client to non-blocking

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Unresolved
    • Icon: Major Major
    • 3.1-plan
    • None
    • oracle-connector
    • None
    • False
    • None
    • False

      Currently, the OpenLogReplicator client works in a blocking way. While this does not create any major technical issues with capturing changes, it does present some hurdles with the test suite if the stopConnector() call is executed but the client is blocking on a socket read operation.

      We should move the client to a non-blocking using a Selector with a timeout so that we can check the ChangeEventSourceContext and exit the loop as soon as possible when the connector is requested to stop.

      The best test method to verify this with is the OracleConnectorIT#shouldExecuteHeartbeatActionQuery test. This test runs until the connector thread is interrupted after the shutdown timeout is reached rather than breaking the read loop early, as expected.

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

              Created:
              Updated: