View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0005106 | SymmetricDS | Bug | public | 2021-10-21 10:53 | 2022-08-30 13:04 |
Reporter | hongzeng | Assigned To | emiller | ||
Priority | high | ||||
Status | closed | Resolution | fixed | ||
Product Version | 3.12.11 | ||||
Target Version | 3.14.1 | Fixed in Version | 3.14.1 | ||
Summary | 0005106: The PostgreSQL database cannot be synchronized under the USE_CHANGED_DATA and manual resolution strategy | ||||
Description | database 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 Reproduce | 1.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. | ||||
Tags | conflict manager, dialect: postgresql | ||||
|
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. |
|
Workaround is to remove id=2 from target database, then it will load. |
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 |
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 |
2022-08-30 13:04 | admin | Status | resolved => closed |