View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0004649 | SymmetricDS | Bug | public | 2020-11-20 20:06 | 2021-01-11 13:47 |
Reporter | elong | Assigned To | elong | ||
Priority | normal | ||||
Status | closed | Resolution | fixed | ||
Product Version | 3.12.0 | ||||
Target Version | 3.12.6 | Fixed in Version | 3.12.6 | ||
Summary | 0004649: Auto resolve ConflictException hides unique key exception | ||||
Description | The auto resolve logic for a data conflict involving a unique key exception tries to find the name of the unique index so it can issue a delete statement to remove the blocking row. There are issues with parsing the database message, either because the message format has changed, is in a different language, or has a different case, etc. When it fails to determine the unique index name, it assumes it is a primary key exception, and the actual exception message is hidden from the log. 2020-11-20 14:38:13 INFO [node-2] [DefaultDatabaseWriter] [node-2_1-dataloader-2] Failed to process insert event in batch 1-184 on channel 'default'. Failed row data was: "4","184322","eric4","508598","AES-128","128","839438","394096","-13553","0","0","0","1","140501","1978-02-04 14:57:40.681000","YWFhLi4u","YWFhLi4u","YWFhLi4u","2013-08-30 06:58:41.831000","1986-12-14 00:51:25.780000","XWtpGYBiikvPcPN","-322" StackTraceKey.init [ConflictException:2694123624] org.jumpmind.symmetric.io.data.writer.ConflictException: Detected conflict while executing INSERT on public.mytable. The primary key data was: {id=4}. Failed to fallback. at org.jumpmind.symmetric.io.data.writer.AbstractDatabaseWriterConflictResolver.performFallbackToUpdate(AbstractDatabaseWriterConflictResolver.java:342) at org.jumpmind.symmetric.io.data.writer.DefaultTransformWriterConflictResolver.performFallbackToUpdate(DefaultTransformWriterConflictResolver.java:110) at org.jumpmind.symmetric.io.data.writer.AbstractDatabaseWriterConflictResolver.performChainedFallbackForInsert(AbstractDatabaseWriterConflictResolver.java:196) at org.jumpmind.symmetric.io.data.writer.AbstractDatabaseWriterConflictResolver.needsResolved(AbstractDatabaseWriterConflictResolver.java:70) at org.jumpmind.symmetric.io.data.writer.AbstractDatabaseWriter.write(AbstractDatabaseWriter.java:212) at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.write(NestedDataWriter.java:64) at org.jumpmind.symmetric.model.ProcessInfoDataWriter.write(ProcessInfoDataWriter.java:84) at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.write(NestedDataWriter.java:64) at org.jumpmind.symmetric.io.data.writer.TransformWriter.write(TransformWriter.java:202) at org.jumpmind.symmetric.io.data.DataProcessor.forEachDataInTable(DataProcessor.java:212) at org.jumpmind.symmetric.io.data.DataProcessor.forEachTableInBatch(DataProcessor.java:178) at org.jumpmind.symmetric.io.data.DataProcessor.process(DataProcessor.java:124) at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1085) at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1061) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) | ||||
Tags | conflict manager | ||||
Date Modified | Username | Field | Change |
---|---|---|---|
2020-11-20 20:06 | elong | New Issue | |
2020-11-20 20:06 | elong | Status | new => assigned |
2020-11-20 20:06 | elong | Assigned To | => elong |
2020-11-20 20:06 | elong | Tag Attached: conflict manager | |
2020-11-23 13:30 | elong | Issue cloned: 0004652 | |
2020-11-23 13:30 | elong | Relationship added | related to 0004652 |
2020-11-23 13:39 | elong | Status | assigned => resolved |
2020-11-23 13:39 | elong | Resolution | open => fixed |
2020-11-23 13:39 | elong | Fixed in Version | => 3.12.6 |
2021-01-11 13:47 | admin | Status | resolved => closed |