View Issue Details

IDProjectCategoryView StatusLast Update
0006559SymmetricDSImprovementpublic2024-08-22 19:00
Reporterelong Assigned Toelong  
Prioritynormal 
Status closedResolutionfixed 
Product Version3.15.0 
Target Version3.15.9Fixed in Version3.15.9 
Summary0006559: Purge and recapture can cause exception in routing
DescriptionPurging of expired gaps that have data or purging of stranded data that was not routed will cause a recapture of the data in an attempt to repair data, but if the original data is corrupt it can cause a routing error. If the column count for row data, old data, or pk data doesn't match the column count of the table definition, it can cause a routing error if the router needs to access column data or an extract error in the next phase.
Steps To ReproduceFind rows in sym_data that were successfully routed and manipulate them for a scenario with an expired data gap. For example, if we choose data IDs of 100 through 104, then:

insert into sym_data_gap values (100, 104, 1, current_timestamp, 'here');
delete from sym_data_event where batch_id between 100 and 104;
delete from sym_outgoing_batch where batch_id between 100 and 104;

Now manipulate the changes in sym_data by corrupting the data in row_data, old_data, and pk_data. Set the purge.expired.data.gap.retention.minutes parameter to 1 minute and run the purge outgoing job.
Tagspurge

Activities

There are no notes attached to this issue.

Related Changesets

SymmetricDS: 3.15 9f50aba2

2024-08-22 18:35:53

admin

Details Diff
0006559: Purge and recapture can cause exception in routing Affected Issues
0006559
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/DataService.java Diff File
mod - symmetric-core/src/test/java/org/jumpmind/symmetric/service/impl/DataServiceTest.java Diff File

Issue History

Date Modified Username Field Change
2024-08-21 13:01 elong New Issue
2024-08-21 13:01 elong Status new => assigned
2024-08-21 13:01 elong Assigned To => elong
2024-08-21 13:01 elong Tag Attached: purge
2024-08-22 18:36 elong Status assigned => resolved
2024-08-22 18:36 elong Resolution open => fixed
2024-08-22 18:36 elong Fixed in Version => 3.15.9
2024-08-22 19:00 admin Changeset attached => SymmetricDS 3.15 9f50aba2
2024-10-01 19:48 admin Status resolved => closed