We do use timestamp+incrementing mode, we have unique incrementing column with every change, but we still need timestamp column for better performance, as we cannot create index on incrementing column because it is only pseudo column - ORA_ROWSCN . Our transactions are having quite long transaction timeout and we would like to have near realtime streaming therefore we cannot use already existing timestamp.delay.interval.ms property. Timestamp column has instant when change happened, but incrementing column is associated with the instant when transaction completed.
Solution
Extend WHERE condition for timestamp column into the past based on configuration property timestamp.keep.interval.ms. Applicable only in timestamp+incrementing mode.
Does this solution apply anywhere else?
[ ] yes
[x] no
Test Strategy
Testing done:
[x] Unit tests
[ ] Integration tests
[ ] System tests
[ ] Manual tests - ⚠️ Will do manual integration test, kindly review this PR in the mean time, will let you know when can be merged !
Problem
We do use
timestamp+incrementing
mode, we have unique incrementing column with every change, but we still need timestamp column for better performance, as we cannot create index on incrementing column because it is only pseudo column - ORA_ROWSCN . Our transactions are having quite long transaction timeout and we would like to have near realtime streaming therefore we cannot use already existingtimestamp.delay.interval.ms
property. Timestamp column has instant when change happened, but incrementing column is associated with the instant when transaction completed.Solution
Extend
WHERE
condition for timestamp column into the past based on configuration propertytimestamp.keep.interval.ms
. Applicable only intimestamp+incrementing
mode.Does this solution apply anywhere else?
Test Strategy
Testing done:
Release Plan