View Issue Details

IDProjectCategoryView StatusLast Update
0005106SymmetricDSBugpublic2022-08-04 18:44
Reporterhongzeng Assigned Toemiller  
Priorityhigh 
Status resolvedResolutionfixed 
Product Version3.12.11 
Target Version3.14.1Fixed in Version3.14.1 
Summary0005106: The PostgreSQL database cannot be synchronized under the USE_CHANGED_DATA and manual resolution strategy
Descriptiondatabase version :postgresql 10.17
Synchronous direction:postgresql - postgresql
Reproduction steps:The synchronization table policy is the use_ CHANGED_ DATA and manual resolution strategy, Ping Backs is SINGLE_ ROW. The two synchronization tables contain three fields, ID, name and age, and ID is the primary key. There is a piece of data with id = 1 under the source table and two pieces of data with id = 1 and id = 2 under the destination table. Then, change the id = 1 in the source table to 2. Because the data with id = 2 already exists in the target table, a conflict will occur. When manually resolving data, it cannot be completely resolved, and conflicting data always exists
Steps To Reproduce1.create table .
2.The source table inserts data with id = 1, and the destination table inserts data with id = 1 and id = 2.
3.Add synchronization table on symmetricDS.
4.Configure conflict policy is the use_ CHANGED_ DATA and manual resolution conflict.
5.Change the data of the source table id = 1 to id = 2.
6.Conflicts are resolved manually and never resolved.
Tagsconflict manager, dialect: postgresql

Activities

elong

2021-11-24 18:42

developer   ~0002019

The update causes the connection to rollback, and there is no option of "on conflict do nothing". It sounds like the resolve data is only used after the conflict happens. Maybe it's possible to check for resolve data to use before encountering the conflict.

elong

2021-11-24 18:45

developer   ~0002020

Workaround is to remove id=2 from target database, then it will load.

Related Changesets

SymmetricDS: 3.14 ff8d36ee

2022-08-04 17:57:07

evan-miller-jumpmind

Details Diff
0005106: Fixed manual conflict resolution for Postgres Affected Issues
0005106
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/DefaultDatabaseWriter.java Diff File

Issue History

Date Modified Username Field Change
2021-10-21 10:53 hongzeng New Issue
2021-11-24 18:42 elong Note Added: 0002019
2021-11-24 18:45 elong Note Added: 0002020
2022-08-02 21:03 elong Tag Attached: conflict manager
2022-08-02 21:04 elong Tag Attached: dialect: postgresql
2022-08-04 17:57 emiller Assigned To => emiller
2022-08-04 17:57 emiller Status new => resolved
2022-08-04 17:57 emiller Resolution open => fixed
2022-08-04 17:57 emiller Fixed in Version => 3.14.1
2022-08-04 18:00 Changeset attached => SymmetricDS 3.14 ff8d36ee
2022-08-04 18:44 elong Target Version => 3.14.1