View Issue Details

IDProjectCategoryView StatusLast Update
0002984SymmetricDSBugpublic2017-05-04 13:41
ReporterchensonAssigned Tochenson 
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Product Version3.8.15 
Target Version3.8.23Fixed in Version3.8.23 
Summary0002984: Batch was corrupted in incoming staging. The beginning of the batch was appended to the middle of the same batch.
DescriptionBatch was corrupted in incoming staging. The beginning of the batch was appended to the middle of the same batch.

Maybe we need a simple checksum check?
TagsNo tags attached.

Activities

cominform

2017-03-24 05:53

reporter   ~0000982

Last edited: 2017-05-04 05:45

View 2 revisions

We are facing an issue with swapped columns in the batches, if a transformation is configured and a C-Agent is syncing.

woehrl01

2017-04-28 09:10

reporter   ~0001028

@cominform. We are experiencing the same problems, it would be nice if you could provide the nessesary changes. A simple diff would be enough for us, thanks!

cominform

2017-05-02 06:02

reporter   ~0001032

@woehrl01 We have found further issues and are currently working on them. I will talk with the team about it on Thursday and then I can tell you more details.

woehrl01

2017-05-02 07:40

reporter   ~0001033

@cominform: Thank you very much, this is highly appreciated!

chenson

2017-05-02 09:22

administrator   ~0001034

If you guys want to elaborate a bit more, I can help triage as well ...

woehrl01

2017-05-02 09:57

reporter   ~0001035

Sure, I got it two times in a row on an initial load (same machine, exact same table). There were two nodes doing an initial load at the same time (not sure if relevant).
I'm not sure how to reproduce it correctly, but this is what the errors on the client side looks like:

2017-04-26 16:40:06,455 INFO [mobil-NB-16112214957] [DefaultDatabaseWriter] [mobil-nb-16112214957-pull-default-1] Failed to process insert event in batch 8580237.
Failed sql was: insert into "DLG_KURZ" ("sym_row_id", "dlg_kurz_id", "dlg_art", "dlg_id", "dlgteil_id", "ident_num", "sort_nr", "ModifiedBy", "ModifiedDate", "CreatedBy", "CreatedDate", "DeletedBy", "DeletedDate") values (?,?,?,?,?,?,?,?,?,?,?,?,?)
Failed sql parameters: [33086FEA-2E27-E611-80DF-0050569A617F, 33204, 4, 3095, 19269, 32, 5, null, null, null, null, null, null]
Failed sql parameters types: [12, 4, 4, 4, 4, 4, 4, 12, 93, 12, 93, 12, 93]
Failed row data was: "34086FEA-2E27-E611-80DF-0050569A617F","33205","4","3095","192F44439","24","28","33190","4","3842","16428","39","5","1","4","423\"","19145","1","240569A617F","33190","4","3842","16428","36","5","1","32940","1","1423","19148F-0050569A617F","33192","4","3842","1235247","5","1","32942","2","1424","19140DF-0050569A617F","33193","4","3842","129,","3",,,,,,
 StackTraceKey.init [RuntimeException:3776605271]
java.lang.RuntimeException: Could not convert a value of 192F44439 for column dlgteil_id of type INTEGER
    at org.jumpmind.db.platform.AbstractDatabasePlatform.getObjectValues(AbstractDatabasePlatform.java:379)
    at org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriter.execute(DefaultDatabaseWriter.java:822)
    at org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriter.insert(DefaultDatabaseWriter.java:175)
    at org.jumpmind.symmetric.io.data.writer.AbstractDatabaseWriter.write(AbstractDatabaseWriter.java:159)
    at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.write(NestedDataWriter.java:64)
    at org.jumpmind.symmetric.model.ProcessInfoDataWriter.write(ProcessInfoDataWriter.java:65)
    at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.write(NestedDataWriter.java:64)
    at org.jumpmind.symmetric.io.data.writer.TransformWriter.write(TransformWriter.java:207)
    at org.jumpmind.symmetric.io.data.DataProcessor.forEachDataInTable(DataProcessor.java:200)
    at org.jumpmind.symmetric.io.data.DataProcessor.forEachTableInBatch(DataProcessor.java:170)
    at org.jumpmind.symmetric.io.data.DataProcessor.process(DataProcessor.java:116)
    at org.jumpmind.symmetric.service.impl.DataLoaderService.loadDataFromTransport(DataLoaderService.java:537)
    at org.jumpmind.symmetric.service.impl.DataLoaderService.loadDataFromPull(DataLoaderService.java:291)
    at org.jumpmind.symmetric.service.impl.PullService.execute(PullService.java:135)
    at org.jumpmind.symmetric.service.impl.NodeCommunicationService$1.run(NodeCommunicationService.java:499)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NumberFormatException: For input string: "192F44439"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Integer.parseInt(Integer.java:580)
    at java.math.BigInteger.<init>(BigInteger.java:470)
    at java.math.BigInteger.<init>(BigInteger.java:606)
    at org.jumpmind.db.platform.AbstractDatabasePlatform.parseInteger(AbstractDatabasePlatform.java:484)
    at org.jumpmind.db.platform.sqlite.SqliteDatabasePlatform.parseInteger(SqliteDatabasePlatform.java:117)
    at org.jumpmind.db.platform.AbstractDatabasePlatform.getObjectValue(AbstractDatabasePlatform.java:412)
    at org.jumpmind.db.platform.AbstractDatabasePlatform.getObjectValues(AbstractDatabasePlatform.java:374)


It recieves the following Row:

2017-04-26 16:40:06,455 INFO [mobil-NB-16112214957] [DefaultDatabaseWriter] [mobil-nb-16112214957-pull-default-1] Failed to process insert event in batch 8580237.
Failed row data was: "34086FEA-2E27-E611-80DF-0050569A617F","33205","4","3095","192F44439","24","28","33190","4","3842","16428","39","5","1","4","423\"","19145","1","240569A617F","33190","4","3842","16428","36","5","1","32940","1","1423","19148F-0050569A617F","33192","4","3842","1235247","5","1","32942","2","1424","19140DF-0050569A617F","33193","4","3842","129,","3",,,,,,
 StackTraceKey [RuntimeException:3776605271]


while the actual values are (batch on the server):
insert,"34086FEA-2E27-E611-80DF-0050569A617F","33205","4","3095","19270","33","9",,,,,,


The client is configured to never write batches to disk, and the server has "send.on.stage" enabled.

If you need more specific informations, don't hesitate to ask

woehrl01

2017-05-02 10:00

reporter   ~0001036

Maybe @cominform already has a clue where the problem could reside.

chenson

2017-05-02 13:17

administrator   ~0001037

I think I fixed the root cause over the weekend. Try 3.8.22.

I think there still needs to be a more advanced checksum mechanism for batches though ...

woehrl01

2017-05-02 14:05

reporter   ~0001038

I'll give it a try tomorrow.
I'm curious, is the root cause related to 0003083?

As in our setup we have zero on the server and stream to file disabled on the client.

chenson

2017-05-02 14:08

administrator   ~0001039

Last edited: 2017-05-02 14:09

View 2 revisions

0003083 and 0003074

woehrl01

2017-05-03 02:54

reporter   ~0001041

Last edited: 2017-05-03 02:56

View 2 revisions

What I think would be sufficent, if there is a simple length check on rows, so that all rows of a table have the same number of columns inside a batch.

cominform

2017-05-04 05:46

reporter   ~0001044

Sorry, our fixes are related to the C-Agent only at the moment. We have committed them right now. But we still are looking into the batch corruption.

chenson

2017-05-04 11:12

administrator   ~0001047

https://sourceforge.net/p/symmetricds/discussion/739236/thread/277976d3/?limit=25

Related Changesets

SymmetricDS: 3.8 e513b945

2017-05-04 11:59:14

chenson42

Details Diff
0002984: Batch was corrupted in incoming staging. The beginning of the
batch was appended to the middle of the same batch.

0002984
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/DataExtractorService.java Diff File
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/DataLoaderService.java Diff File
mod - symmetric-io/src/main/java/org/jumpmind/symmetric/io/stage/StagedResource.java Diff File

Issue History

Date Modified Username Field Change
2017-02-03 14:11 chenson New Issue
2017-03-22 14:40 chenson Status new => acknowledged
2017-03-24 05:53 cominform Note Added: 0000982
2017-04-28 09:10 woehrl01 Note Added: 0001028
2017-05-02 06:02 cominform Note Added: 0001032
2017-05-02 07:40 woehrl01 Note Added: 0001033
2017-05-02 09:22 chenson Note Added: 0001034
2017-05-02 09:57 woehrl01 Note Added: 0001035
2017-05-02 10:00 woehrl01 Note Added: 0001036
2017-05-02 13:17 chenson Note Added: 0001037
2017-05-02 14:05 woehrl01 Note Added: 0001038
2017-05-02 14:08 chenson Note Added: 0001039
2017-05-02 14:09 chenson Note Edited: 0001039 View Revisions
2017-05-03 02:54 woehrl01 Note Added: 0001041
2017-05-03 02:56 woehrl01 Note Edited: 0001041 View Revisions
2017-05-04 05:45 cominform Note Edited: 0000982 View Revisions
2017-05-04 05:46 cominform Note Added: 0001044
2017-05-04 10:51 chenson Assigned To => chenson
2017-05-04 10:51 chenson Status acknowledged => assigned
2017-05-04 10:51 chenson Target Version 3.9.0 => 3.8.23
2017-05-04 11:12 chenson Note Added: 0001047
2017-05-04 12:00 chenson42 Changeset attached => SymmetricDS 3.8 e513b945
2017-05-04 12:03 chenson Status assigned => resolved
2017-05-04 12:03 chenson Fixed in Version => 3.8.23
2017-05-04 12:03 chenson Resolution open => fixed
2017-05-04 13:41 chenson Status resolved => closed