View Issue Details

IDProjectCategoryView StatusLast Update
0006898SymmetricDS ProBugpublic2025-05-21 14:27
Reporterelong Assigned Toelong  
Prioritynormal 
Status resolvedResolutionfixed 
Product Version3.16.0 
Target Version3.16.3Fixed in Version3.16.3 
Summary0006898: Multiple repair threads cause failure to rename staging resource
DescriptionCompare uses a batch CSV to repair data, and each repair operation is using the same batch number, which can cause file system conflicts trying to write and rename the staging resource. It's using the virtual batch number for registration, which causes it to clear config batches and mark the node as registered, which could cause other problems. Each repair should use a unique batch number.

ERROR [target] [CompareRepair] [target-compare-18|1-9] Failed to repair compare request oracle-18-1 for table TEST StackTraceKey.init [SymmetricException:2047126867] org.jumpmind.symmetric.SymmetricException: java.lang.IllegalStateException: Had trouble renaming file. The destination file already exists, but is not the same size. Source file: (/home/elong/git/3.16/symmetric-pro/symmetric-pro/target/tmp/target/incoming/oracle/00000-9999.create size: 0 lastModified: 1969-12-31 19:00:00.0) Target file: (/home/elong/git/3.16/symmetric-pro/symmetric-pro/target/tmp/target/incoming/oracle/00000-9999.done size: 819 lastModified: 2025-05-21 08:34:50.507)
        at org.jumpmind.symmetric.service.impl.DataLoaderService.logOrRethrow(DataLoaderService.java:708)
        at org.jumpmind.symmetric.service.impl.DataLoaderService.loadDataFromTransport(DataLoaderService.java:642)
        at org.jumpmind.symmetric.service.impl.DataLoaderService.loadDataFromTransport(DataLoaderService.java:529)
        at com.jumpmind.symmetric.compare.RepairBatchLoader.load(RepairBatchLoader.java:35)
        at com.jumpmind.symmetric.compare.CompareRepair.loadRepairBatch(CompareRepair.java:81)
        at com.jumpmind.symmetric.compare.CompareRepair.repair(CompareRepair.java:44)
        at com.jumpmind.symmetric.console.service.impl.CompareService.execute(CompareService.java:684)
        at org.jumpmind.symmetric.service.impl.NodeCommunicationService$1.run(NodeCommunicationService.java:553)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: java.lang.IllegalStateException: Had trouble renaming file. The destination file already exists, but is not the same size. Source file: (/home/elong/git/3.16/symmetric-pro/symmetric-pro/target/tmp/target/incoming/oracle/00000-9999.create size: 0 lastModified: 1969-12-31 19:00:00.0) Target file: (/home/elong/git/3.16/symmetric-pro/symmetric-pro/target/tmp/target/incoming/oracle/00000-9999.done size: 819 lastModified: 2025-05-21 08:34:50.507)
        at org.jumpmind.symmetric.io.stage.StagedResource.handleFailedRename(StagedResource.java:200)
        at org.jumpmind.symmetric.io.stage.StagedResource.setState(StagedResource.java:159)
        at org.jumpmind.symmetric.io.stage.SimpleStagingDataWriter.process(SimpleStagingDataWriter.java:160)
        at org.jumpmind.symmetric.service.impl.DataLoaderService.loadDataFromTransport(DataLoaderService.java:574)
        ... 9 more
Tagscompare repair

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2025-05-21 14:17 elong New Issue
2025-05-21 14:17 elong Status new => assigned
2025-05-21 14:17 elong Assigned To => elong
2025-05-21 14:17 elong Tag Attached: compare repair
2025-05-21 14:27 elong Status assigned => resolved
2025-05-21 14:27 elong Resolution open => fixed
2025-05-21 14:27 elong Fixed in Version => 3.16.3