View Issue Details

IDProjectCategoryView StatusLast Update
0003811SymmetricDSBugpublic2019-02-11 21:28
Reporterelong Assigned Toelong  
Prioritynormal 
Status closedResolutionfixed 
Product Version3.8.0 
Target Version3.8.42Fixed in Version3.8.42 
Summary0003811: Router exception can expire gaps that contain data
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
TagsNo tags attached.

Activities

There are no notes attached to this issue.

Related Changesets

SymmetricDS: 3.8 ece2e82f

2018-11-30 08:51:19

admin

Details Diff
0003811: Router exception can expire gaps that contain data Affected Issues
0003811
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 13:49 elong New Issue
2018-11-30 13:49 elong Status new => assigned
2018-11-30 13:49 elong Assigned To => elong
2018-11-30 13:54 elong Status assigned => resolved
2018-11-30 13:54 elong Resolution open => fixed
2018-11-30 13:54 elong Fixed in Version => 3.8.42
2018-11-30 14:00 admin Changeset attached => SymmetricDS 3.8 ece2e82f
2019-02-11 21:28 admin Status resolved => closed