View Revisions: Issue #5602
Summary | 0005602: Parse exception of batch should remove it from staging | ||
---|---|---|---|
Revision | 2022-11-28 19:33 by elong | ||
Description | When an update is read from a batch CSV, if the elements are less than the column count, it goes into a loop with a ParseException. It should remove the batch from staging with a ProtocolException and let the source node know to do the same. INFO [client-1] [DefaultDatabaseWriter] [client-1-dataloader-4] Failed to process insert event in batch server-20 on channel 'default'. Failed row data was: "1" org.jumpmind.exception.ParseException: The (MYTEST) table's column count (2) does not match the data's column count (1) at org.jumpmind.symmetric.io.data.writer.AbstractDatabaseWriter.write(AbstractDatabaseWriter.java:149) at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.write(NestedDataWriter.java:62) at org.jumpmind.symmetric.model.ProcessInfoDataWriter.write(ProcessInfoDataWriter.java:84) at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.write(NestedDataWriter.java:62) at org.jumpmind.symmetric.io.data.writer.TransformWriter.write(TransformWriter.java:186) at org.jumpmind.symmetric.io.data.DataProcessor.forEachDataInTable(DataProcessor.java:194) at org.jumpmind.symmetric.io.data.DataProcessor.forEachTableInBatch(DataProcessor.java:160) at org.jumpmind.symmetric.io.data.DataProcessor.process(DataProcessor.java:108) at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1046) at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1) 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:750) |
||
Revision | 2022-11-28 19:37 by elong | ||
Description | When an update is read from a batch CSV, if the elements are less than the column count, it goes into a loop with a ParseException. It should remove the batch from staging with a ProtocolException and let the source node know to do the same. ERROR [client-1] [ManageIncomingBatchListener] [client-1-dataloader-8] Failed to load batch server-26 java.lang.IllegalStateException: Invalid state while parsing csv data. The number of columns (2) reported for table 'MYTEST' doesn't match up with the token count (2) data: {update,1} at org.jumpmind.symmetric.io.data.reader.ProtocolDataReader.readNext(ProtocolDataReader.java:194) at org.jumpmind.symmetric.io.data.reader.ProtocolDataReader.nextData(ProtocolDataReader.java:367) at org.jumpmind.symmetric.io.data.DataProcessor.forEachDataInTable(DataProcessor.java:181) at org.jumpmind.symmetric.io.data.DataProcessor.forEachTableInBatch(DataProcessor.java:160) at org.jumpmind.symmetric.io.data.DataProcessor.process(DataProcessor.java:108) at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1046) at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1) 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:750) |