Chris Cranford
582a169f92
DBZ-4067 Correctly calculate mining session boundaries
...
It is not guaranteed that the flush strategy will force all LGWR buffer entries
to be written to the redo logs in which case the mining boundaries must then be
calculated based on the lastProcessedScn rather than the current batch endScn.
This prevents event loss between mining sessions when this timing scenario
occurs.
2021-10-01 09:15:04 +02:00
Chris Cranford
5d05fadf04
DBZ-3712 Add poll interval configuration option
2021-09-29 11:52:27 -04:00
Chris Cranford
e85b6e1780
DBZ-3712 Support start/change archive.log.only.mode gracefully
2021-09-28 17:52:35 +02:00
Chris Cranford
7cca4aaa75
DBZ-4037 Gracefully handle unsupported RAW data types
2021-09-28 11:57:23 +02:00
Chris Cranford
a14e13ff01
DBZ-4010 Allow ORA-01327 exceptions to be retried
2021-09-21 13:44:26 +02:00
René Kerner
b92e5c5efe
DBZ-3943 Add ConfigDef unit tests to verify all Debezium Field instances have a proper documentation/description set;
...
Also adding missing descriptions.
2021-09-09 13:35:41 +02:00
Chris Cranford
093408bba8
DBZ-3954 Restrict capturing change events to configured PDB
2021-09-02 09:06:28 +02:00
Chris Cranford
47c3273985
DBZ-3892 Reuse precompiled pattern instance
2021-09-01 13:10:00 -04:00
Chris Cranford
8dc4a08c70
DBZ-3892 Correctly parse concatenated UNISTR values
2021-09-01 13:10:00 -04:00
Anisha Mohanty
153e0920e1
DBZ-2525 Generifying exclusion of columns from snapshotting in all relational connectors;
...
* Using RelationalDatabaseSchema in RelationalSnapshotChangeEventSource for consistency.
* Adding test for table/column names which are keywords
2021-08-30 12:20:56 +02:00
Chris Cranford
0f07b43012
DBZ-3898 Skip excluded schema DDL events
2021-08-26 09:20:33 +02:00
Chris Cranford
5263bbe2ec
DBZ-3911 Fix SQLException due to column name typo
2021-08-24 21:41:02 +02:00
Chris Cranford
7e588c6173
DBZ-3896 Support multi-statement table DDLs
2021-08-23 22:48:52 +02:00
Chris Cranford
973fa248ed
DBZ-3902 Fix test failure shouldNotEmitDdlEventsForNonTableObjects
2021-08-23 11:44:14 -04:00
Chris Cranford
b6244591d7
DBZ-3893 Make allocation more explicit
2021-08-23 10:00:20 -04:00
Chris Cranford
26b70316b9
DBZ-3893 Treat EMPTY_XLOB() as an empty LOB value instead of NULL
2021-08-23 10:00:20 -04:00
李宗文
b0c0d879e5
DBZ-3876 Improve the SCN update method in MemoryLogMinerEventProcessor
2021-08-23 09:29:31 -04:00
Chris Cranford
82e09ecd60
DBZ-3813 Change error message
2021-08-18 10:00:06 +02:00
Chris Cranford
b898c6031f
DBZ-3813 Fix method name typo
2021-08-18 10:00:06 +02:00
Chris Cranford
f695bacf6f
DBZ-3813 Add recommended tests
2021-08-18 10:00:06 +02:00
Chris Cranford
7242284b1e
DBZ-3813 Add rac.nodes
port validation
2021-08-18 10:00:06 +02:00
Sergei Morozov
a40ad7132d
DBZ-2975: Remove partition from offset context
2021-08-11 07:34:37 +02:00
Sergei Morozov
77e2ac8a12
DBZ-2975: Introduce io.debezium.pipeline.spi.Offsets
2021-08-11 07:34:37 +02:00
Sergei Morozov
c7ac5fca52
DBZ-2975: Move Partition to io.debezium.pipeline.spi
2021-08-11 07:34:37 +02:00
Chris Cranford
e2c0c1d3c0
DBZ-3692 Fix NullPointerException
...
This NPE check effectively only enables Incremental Snapshot behavior for Oracle
if a signal data collection id is provided; otherwise its disabled
2021-07-30 06:12:10 +02:00
Chris Cranford
e1b003c4f4
DBZ-3752 Formatting fix
2021-07-30 06:12:10 +02:00
Chris Cranford
492008d771
DBZ-3752 Fix test mocks after rebase
2021-07-30 06:12:10 +02:00
Chris Cranford
709a50a652
DBZ-3752 More suggested changes
...
* Added `infinispan-buffer` profile for testing with infinispan
* Made `online_catalog` the default for testing
* Added protostream-processor back to the POM
2021-07-30 06:12:10 +02:00
Chris Cranford
1c0b4fd5af
DBZ-3752 Suggested changes
2021-07-30 06:12:10 +02:00
Chris Cranford
0cbce95a0c
DBZ-3752 Memory & Infinispan Buffering implementations
2021-07-30 06:12:10 +02:00
Chris Cranford
26461bc07d
DBZ-3692 Introduce completion callback for incremental snapshots
2021-07-29 13:51:42 +02:00
Chris Cranford
393a44a55f
DBZ-3692 Oracle incremental snapshot support
2021-07-29 13:51:42 +02:00
Chris Cranford
10ab20a157
DBZ-2552 Refactor & introduce LogWriterFlushStrategy
2021-07-28 13:25:03 +02:00
Chris Cranford
1fd68e6fa9
DBZ-2552 Refactored several methods to connection class
2021-07-28 13:25:03 +02:00
Chris Cranford
6a1267b26c
DBZ-2552 Refactored constants usage
2021-07-28 13:25:03 +02:00
Chris Cranford
a7498ca340
DBZ-2552 Remove non-runtime code
2021-07-28 13:25:03 +02:00
Chris Cranford
0fa869388e
DBZ-2552 Minor code cleanup
2021-07-28 13:25:03 +02:00
Chris Cranford
bd0dd5ec9c
DBZ-2552 Refactored database state capture logic
2021-07-28 13:25:03 +02:00
Chris Cranford
48b01dd837
DBZ-2552 Refactored supplemental logging logic
2021-07-28 13:25:03 +02:00
Chris Cranford
e49e3f9211
DBZ-2552 Refactored getting current redo log filenames
2021-07-28 13:25:03 +02:00
Chris Cranford
60a90851c6
DBZ-2552 Refactored mining session ending SCN logic
2021-07-28 13:25:03 +02:00
Chris Cranford
5898dc4b0a
DBZ-2552 Refactored start/end mining session logic
2021-07-28 13:25:03 +02:00
Chris Cranford
e02c2eb912
DBZ-2552 Remove unused or irrelevant code
2021-07-28 13:25:03 +02:00
Chris Cranford
8eed85037f
DBZ-2552 Refactored SCN queries
2021-07-28 13:25:03 +02:00
Chris Cranford
b8c2d6e64a
DBZ-2552 Refactored getting database system time
2021-07-28 13:25:03 +02:00
Chris Cranford
4ca93c6ff8
DBZ-2552 Refactored setting NLS parameters for mining session
2021-07-28 13:25:03 +02:00
Chris Cranford
a0e1acdf3e
DBZ-2552 Refactored create flush table logic
2021-07-28 13:25:03 +02:00
Chris Cranford
9a1e181ed7
DBZ-2552 Refactored build data dictionary logic
2021-07-28 13:25:03 +02:00
Chris Cranford
fe499bf3d2
DBZ-2552 Refactored Oracle LGWR flush logic
2021-07-28 13:25:03 +02:00
Chris Cranford
d450f58b37
DBZ-3756 Add UGA/PGA memory statistics to JMX metrics
2021-07-16 11:07:48 -04:00
Chris Cranford
52e198e3b5
DBZ-3683 Relax restrictions on connector user
2021-07-16 16:28:31 +02:00
Gunnar Morling
cbb5a78a6d
DBZ-3671 More concise variable name
2021-07-05 12:27:04 +02:00
Gunnar Morling
bc21c14489
DBZ-3671 Apply suggestions from code review
2021-07-05 12:26:59 +02:00
Chris Cranford
4e0c54d782
DBZ-3671 Add test for user exclusion SQL condition
2021-07-05 12:26:59 +02:00
Chris Cranford
ddf25b144c
DBZ-3671 Remove trailing space in query
2021-07-05 12:26:59 +02:00
Patrick Chu
77f268abe6
DBZ-3671 Add property to exclude users in logminer query
2021-07-05 12:26:59 +02:00
Chris Cranford
ed31ea9ffb
DBZ-3668 Adjust ServiceLoader for SPI change
2021-07-03 16:31:52 +07:00
Gunnar Morling
b84c3c870d
DBZ-3668 Extracting SPI package
2021-07-03 16:31:52 +07:00
Chris Cranford
77f57ee703
DBZ-3668 Fix formatting
2021-07-03 16:31:52 +07:00
Chris Cranford
7f7e23b110
DBZ-3668 Add ServiceLoader hook CloudEvents converter
2021-07-03 16:31:52 +07:00
Chris Cranford
3f759a8daa
DBZ-3668 Add CloudEventsConverter support for Oracle connector
2021-07-03 16:31:52 +07:00
Sergei Morozov
db105baeba
DBZ-2975: Add partition awareness to source task components
...
Co-authored-by: Mike Kamornikov <mikekamornikov@gmail.com>
2021-07-03 10:56:34 +02:00
Gunnar Morling
5b76bf1b71
DBZ-3632 Pulling up getJdbcConfig() to RelationalDatabaseConnectorConfig
2021-07-01 15:11:01 +02:00
Chris Cranford
b625124e09
DBZ-3155 Move LogMinerDmlEntry & impl
2021-07-01 10:57:45 +02:00
Chris Cranford
c7622cbc18
DBZ-3155 Remove legacy DDL JSqlParser implementation
2021-07-01 10:57:45 +02:00
Chris Cranford
d804f41775
DBZ-3581 Remove deprecated log.mining.history.xxx
features
2021-07-01 09:31:18 +02:00
Chris Cranford
237a71ea3c
DBZ-3684 OracleSchemaMigrationIT - Fix possible false positive test failure
2021-07-01 09:10:42 +02:00
Chris Cranford
51825b0b47
DBZ-3677 Change connection validation failure message log level
2021-07-01 09:08:08 +02:00
Chris Cranford
db8475be42
DBZ-1211 Add extra test assertions
2021-06-29 11:14:19 +02:00
Chris Cranford
bcf5441284
DBZ-1211 Add test case
2021-06-29 11:14:19 +02:00
Jiri Pechanec
472b82abb7
DBZ-3622 Decouple database and schema history record writes
2021-06-29 10:36:41 +02:00
Chris Cranford
01e87c11ed
DBZ-3676 When LOB support is disabled, use adaptive SCN mining windows
2021-06-29 09:46:49 +02:00
Chris Cranford
09fa730d98
DBZ-3661 Introduce Oracle log.mining.archive.destination.name
option
2021-06-29 09:25:57 +02:00
Gunnar Morling
ab3cf09165
DBZ-3665 Formatting
2021-06-28 15:53:36 +02:00
Chris Cranford
b9a79dcdd0
DBZ-3665 Provide better error description when enabling archive log only mode
2021-06-28 15:53:36 +02:00
Chris Cranford
d5d1ca8db2
DBZ-3664 Fix formatting
2021-06-28 02:57:33 -04:00
Gunnar Morling
3d30b7371f
DBZ-3664 Wording fix
2021-06-28 08:25:34 +02:00
Chris Cranford
4a844aa36b
DBZ-3664 Adjust log level for max batch reached message
2021-06-28 08:25:34 +02:00
Chris Cranford
4db80f86f0
DBZ-3672 Remove unused code
2021-06-26 22:03:14 +02:00
Chris Cranford
185e598d91
DBZ-3645 Fix test failures for Oracle Xstream
2021-06-23 08:00:43 -04:00
Chris Cranford
61b22d9574
DBZ-3645 Adjust metrics calculations & logging levels
2021-06-23 09:55:29 +02:00
Chris Cranford
16eb60d8f1
DBZ-3645 Adjust SCN end point calculation w/sanity checks
2021-06-23 09:55:29 +02:00
Chris Cranford
c9e62a6806
DBZ-3645 Make Oracle LOB support opt-in
2021-06-23 09:55:29 +02:00
Chris Cranford
f6edfdc49a
DBZ-3365 Revert "Remove unused imports", commit 080d701
2021-06-23 00:54:18 -04:00
Chris Cranford
080d7014db
DBZ-3365 Remove unused imports
2021-06-22 11:45:28 -04:00
Chris Cranford
8b90786b35
DBZ-3634 Enable DDL events to be filtered by include/exclude lists
2021-06-22 11:26:57 +02:00
Chris Cranford
3113cb9175
DBZ-3639 Send heartbeat events during periods of low activity.
2021-06-21 11:03:01 +02:00
Chris Cranford
537437e6fa
DBZ-3631 Suggested changes & formatting fixes
2021-06-21 09:28:03 +02:00
Chris Cranford
bb40bd9d67
DBZ-3631 Introduce ChunkColumnValues wrapper optimization
2021-06-21 09:28:03 +02:00
Chris Cranford
19d7ad401a
DBZ-3631 Use traditional loop instead of stream
2021-06-18 08:42:31 +02:00
Chris Cranford
2310e45f3c
DBZ-3631 Align Xstream to emit null when BLOB/CLOB fields are set to null.
...
While LogMiner already did this, the Xstream implementation was not checking for
this use case and was instead emitting empty strings or empty byte buffer values
rather than explicit nulls if there was no data.
2021-06-18 08:42:31 +02:00
Chris Cranford
29b7f1fa44
DBZ-3631 Fix Oracle trx reconciliation not finding PK columns
2021-06-17 09:10:33 +02:00
Chris Cranford
b4ac2f9c1c
DBZ-3616 Avoid logging processed trx warnings & emit DDL changes once
2021-06-16 10:17:41 +02:00
Chris Cranford
aedb6118da
DBZ-3612 Do not parse Oracle ALTER TABLE ddl for unknown tables
2021-06-16 10:07:32 +02:00
Chris Cranford
8783eae098
DBZ-3599 Fix Oracle RAC url variable substitution
2021-06-09 16:03:31 +02:00
Gunnar Morling
1ce65fa628
DBZ-2975 Avoiding raw types in some places;
...
Also parameterizing offset loader contract, so to avoid casts later on.
2021-06-09 16:02:33 +02:00
Sergei Morozov
657a6d2542
DBZ-2975: Extract offset context from object states to method signatures
2021-06-09 16:02:33 +02:00
Chris Cranford
473eb2c02c
DBZ-3561 Introduce archive log only mode for Oracle
2021-06-09 10:18:17 +02:00
Chris Cranford
9cc6239bc0
DBZ-3591 Fix SelectLobParser throwing NPE for unknown tables
2021-06-07 15:15:21 +02:00
Chris Cranford
4d3c1f7e72
DBZ-3062 Use captured instead of monitored
2021-06-07 11:19:54 +02:00
Chris Cranford
a2fc19f409
DBZ-3062 Oracle connector support snapshot.include.collection.list
2021-06-07 11:19:54 +02:00
Chris Cranford
de2fe7149b
DBZ-3563 Deduplicate logs based on sequence number and not scn ranges
2021-06-07 11:17:11 +02:00
jackey.zhang
c32e290fac
DBZ-3587 fix NPE when builder is null
2021-06-04 07:19:15 +02:00
Chris Cranford
fa3b7fd758
DBZ-3557 Fix test failures
2021-06-02 15:58:23 +02:00
Chris Cranford
078b8f7270
DBZ-3557 Remove exclusive
from SnapshotLockingMode, use shared
as default
2021-06-02 15:58:23 +02:00
Chris Cranford
d9d2706a17
DBZ-3557 Fix typo
2021-06-02 15:58:23 +02:00
Chris Cranford
047c505bc1
DBZ-3557 Add snapshot.locking.mode
option for Oracle
2021-06-02 15:58:23 +02:00
Gunnar Morling
c4f5cbca6c
DBZ-3328 Removing unused field
2021-06-02 12:18:48 +02:00
Chris Cranford
0af3959c2d
DBZ-3328 Use object arrays to write column values
...
Previously we used a wrapper class, LogMinerColumnValueImpl, to store
both the column name and value; however this introduced some overhead
in object allocation. This change mostly focused on the removal of
that implementation and its interface in favor of creating object
arrays up-front and writing the column values directly.
Included as well as the following changes:
* Deprecated LogMinerColumnValue, impl, and wrapper
* Removed SEQUENCE# from LogMiner query, no longer needed
* Adapted tests to runtime changes with object arrays
2021-06-02 12:18:48 +02:00
Chris Cranford
f178a6e235
DBZ-3328 Remove superfluous state from LogMinerDmlEntryImpl
2021-06-02 12:18:48 +02:00
Chris Cranford
7dd980e505
DBZ-3328 Fix test failures
2021-06-02 12:18:48 +02:00
Gunnar Morling
4dcda868b5
DBZ-3328 Adding factory methods for LogMinerDmlEntryImpl
2021-06-02 12:18:48 +02:00
Chris Cranford
19e650dc25
DBZ-3328 Updated comment
2021-06-02 12:18:48 +02:00
Chris Cranford
49f3ee6172
DBZ-3328 Performance cleanup
...
* Use loop rather than streams
* Remove usage of Optional
* No need to add superfluous null-valued columns
2021-06-02 12:18:48 +02:00
Chris Cranford
52906cf154
DBZ-3328 Avoid copying in Oracle LogMiner DML parser
2021-06-02 12:18:48 +02:00
Chris Cranford
ae9a32ab83
DBZ-3565 Make log.mining.history.xxx
options internal
2021-06-02 10:47:54 +02:00
Chris Cranford
fd5afb04ea
DBZ-3565 Fix formatting
2021-06-02 10:47:54 +02:00
Chris Cranford
eb22eaf85f
DBZ-3565 Always use NeverHistoryRecorder if retention hours are 0
2021-06-02 10:47:54 +02:00
Chris Cranford
68c2c40097
DBZ-3565 Rename Oracle LogMiner history retention hours option
...
* Moved option to `log.mining.` namespace rather than `database.`
* Updated the documentation and field description accordingly.
2021-06-02 10:47:54 +02:00
Chris Cranford
9a5d48524a
DBZ-3556 Remove ByteBuffer usage and refactor
...
* Combines BLOB chunks into a single hex-string for conversion
* Moved several strings to static variables
2021-05-31 10:03:24 +02:00
Gunnar Morling
28e36d55b1
DBZ-3554 Formatting
2021-05-26 13:04:25 +02:00
Chris Cranford
abb19d7437
DBZ-3554 Exclude ORA_TEMP_% tables from LogMiner DDL detection
2021-05-26 12:56:09 +02:00
Gunnar Morling
50bfd93e64
DBZ-3556 Moving getHexToRawByteArray() to value converters
2021-05-26 09:10:55 +02:00
Chris Cranford
901a74e604
DBZ-3556 Reduce database round-trip for LOB handling
2021-05-26 08:56:57 +02:00
Patrick Chu
9bdbec995f
DBZ-3545 Check for "IS NULL" in SelectLobParser
2021-05-21 10:13:16 +02:00
Chris Cranford
172c17d207
DBZ-2948 Fix IndexOutOfBoundsException with LOB select parser
2021-05-20 08:21:08 +02:00
Chris Cranford
754462a436
DBZ-2948 Fix potential null value being assigned to offset SCN
2021-05-20 08:21:08 +02:00
Chris Cranford
4aeb6069a3
DBZ-814 Ignore unsupported column types
2021-05-20 08:21:08 +02:00
Chris Cranford
8306bb5f15
DBZ-2948 Increase size of large CLOB/BLOB values
2021-05-20 08:21:08 +02:00
Chris Cranford
467a7f21f6
DBZ-2948 Implement BLOB/CLOB support for Oracle Xstream
2021-05-20 08:21:08 +02:00
Chris Cranford
fb7378ef52
DBZ-2948 Fix formatting
2021-05-20 08:21:08 +02:00
Chris Cranford
49703d9dc9
DBZ-2948 Implement BLOB/CLOB support for Oracle LogMiner
2021-05-20 08:21:08 +02:00
Chris Cranford
837a70f131
DBZ-3472 Relax retry logic for "No more data to read from socket"
...
Co-authored-by: Gunnar Morling <gunnar.morling@googlemail.com>
2021-05-20 07:58:31 +02:00
Chris Cranford
d147d1f517
DBZ-3240 Remove database.tablename.case.insensitive
deprecated option
2021-05-19 20:44:59 +02:00
Gunnar Morling
50c285031a
DBZ-3456 Minor clean-up
2021-05-19 13:42:03 +02:00
Thomas Aregger
d1670b636c
DBZ-3456 Timezone difference not considered in LagFromSourceInMilliseconds
calculation;
...
* Retrieve v$logmnr_contents.change_time in UTC
* Respect time zones when calculating time difference
* Allow constructors to be annotated with VisibleForTesting
2021-05-19 13:41:02 +02:00
Chris Cranford
118cee24a7
DBZ-3256 Formatting
2021-05-19 09:40:19 +02:00
Chris Cranford
81190df6a8
DBZ-3256 Document query fragments
2021-05-19 09:40:19 +02:00
Chris Cranford
b7c1d798a3
DBZ-3256 Consolidate Oracle redo/archive log queries
...
* Moves de-duplication to database using SQL query, i.e. no duplicate SCN ranges
* Provides a consistent view of logs rather than relying on multiple queries
2021-05-19 09:40:19 +02:00
Chris Cranford
ab2c3f41e6
DBZ-3533 Drop tables after signal tests concluded
2021-05-18 14:24:54 -04:00
Chris Cranford
a33af6a2d7
DBZ-2916 Fix test failures
2021-05-18 13:53:43 -04:00
Thomas Aregger
2d87fa9b3d
DBZ-3482 Parse timestamps with short form for months with locale "en"
2021-05-18 11:05:13 -04:00
Thomas Aregger
0027eb9f9c
DBZ-3482 Add missing format model
...
When the format model is omitted, the default is used. The default is determined from NLS settings
2021-05-18 11:05:13 -04:00
Thomas Aregger
5009a9d586
DBZ-3482 Change date string to match provided format model
2021-05-18 11:05:13 -04:00
Thomas Aregger
f31909ab12
DBZ-3482 Use format model for DATE data types that is independent of clients NLS settings
2021-05-18 11:05:13 -04:00
Chris Cranford
9b011c75a3
DBZ-3322 Suggested test case change
2021-05-18 15:49:19 +02:00
Chris Cranford
967b945e0f
DBZ-3322 Bubble up exceptions from RowMapper
2021-05-18 15:49:19 +02:00
Chris Cranford
00d75c282b
DBZ-3322 Handle Oracle partially committed transactions
2021-05-18 15:49:19 +02:00
Chris Cranford
b13cbb1077
DBZ-2916 Add support for Oracle DDL statement parsing
2021-05-18 14:58:20 +02:00
Chris Cranford
0c8c0255a9
DBZ-3377 Restart Oracle connector on ORA-01291, missing logfile
2021-05-17 11:01:25 +02:00
Chris Cranford
d5bf7a3c0b
DBZ-832 Add Oracle test for table without primary key
2021-05-13 06:50:15 +02:00
John Wu
05ce63e06a
DBZ-3516 LogMining redo log switch not being detected
2021-05-12 14:40:16 -04:00
Chris Cranford
8f953dc9fe
DBZ-3400 Remove Oracle Antlr DML parser
2021-05-11 17:56:55 +02:00
Chris Cranford
1d46cdb6b7
DBZ-3332 Limit oldest archive log query to only active records
2021-05-11 12:42:49 +02:00
kewenchao
47f380b565
DBZ-3397 Avoiding exception if system language is not English
2021-04-20 09:14:36 +02:00
Patrick Chu
e37abe5f92
DBZ-3413 Add additional unit tests for insert and update
2021-04-19 08:53:19 -04:00
Patrick Chu
ecae5b6b91
DBZ-3413 Handle double single quotes in LogMinerDmlParser
...
Double single quotes are treated as 2 quotes instead of 1 escaped quote in the WHERE clause parsing function.
2021-04-19 08:53:19 -04:00
Chris Cranford
7bd3e51e12
DBZ-1721 Fix DDL ParserException ID NUMBER(4) GENERATED BY
...
* Sync Oracle DDL grammar with latest upstream changes
* Implemented identity sequence spec for auto-generated column types
* Added Oracle examples to DDL parser project
* Corrected syntax failure after syncing grammar with upstream
2021-04-08 13:23:23 +02:00
Chris Cranford
bf0138064b
DBZ-3365 Use Instantiator implementation
2021-04-08 11:56:35 +02:00
Chris Cranford
e5f8491fbb
DBZ-3365 Fix formatting
2021-04-08 11:56:35 +02:00
Chris Cranford
c406527ccb
DBZ-3365 Remove unused imports
2021-04-08 11:56:35 +02:00
Chris Cranford
0f35b0455d
DBZ-3365 Allow building Oracle connector on CI
2021-04-08 11:56:35 +02:00
Chris Cranford
f95a2f877e
DBZ-3367 Correctly parse function string-args with parenthesis characters
2021-03-31 12:44:55 +02:00
Chris Cranford
776180a0df
DBZ-3347 Emit schema change events with correct source partition
2021-03-30 07:26:06 +02:00
Chris Cranford
dd24a94a62
DBZ-2911 Fix Oracle test compatibility
2021-03-30 05:53:38 +02:00
Chris Cranford
705b98f79f
DBZ-3341 Handle multiple local locations
2021-03-26 18:48:02 +01:00
Chris Cranford
6b7c7bc252
DBZ-3341 Only mine local destination archive logs
2021-03-26 18:48:02 +01:00
Chris Cranford
aee3550dc6
DBZ-3348 Oracle LogMiner can incorrectly resolve starting SCN is available
2021-03-26 08:22:34 +01:00
Chris Cranford
23baf34ee1
DBZ-3344 Fix Oracle test failures
2021-03-25 11:06:31 +01:00
Chris Cranford
d8f0d2ba5a
DBZ-2537 Rework Oracle's streaming metrics
...
* Consolidated LogMinerMetrics and TransactionalBufferMetrics
* Renamed LogMinerMetrics to OracleStreamingChangeEventSourceMetrics
* Standardized metrics method names & types
* Updated documentation to reflect metrics changes
2021-03-23 15:25:14 -04:00
Chris Cranford
1d9594ed88
DBZ-3290 Suggested changes
...
* Use {debezium-version} variable in examples
* Correct typos
* Document non-support for CLOB/BLOB data types
* Fix rendering of <= with unicode character
* Moved XStream documentation into separate section
* Moved database.oracle.version to internal
* Removed reference to database.oracle.version
* Resolve XStream POS version from OracleDatabaseVersion as fallback
when internal.database.oracle.version is not supplied.
2021-03-23 15:25:14 -04:00
Jiri Pechanec
9e994967ed
DBZ-3257 Use new method in tests
2021-03-23 09:48:54 +01:00
Chris Cranford
6d686d7543
DBZ-3257 Use DebeziumException instead
2021-03-23 06:12:04 +01:00
Chris Cranford
9aa1ba1471
DBZ-3257 Revert Clob behavior for Oracle LogMiner to avoid null values
...
* Snapshot now emits clob/nclob values correctly (all adapters)
* Fixed bug with LogMiner emitting clob/nclob values when using new parser
2021-03-23 06:12:04 +01:00
Chris Cranford
b85044cb14
DBZ-3319 Recalculate current log sequence
2021-03-22 20:04:00 -04:00
Chris Cranford
d75319a3ca
DBZ-3319 Fix race condition with log switch detection
...
Rather than relying on log switch detection by looking at the name
of the current log file, this change uses the unique and always
increasing sequence to derive the log switch state to avoid any
type of ambiguity.
2021-03-22 09:04:54 +01:00
Chris Cranford
a8a22bd828
DBZ-3268 Remove unused code
2021-03-19 18:07:12 +01:00
Chris Cranford
fae784001e
DBZ-3268 Emit TIMESTAMP WITH LOCAL TIME ZONE columns in UTC
2021-03-19 18:07:12 +01:00
Chris Cranford
d47db6e098
DBZ-3268 Use dedicated connection for XStream API
...
Once a connection is bound to XStream API, issuing any other type of query
or operation can lead to failures due to concurrent use of the connection
by Debezium and XStream's native methods. This commit adds a dedicated
connection used specifically by XStream to avoid this concurrency issue,
so that data types such as TIMESTAMP WITH LOCAL TIME ZONE works.
2021-03-19 18:07:12 +01:00
Chris Cranford
7a98fcd96c
DBZ-3268 Implement timestamp with local timezone support
2021-03-19 18:07:12 +01:00
Chris Cranford
6b8f61386b
DBZ-3268 Fix Oracle time.precision.mode support
2021-03-19 18:07:12 +01:00
Chris Cranford
31ffa5e816
DBZ-2994 Fix ClassCastException & compilation error
2021-03-18 22:23:41 -04:00
Chris Cranford
41b571fb37
DBZ-3292 Apply suggested changes
2021-03-18 21:59:38 +01:00
Chris Cranford
dc92001676
DBZ-3292 Prefer archived logs over redo logs for same SCN range.
2021-03-18 21:59:38 +01:00
Jiri Pechanec
495be2659b
DBZ-2511 Dedicated logger for schema name adjuster
2021-03-18 14:42:34 +01:00
Chris Cranford
97da4333a3
DBZ-2994 Return current SCN as string in LogMinerMetrics
2021-03-17 20:37:24 +01:00
Chris Cranford
bd7adb40ed
DBZ-2994 Fix test failures for Oracle XStreams
2021-03-17 20:37:24 +01:00
Chris Cranford
36f17a7630
DBZ-2994 Removed Scn.ZERO and Scn.INVALID in favor of Scn.NULL
2021-03-17 20:37:24 +01:00
Chris Cranford
f91a01fb86
DBZ-2994 Use null default rather than Scn.ZERO
2021-03-17 20:37:24 +01:00
Chris Cranford
da02ca2a23
DBZ-2994 Suggested changes
2021-03-17 20:37:24 +01:00
Chris Cranford
f3412c02da
DBZ-2994 Removed SCN2_KEY and COMMIT2_SCN_KEY from offsets
2021-03-17 20:37:24 +01:00
Chris Cranford
204ef73422
DBZ-2994 Moved Scn to parent package
...
Since the Scn class is used by the snapshot process, it makes sense to move
this class up by one package since it can now be leveraged by both adapters
as needed.
2021-03-17 20:37:24 +01:00
Chris Cranford
a9d59710a7
DBZ-2994 Use string-representation of SCN in offsets & source info
2021-03-17 20:37:24 +01:00
Chris Cranford
769f8dc4f4
DBZ-2457 Use BigInteger rather than BigDecimal for SCN values
2021-03-17 20:37:24 +01:00
Chris Cranford
787b459771
DBZ-3305 Fix IndexOutOfBoundsException for LogMiner Update DMLs
2021-03-17 12:07:58 +01:00
Chris Cranford
39dd1e6980
DBZ-3295 Fix typo in comments
2021-03-17 06:54:53 -04:00
Chris Cranford
f2593c2737
DBZ-3295 Restrict all LogMiner results to specified SCN boundary
2021-03-17 06:54:53 -04:00
Gunnar Morling
1f02d25738
DBZ-3271 Removing unused methods
2021-03-17 09:54:25 +01:00
Gunnar Morling
911b5e9a3b
DBZ-3271 Unifying filter handling across relational connectors
2021-03-17 09:54:25 +01:00
Chris Cranford
15fd604b1f
DBZ-3250 Add integration test
2021-03-16 18:12:10 +01:00
Chris Cranford
634be509d2
DBZ-3236 Make ORA-26653 is a retriable exception
2021-03-16 09:49:29 +01:00
Chris Cranford
3e82185e29
DBZ-3254 Log exception on failed connection validation
2021-03-12 08:01:39 +01:00
Chris Cranford
599341dece
DBZ-3145 Suggested changes
2021-03-12 08:00:06 +01:00
Chris Cranford
043e07a33a
DBZ-3145 Introduce LogFile implementation
2021-03-12 08:00:06 +01:00
Chris Cranford
858cfbcb7a
DBZ-3145 Removed unused code & irrelevant todo
2021-03-12 08:00:06 +01:00
Chris Cranford
8bf8a7d40a
DBZ-3145 Use Scn domain type rather than long
2021-03-12 08:00:06 +01:00
Chris Cranford
bb90d68903
DBZ-3145 Do not rely on Oracle version-specific max SCN values
2021-03-12 08:00:06 +01:00
Jiri Pechanec
0b12e8a02c
[release] Prevents NPE as parent method is not called
2021-03-11 08:58:06 +01:00
Jiri Pechanec
457598914d
DBZ-3258 Parse space in table name
2021-03-11 08:01:25 +01:00
Gunnar Morling
e0c651395d
DBZ-3141 Comment fix
2021-03-10 19:12:34 +01:00
Jiri Pechanec
de0d540a9f
DBZ-3141 Change schema signal for Oracle
2021-03-10 19:12:34 +01:00
Chris Cranford
09fa9d38ab
DBZ-3235 Do not fail parsing Oracle LogMiner SQL without a WHERE-clause
2021-03-09 07:22:12 +01:00
Chris Cranford
efc735d55c
DBZ-3241 Use LogMiner adapter as default for Oracle connector
2021-03-06 10:33:43 +01:00
Chris Cranford
5f0e09d0b8
DBZ-3242 Fix test failure
2021-03-05 17:55:18 -05:00
Chris Cranford
b98dae6436
DBZ-3242 Disable log.mining.transaction.retention.hours by default
...
* Default value `0` disables the check
* Any negative value will show a configuration problem
* Any positive value over `0` will enable the retention check
2021-03-05 18:14:23 +01:00
Chris Cranford
8a7276cebc
DBZ-3219 Fix column include/exclude support for Oracle
2021-03-05 10:35:00 +01:00
Chris Cranford
b0092dcfb4
DBZ-3190 Deprecate database.tablename.case.insensitive option
...
* Option deprecated
* If provided, value continues to be used with warning logged
* If not provided, value will be resolved by database version
2021-03-05 10:17:40 +01:00
Chris Cranford
8854a5c1a6
DBZ-3237 Cleanup test method artifacts
2021-03-05 09:12:32 +01:00
Chris Cranford
be80834838
DBZ-3208 Fix regression with Oracle XStreams
2021-03-04 20:33:08 +01:00
Chris Cranford
3dd0626e9f
DBZ-3154 Updated README, Suggested changes
2021-03-02 17:24:33 +01:00
Chris Cranford
f0bdc22714
DBZ-3154 Use constant references
2021-03-02 17:24:33 +01:00
Chris Cranford
61cfe48b56
DBZ-3154 Update test suite to run in CDB & non-CDB modes.
2021-03-02 17:24:33 +01:00
Chris Cranford
8ac227b59c
DBZ-3128 Revert fix for DBZ-2679.
2021-03-02 14:10:40 +01:00
Chris Cranford
1ed51fe1f9
DBZ-3208 Don't emit NUMBER(1) as boolean types
...
* NUMBER(1) column types emit as numeric
* Added OOTB converter, NumberOneToBooleanConverter
2021-03-02 09:05:41 +01:00
Chris Cranford
4d1d9bafee
DBZ-3036 Detect and skip Oracle IOT special tables
2021-02-26 08:11:44 +01:00
Chris Cranford
ddb1498d1d
DBZ-3194 Allow ORA-01284 errors to be retried
2021-02-26 08:08:38 +01:00
Chris Cranford
addec8f8a3
DBZ-3200 Fix potential division-by-zero with CommitThroughput metric
2021-02-26 08:07:35 +01:00
Chris Cranford
07322485b6
DBZ-3193 Fix IndexOutOfBoundsException with "IS NULL" predicate
2021-02-25 23:04:24 +01:00
Chris Cranford
2d919288f8
DBZ-3038 Fix LogMinerMetricsTest failure
2021-02-25 07:41:44 -05:00
Chris Cranford
8463249803
DBZ-3038 Fix LogMinerMetricsTest failure
2021-02-25 07:38:35 -05:00
Chris Cranford
2dedf1e27a
DBZ-3038 Capture additional LogMiner JMX Metrics
...
* Min/Max duration to start a mining session
* Min/Max number of logs mined in a given session
* Min/Max duration of a mining batch loop
* Some metrics cleanup
2021-02-25 11:42:12 +01:00
Chris Cranford
879449d1c3
DBZ-2875 Start streaming LogMiner changes after offset SCN
2021-02-25 11:37:59 +01:00
Chris Cranford
63358d12b5
DBZ-3167 Add tests for column include/exclude & legacy options
2021-02-23 17:26:38 +01:00
Chris Cranford
8708817fdf
DBZ-3167 Removed column.blacklist, cleaned up config definition
2021-02-23 17:26:38 +01:00
Jiri Pechanec
717278ac71
DBZ-3172 Convert NUMBER to boolean
2021-02-23 11:15:01 -05:00
Chris Cranford
db64e1092c
DBZ-3151 Fix NullPointerException with Pattern matching
2021-02-23 15:02:49 +01:00
Chris Cranford
013b24e3f8
DBZ-3165 Fix test failure
2021-02-23 15:02:49 +01:00
Chris Cranford
49f8f5d70c
DBZ-3009 Suggested changes
...
* Fixed prior commit mistake with log.mining.strategy default
* Added comment on excluded schema logic when building LogMiner query
2021-02-23 12:29:20 +01:00
Chris Cranford
fde3d2ff81
DBZ-3009 Exclude system schemas in LogMiner session queries
2021-02-23 12:29:20 +01:00
Chris Cranford
514c513f96
DBZ-3009 Fix tests compatibility w/Xstream
2021-02-23 12:29:20 +01:00
Chris Cranford
461b784974
DBZ-3009 Support multiple schemas with Oracle LogMiner
2021-02-23 12:29:20 +01:00
Chris Cranford
85cfdd2236
DBZ-3034 Remove build deprecation warnings
2021-02-23 10:52:49 +01:00
Chris Cranford
a9d3b889ee
DBZ-3119 Implement Config validation
2021-02-22 20:00:11 +01:00
Chris Cranford
2727b151fc
DBZ-3165 Remove dependency on JAXB
2021-02-22 18:37:30 +01:00
Chris Cranford
556886b522
DBZ-3151 Use pattern for SYS_NC_OID$, SYS_NC_ROWINFO$, and SYS_NCnnnnn$ names
2021-02-22 15:23:18 +01:00
Chris Cranford
f962524de7
DBZ-3151 Properly handle system-generated hidden column unique indexes
2021-02-22 15:23:18 +01:00
Chris Cranford
738b365bc5
DBZ-3109 Account for multiple log group types
2021-02-19 21:42:05 +01:00
Chris Cranford
dfdd0858dd
DBZ-3078 Use max.queue.size for fetch size
2021-02-19 21:39:27 +01:00
Chris Cranford
25f1eb5776
DBZ-3078 More LogMiner DML parser, Metrics and Benchmark changes
...
* Consolidated converts to simply OracleValueConverters
* Defined a common interface for legacy and new DML parsers
* Parser failures now through exception rather than skip event
* Added support for "Unsupported Type" in DML parsing (spatial columns)
* Units encoded into JMX metrics names
* Additional JMX metrics added & some metrics calculations improved
* Introduced JMH benchmarks for Oracle LogMiner parser & end-to-end
2021-02-19 21:39:27 +01:00
Chris Cranford
9c2edc7e61
DBZ-3078 Connector adjustments for new DML parser
2021-02-19 21:39:27 +01:00
Chris Cranford
92b9558218
DBZ-3078 Initial implementation of FastDmlParser
2021-02-19 21:39:27 +01:00
Chris Cranford
aa584c08cd
DBZ-3153 Capture LogMiner parameters when LogMiner session fails to start
2021-02-19 19:03:45 +01:00
Chris Cranford
88b2f73842
DBZ-3001 Do not resolve database version lazily
2021-02-19 17:29:20 +01:00
Chris Cranford
d061f58b05
DBZ-3001 Control MAX Scn for LogMiner based on Oracle version
2021-02-19 17:29:20 +01:00
Chris Cranford
9f2e2971b7
DBZ-3110 Introduce RequireDatabaseOption test annotation
2021-02-19 17:01:25 +01:00
Chris Cranford
304f38e15a
DBZ-3090 Cleanup LogMiner TransactionBuffer commit handler
2021-02-18 07:59:55 +01:00
Chris Cranford
4dbd9f3e4c
DBZ-3090 Commit events in same thread that processes results for LogMiner
2021-02-18 07:59:55 +01:00
Chris Cranford
570e35eaad
DBZ-3090 Fix emitting transaction end event for LogMiner
2021-02-18 07:59:55 +01:00
Chris Cranford
2810683ad2
DBZ-2754 Fix test failures
2021-02-17 20:16:00 -05:00
Chris Cranford
3043a6f799
DBZ-2754 Fix test compilation failures
2021-02-17 20:11:01 -05:00
Gunnar Morling
0980492bb0
DBZ-2754 Using Duration instead of long for durations
2021-02-17 12:13:16 +01:00
Chris Cranford
2be6238487
DBZ-2754 Add log.mining.transaction.retention.hours
config option
2021-02-17 12:13:16 +01:00
Chris Cranford
d3a51a1080
DBZ-3057 Provide table filters to reading of database schemas
2021-02-16 09:41:36 +01:00
Chris Cranford
3fd64f5827
DBZ-3057 Fix reading table unique indices with non-quoted table names
2021-02-16 09:41:36 +01:00
Chris Cranford
933ca55b74
DBZ-3055 Use JdbcConnection#query instead
2021-02-05 05:42:59 +01:00
Chris Cranford
e973c11818
DBZ-3055 Capture table state when LogMiner session fails
2021-02-05 05:42:59 +01:00
Chris Cranford
ccb2329e99
DBZ-2999 Fix double execution of LogMiner session
2021-02-04 16:14:14 -05:00
Chris Cranford
15e78f66bc
DBZ-2939 Added ORA-01333 as valid retriable exception
2021-02-04 06:07:43 +01:00
Chris Cranford
fffe1fb6ea
DBZ-2980 Fix logging parameters
2021-02-03 18:09:40 -05:00
Chris Cranford
d56fc5b2bd
DBZ-2982 Fix LogMinerMetrics bean registration
2021-02-03 18:08:25 -05:00
Chris Cranford
a9d514588c
DBZ-2999 Standardize casing for LogMiner
2021-02-03 13:01:23 -05:00
Chris Cranford
760915eab6
DBZ-2999 Log SCN ranges for Redo and Archive logs
2021-02-03 13:01:23 -05:00
Chris Cranford
5da2d4b91f
DBZ-2999 Capture V$LOGMNR_LOG contents upon ORA-01291 exception
2021-02-03 13:01:23 -05:00
Chris Cranford
58985e0c90
DBZ-2999 Few more logging improvements
2021-02-03 13:01:23 -05:00
Chris Cranford
01ece5cbdb
DBZ-2999 Fix unnecessary logging of current redo logs
2021-02-03 13:01:23 -05:00
Chris Cranford
c58cc44053
DBZ-2999 Improve Logminer logging
2021-02-03 13:01:23 -05:00
Chris Cranford
864b87d2e1
DBZ-2982 Suggested changes
2021-02-03 11:45:20 -05:00
Chris Cranford
2631a6de2a
DBZ-2982 Fix formatting
2021-02-03 11:45:20 -05:00
mpermar
76a518334a
DBZ-2982 Add suffix to log mining properties and proper Duration type
2021-02-03 11:45:20 -05:00
mpermar
26ddfcfec1
DBZ-2982 Remove trailing space
...
Co-authored-by: Chris Cranford <ccranfor@redhat.com>
2021-02-03 11:45:20 -05:00
mpermar
ca1b85ee05
DBZ-2982 Add some additional logging on sleep time and batch sizing
2021-02-03 11:45:20 -05:00
mpermar
c442f478cb
DBZ-2982 Allow to customize log mining properties
2021-02-03 11:45:20 -05:00
Chris Cranford
b0b26e43c8
DBZ-2420 Use custom Oracle connector validation for database.hostname
2021-02-03 11:10:57 -05:00
ani-sha
b430e83dde
DBZ-2420 Use database configs from RelationalDatabaseConnectorConfig
2021-02-03 11:10:57 -05:00
Jiri Pechanec
57246a246e
DBZ-2891 Express send/receive semantics
2021-01-28 10:22:56 +01:00
Jiri Pechanec
7a6b50b1f2
DBZ-2891 Set watermark in the XStream thread
2021-01-28 10:22:56 +01:00
Chris Cranford
dcd2914ab1
DBZ-2891 Added test case
2021-01-28 10:22:56 +01:00
martper2
b9f46af9a2
DBZ-2855 Fix Max SCN
2021-01-27 20:13:16 -05:00
martper2
1de2736249
DBZ-2855: Missing log file error when current SCN is longer than what Long supports
2021-01-27 20:13:16 -05:00
Chris Cranford
10aab1445c
DBZ-2733 Fix DecimalMode for Oracle Logminer
2021-01-26 13:08:47 -05:00
Chris Cranford
923c6f9c13
DBZ-2980 Suggested changes
2021-01-26 12:58:50 -05:00
martper2
6bdc20c4bc
DBZ-2980 Additional logging for number and type of sql operations
2021-01-26 12:58:50 -05:00
martper2
3727273d9e
DBZ-2981 Debezium swallows DML exception in certain cases
2021-01-26 12:53:44 -05:00
Chris Cranford
83fee1cbfc
DBZ-2949 Guard against LAST_DDL_TIME with value of 0
2021-01-26 13:55:13 +01:00
Chris Cranford
fcd497557e
DBZ-2711 Implement table-level ALL Supplemental Data Logging Validation
2021-01-26 13:53:58 +01:00
Anton Kondratev
c359d2c40e
DBZ-2711 Implement only global minimum supplemental logging validation
2021-01-26 13:53:58 +01:00
Chris Cranford
5a7ac0cfe1
DBZ-2518 Implement Scn as a domain type
2021-01-26 13:52:05 +01:00
Chris Cranford
bb24606188
DBZ-2920 Fix Logminer DML operations using continuation
2021-01-26 13:50:41 +01:00
Chris Cranford
71437acda4
DBZ-2784 Suggested changes
2021-01-07 09:09:30 +01:00
Chris Cranford
4a63680664
DBZ-2784 Support date columns for Oracle Logminer
...
This change also corrects the precision of dates emitted when using
the Oracle Logminer adapter so they're identical to Xstreams adapter.
2021-01-07 09:09:30 +01:00