View Issue Details

IDProjectCategoryView StatusLast Update
0004743SymmetricDSImprovementpublic2021-01-11 13:47
Reporterelong Assigned Toelong  
Prioritynormal 
Status closedResolutionfixed 
Product Version3.12.0 
Target Version3.12.6Fixed in Version3.12.6 
Summary0004743: Conflict resolver improvements, unique key detection
DescriptionSome improvements to the conflict detection and resolution:

* Added unique key to detection (isCaptureTimeNewerForUk) in addition to primary key. Two rows can conflict based on a unique key constraint even when their primary keys do not. It will choose the winning row by the newer capture time.

* Added foreign keys to resolution of ignoring losing rows (isConflictingLosingParentRow). When a losing row is referenced by foreign keys, the child rows will also be considered losers and ignored. This is necessary so the error for missing foreign key does not cause missing rows to be reloaded.

* Fix Postgres "transaction aborted" error messages, showing original conflict exception instead. Use savepoints during auto resolution to avoid aborting the transaction.

* Fix SQL-Server error "cannot update identity column" from isCaptureTimeNewer.
Tagsconflict manager

Activities

There are no notes attached to this issue.

Related Changesets

SymmetricDS: 3.12 c7711d3a

2021-01-05 13:32:22

admin

Details Diff
0004743: Conflict resolver improvements, unique key detection Affected Issues
0004743
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/load/DefaultDataLoaderFactory.java Diff File
mod - symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/writer/AbstractDatabaseWriter.java Diff File
mod - symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/writer/AbstractDatabaseWriterConflictResolver.java Diff File
mod - symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/writer/DatabaseWriterSettings.java Diff File
mod - symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/writer/DefaultDatabaseWriterConflictResolver.java Diff File

SymmetricDS: 3.12 25a688e2

2021-01-07 21:43:38

admin

Details Diff
0004743: don't lock row when aborted transaction Affected Issues
0004743
mod - symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/writer/DefaultDatabaseWriterConflictResolver.java Diff File

SymmetricDS: 3.12 f169b970

2021-01-08 13:24:25

admin

Details Diff
0004743: losing parent when both pk and uk lose Affected Issues
0004743
mod - symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/writer/DefaultDatabaseWriterConflictResolver.java Diff File

Issue History

Date Modified Username Field Change
2021-01-05 13:29 elong New Issue
2021-01-05 13:29 elong Status new => assigned
2021-01-05 13:29 elong Assigned To => elong
2021-01-05 13:29 elong Tag Attached: conflict manager
2021-01-05 13:41 elong Status assigned => resolved
2021-01-05 13:41 elong Resolution open => fixed
2021-01-05 13:41 elong Fixed in Version => 3.12.6
2021-01-05 14:00 admin Changeset attached => SymmetricDS 3.12 c7711d3a
2021-01-07 22:00 admin Changeset attached => SymmetricDS 3.12 25a688e2
2021-01-08 14:00 admin Changeset attached => SymmetricDS 3.12 f169b970
2021-01-11 13:47 admin Status resolved => closed