View Issue Details

IDProjectCategoryView StatusLast Update
0004302SymmetricDSImprovementpublic2020-06-04 17:55
Reporterelong Assigned Toelong  
Prioritynormal 
Status closedResolutionfixed 
Product Version3.12.0 
Target Version3.12.0Fixed in Version3.12.0 
Summary0004302: Conflict resolution NEWER_TIME based on capture time of row
DescriptionEnhance NEWER_TIME resolution to work with detectors of USE_CHANGED_DATA, USE_OLD_DATA, and USE_PK_DATA by using the time of capture (create_time from sym_data) to determine winning rows in a conflict. Add two new protocol tokens:

basetime - written once for batch to provide the UTC unix time of first row's create time
ts - written before each row (insert, update, delete) to provide offset from basetime

Change the default conflict detector to USE_CHANGED_DATA with resolution of NEWER_TIME. Add a parameter of extract.row.capture.time=true that can be set to false, which would only send basetime to conserve space but lower accuracy of resolution.
Tagsconflict manager

Relationships

related to 0003972 closedelong Tables become out of sync due incorrect conflict detection (and/or invalid conflict resolution) 
related to 0004303 closedelong Change default of dataloader.apply.changes.only to true to support better conflict resolution 

Activities

There are no notes attached to this issue.

Related Changesets

SymmetricDS: 3.12 6202884e

2020-03-06 14:08:56

admin

Details Diff
0004302: Conflict resolution NEWER_TIME based on capture time of row Affected Issues
0004302
mod - symmetric-assemble/src/asciidoc/appendix/dataformat.ad Diff File
mod - symmetric-assemble/src/asciidoc/configuration/conflicts.ad Diff File
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/SymmetricPushClient.java Diff File
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/common/ParameterConstants.java Diff File
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/model/Node.java Diff File
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/DataExtractorService.java Diff File
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/MultiBatchStagingWriter.java Diff File
mod - symmetric-core/src/main/resources/symmetric-default.properties Diff File
mod - symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/CsvConstants.java Diff File
mod - symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/reader/ProtocolDataReader.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/AbstractProtocolDataWriter.java Diff File
mod - symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/writer/Conflict.java Diff File
mod - symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/writer/DefaultDatabaseWriter.java Diff File
mod - symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/writer/DefaultDatabaseWriterConflictResolver.java Diff File
mod - symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/writer/ProtocolDataWriter.java Diff File
mod - symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/writer/StagingDataWriter.java Diff File
mod - symmetric-io/src/test/java/org/jumpmind/symmetric/io/data/writer/StagingDataWriterTest.java Diff File

SymmetricDS: 3.12 1555967a

2020-05-08 08:22:25

admin

Details Diff
0004302: Conflict resolution NEWER_TIME based on capture time of row Affected Issues
0004302
mod - symmetric-assemble/src/asciidoc/configuration/conflicts.ad Diff File

SymmetricDS: 3.12 166e129b

2020-05-13 08:13:38

admin

Details Diff
0004302: Oracle needs "like" to query n/clob field Affected Issues
0004302
mod - symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/writer/DefaultDatabaseWriterConflictResolver.java Diff File

Issue History

Date Modified Username Field Change
2020-03-06 14:21 elong New Issue
2020-03-06 14:21 elong Status new => assigned
2020-03-06 14:21 elong Assigned To => elong
2020-03-06 19:24 elong Status assigned => resolved
2020-03-06 19:24 elong Resolution open => fixed
2020-03-06 19:24 elong Fixed in Version => 3.12.0
2020-03-06 20:00 admin Changeset attached => SymmetricDS 3.12 6202884e
2020-03-12 12:57 elong Relationship added related to 0003972
2020-03-12 12:57 elong Relationship added related to 0004303
2020-03-12 12:58 elong Tag Attached: conflict manager
2020-05-26 18:48 elong Status resolved => closed
2020-06-04 17:55 admin Changeset attached => SymmetricDS 3.12 166e129b
2020-06-04 17:55 admin Changeset attached => SymmetricDS 3.12 1555967a