View Issue Details

IDProjectCategoryView StatusLast Update
0004631SymmetricDSBugpublic2020-11-21 01:06
Reporterpmarzullo Assigned Topmarzullo  
Prioritynormal 
Status resolvedResolutionfixed 
Product Version3.12.5 
Target Version3.12.6Fixed in Version3.12.6 
Summary0004631: Default Conflict resolution (IS_CAPTURE_TIME_NEWER) doesn't work when target node is a load only node
DescriptionWhen the target node is a load only node, the conflict resolution does not work when the detection type is not USE_TIMESTAMP or USE_VERSION and the resolve type is NEWER_WINS because the code tries to query the sym_data table in the wrong database (the actual target database instead of the supporting H2 database).

Because this is the case of a load only database anyway, it doesn't make sense to look for the newer sym_data change that caused the conflict because the load only database is not capturing any data changes.

So, if we have a NEWER_WINS resolve type and not a USE_TIMESTAMP or USE_VERSION of detection type, then the incoming row should always win the conflict.
Steps To Reproduce1. No conflict configuration defined (default should be used).
2. Target database defined as load only.
3. Insert record in source database.
4. Synch to target database.
5. Turn off routing on source database.
6. Update record in source database.
7. Delete created sym_data record as a result of previous update.
8. Turn on routing.
9. Update same record in source database.
10. Synch will fail because of not being able to access sym_data table in target database.
Tagsconflict manager, data writer

Activities

There are no notes attached to this issue.

Related Changesets

SymmetricDS: 3.12 535888e8

2020-11-09 18:20:22

pmarzullo

Details Diff
0004631: Default Conflict resolution (IS_CAPTURE_TIME_NEWER) doesn't
work when target node is a load only node
Affected Issues
0004631
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/DatabaseWriterSettings.java Diff File
mod - symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/writer/DefaultDatabaseWriterConflictResolver.java Diff File

Issue History

Date Modified Username Field Change
2020-11-09 17:58 pmarzullo New Issue
2020-11-09 17:58 pmarzullo Status new => assigned
2020-11-09 17:58 pmarzullo Assigned To => pmarzullo
2020-11-09 17:58 pmarzullo Tag Attached: conflict manager
2020-11-09 17:58 pmarzullo Tag Attached: data writer
2020-11-09 18:27 pmarzullo Status assigned => resolved
2020-11-09 18:27 pmarzullo Resolution open => fixed
2020-11-09 18:27 pmarzullo Fixed in Version => 3.12.6
2020-11-09 19:00 pmarzullo Changeset attached => SymmetricDS 3.12 535888e8
2020-11-11 13:21 elong Status resolved => closed
2020-11-11 13:21 elong Fixed in Version 3.12.6 => 3.12.5
2020-11-21 01:06 elong Status closed => resolved
2020-11-21 01:06 elong Fixed in Version 3.12.5 => 3.12.6