View Issue Details

IDProjectCategoryView StatusLast Update
0003812SymmetricDSBugpublic2018-11-30 09:09
ReporterelongAssigned Toelong 
Prioritynormal 
Status resolvedResolutionfixed 
Product Version3.9.0 
Target Version3.9.16Fixed in Version3.9.16 
Summary0003812: Router exception can expire gaps that contain data (3.9)
DescriptionRouter service can expire a gap that contains data when an exception is thrown, because it catches the exception and behaves like all data was read. The following conditions can cause data loss:

1. Data on one channel is within a gap that is old enough for expiration and is not the last gap
2. Routing receives an exception
3. Data on a second channel is processed, which causes gap processing to occur

Steps To Reproduce1. Set gap expiration low (routing.stale.dataid.gap.time.ms=5000)
2. Setup a bsh router and give it invalid syntax that will throw a SyntaxParsingException
3. Change data for test table that is replicated
4. Run the heartbeat job manually
5. Routing will put data for test table in its own gap
6. Run the heartbeat job manually again, after enough time has passed for gap expiration

Activities

There are no notes attached to this issue.

Related Changesets

SymmetricDS: 3.9 fb3a9a21

2018-11-30 08:56:59

admin

Details Diff
0003812: Router exception can expire gaps that contain data
0003812
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/RouterService.java Diff File

SymmetricDS: 3.10 69ca9ea9

2018-11-30 08:56:59

admin

Details Diff
0003812: Router exception can expire gaps that contain data
0003812
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/RouterService.java Diff File

Issue History

Date Modified Username Field Change
2018-11-30 08:55 elong New Issue
2018-11-30 08:55 elong Status new => assigned
2018-11-30 08:55 elong Assigned To => elong
2018-11-30 09:00 admin Changeset attached => SymmetricDS 3.9 fb3a9a21
2018-11-30 09:00 admin Changeset attached => SymmetricDS 3.10 69ca9ea9
2018-11-30 09:09 elong Status assigned => resolved
2018-11-30 09:09 elong Resolution open => fixed
2018-11-30 09:09 elong Fixed in Version => 3.9.16