View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0006898 | SymmetricDS Pro | Bug | public | 2025-05-21 14:17 | 2025-05-21 14:27 |
Reporter | elong | Assigned To | elong | ||
Priority | normal | ||||
Status | resolved | Resolution | fixed | ||
Product Version | 3.16.0 | ||||
Target Version | 3.16.3 | Fixed in Version | 3.16.3 | ||
Summary | 0006898: Multiple repair threads cause failure to rename staging resource | ||||
Description | Compare 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 | ||||
Tags | compare repair | ||||
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 |