View Issue Details

IDProjectCategoryView StatusLast Update
0002479SymmetricDSBugpublic2016-02-12 13:26
ReporterelongAssigned Toelong 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version3.7.0 
Target Version3.7.29Fixed in Version3.7.29 
Summary0002479: Data gaps expire immediately, data is never routed
DescriptionData gaps can be expired immediately when clients use a different timezone than the server. Data gaps happen naturally on a highly concurrent system or when a process performs a rollback. Data captured in sym_data saves the create_time using the database current_timestamp, but the time is a local time based on the client's timezone settings.

Change the data gap detector to use the create_time from the sym_data_gap (which is recorded with the server's local time) instead of from sym_data (which is recorded with the client's local time).
Steps To ReproduceHere is an example:

Client 2 - data id=1000, create_time = 1:00
Client 1 - data id=1001, create_time = 5:00
Client 2 - data id=1002, create_time = 1:00

Client 1 has a local time of 5:00, while client 2 has a local time of 1:00. The server is also using a local time of 1:00. If Client 2 commits first, a gap is formed at data id 1001. When the data gap detector looks at the gap, it appears to be 4 hours old, so it is expire immediately.
TagsNo tags attached.

Activities

There are no notes attached to this issue.

Related Changesets

SymmetricDS: 3.7 c1ff3d70

2016-01-15 14:30:53

admin

Details Diff
0002479: Data gaps expire immediately, data is never routed
0002479
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/route/DataGapDetector.java Diff File

SymmetricDS: 3.7 eb3eaffb

2016-01-15 15:59:53

admin

Details Diff
0002479: Data gaps expire immediately, data is never routed
0002479
mod - symmetric-core/src/test/java/org/jumpmind/symmetric/service/impl/AbstractRouterServiceTest.java Diff File

Issue History

Date Modified Username Field Change
2016-01-15 14:28 elong New Issue
2016-01-15 14:28 elong Status new => assigned
2016-01-15 14:28 elong Assigned To => elong
2016-01-15 15:00 admin Changeset attached => SymmetricDS 3.7 c1ff3d70
2016-01-15 16:13 elong Status assigned => resolved
2016-01-15 16:13 elong Fixed in Version => 3.7.29
2016-01-15 16:13 elong Resolution open => fixed
2016-01-15 17:00 admin Changeset attached => SymmetricDS 3.7 eb3eaffb
2016-02-12 13:26 chenson Status resolved => closed