View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003811 | SymmetricDS | Bug | public | 2018-11-30 13:49 | 2019-02-11 21:28 |
Reporter | elong | Assigned To | elong | ||
Priority | normal | ||||
Status | closed | Resolution | fixed | ||
Product Version | 3.8.0 | ||||
Target Version | 3.8.42 | Fixed in Version | 3.8.42 | ||
Summary | 0003811: Router exception can expire gaps that contain data | ||||
Description | Router 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 Reproduce | 1. 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 | ||||
Tags | No tags attached. | ||||
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 |