View Issue Details

IDProjectCategoryView StatusLast Update
0000647SymmetricDSBugpublic2014-02-02 20:52
ReportermhanesAssigned Toadmin 
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Product Version3.0.1 
Target Version3.0.3Fixed in Version3.0.3 
Summary0000647: Fallback from insert to update causes an array index out of bounds exception
DescriptionA loop that checks to see if column values have changed was driven off of the row data. For an insert, the row data contains the primary keys at the end. When we reach the primary keys, we blow up because we are using the index to also index the column on the target table.
TagsNo tags attached.

Activities

chenson

2012-06-18 12:03

administrator   ~0000007

There must be a bit more to it than just this. I haven't been able to reproduce yet ...

abrougher

2012-06-18 14:55

developer   ~0000008

The following stack trace was copied from the command line.

[returns-management-001] - DataLoaderService - Failed while parsing batch
java.lang.IndexOutOfBoundsException: Index: 6, Size: 6
        at java.util.ArrayList.rangeCheck(Unknown Source)
        at java.util.ArrayList.get(Unknown Source)
        at org.jumpmind.db.model.Table.getColumn(Table.java:230)
        at org.jumpmind.symmetric.io.data.writer.DatabaseWriter.update(DatabaseWriter.java:504)
        at org.jumpmind.symmetric.io.data.writer.DatabaseWriter.write(DatabaseWriter.java:133)
        at org.jumpmind.symmetric.io.data.writer.DefaultTransformWriterConflictResolver.performFallbackToUpdate(DefaultT
ransformWriterConflictResolver.java:64)
        at org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriterConflictResolver.needsResolved(DefaultDatabaseWrit
erConflictResolver.java:38)
        at org.jumpmind.symmetric.io.data.writer.DatabaseWriter.write(DatabaseWriter.java:156)
        at org.jumpmind.symmetric.io.data.writer.TransformWriter.write(TransformWriter.java:175)
        at org.jumpmind.symmetric.io.data.DataProcessor.forEachDataInTable(DataProcessor.java:159)
        at org.jumpmind.symmetric.io.data.DataProcessor.forEachTableInBatch(DataProcessor.java:131)
        at org.jumpmind.symmetric.io.data.DataProcessor.process(DataProcessor.java:86)
        at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener.end(DataLoaderService
.java:649)
        at org.jumpmind.symmetric.io.data.writer.StagingDataWriter.notifyEndBatch(StagingDataWriter.java:43)
        at org.jumpmind.symmetric.io.data.writer.AbstractProtocolDataWriter.end(AbstractProtocolDataWriter.java:155)
        at org.jumpmind.symmetric.io.data.DataProcessor.process(DataProcessor.java:92)
        at org.jumpmind.symmetric.service.impl.DataLoaderService.loadDataFromTransport(DataLoaderService.java:316)
        at org.jumpmind.symmetric.service.impl.DataLoaderService.loadDataFromPush(DataLoaderService.java:242)
        at org.jumpmind.symmetric.web.PushUriHandler.push(PushUriHandler.java:79)
        at org.jumpmind.symmetric.web.PushUriHandler.handle(PushUriHandler.java:66)
        at org.jumpmind.symmetric.web.SymmetricServlet.service(SymmetricServlet.java:82)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:565)
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:479)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
        at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1031)
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:406)
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186)
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:965)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
        at org.eclipse.jetty.server.Server.handle(Server.java:348)
        at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:452)
        at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:894)
        at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:948)
        at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:851)
        at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
        at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77)
        at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:606)
        at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:46)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:603)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:538)
        at java.lang.Thread.run(Unknown Source)
[returns-management-001] - IncomingBatchService - Retrying batch 000-1270
[returns-management-001] - DataLoaderService - Failed to load batch 000-1270 because: Index: 6, Size: 6
[returns-management-001] - DataLoaderService - Failed while parsing batch

chenson

2012-06-18 20:29

administrator   ~0000010

This was reported here as well. No transforms.

http://sourceforge.net/projects/symmetricds/forums/forum/739236/topic/5344561

Related Changesets

SymmetricDS: master d133f8fa

2012-06-18 20:31:49

chenson

Details Diff
0000647: Fallback from insert to update causes an array index out of bounds exception
0000647
mod - symmetric/symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/writer/DatabaseWriter.java Diff File

Issue History

Date Modified Username Field Change
2012-06-14 10:47 mhanes New Issue
2012-06-14 10:47 mhanes Status new => assigned
2012-06-14 10:47 mhanes Assigned To => chenson
2012-06-18 09:42 chenson Target Version => 3.0.2
2012-06-18 12:03 chenson Note Added: 0000007
2012-06-18 12:03 chenson Target Version 3.0.2 =>
2012-06-18 12:13 chenson Assigned To chenson =>
2012-06-18 12:14 chenson Status assigned => new
2012-06-18 14:55 abrougher Note Added: 0000008
2012-06-18 15:07 admin Target Version => 3.0.3
2012-06-18 15:08 admin Assigned To => admin
2012-06-18 15:08 admin Status new => assigned
2012-06-18 20:29 chenson Note Added: 0000010
2012-06-18 20:31 chenson Summary Implied, load-side data transforms to smaller table results in index-out-of-bound exception => Fallback from insert to update causes an array index out of bounds exception
2012-06-18 20:31 chenson Description Updated View Revisions
2012-06-18 20:32 chenson Status assigned => resolved
2012-06-18 20:32 chenson Fixed in Version => 3.0.3
2012-06-18 20:32 chenson Resolution open => fixed
2012-06-23 11:48 admin Status resolved => closed
2014-02-02 20:52 Changeset attached => SymmetricDS trunk r5889
2015-07-30 21:49 chenson Changeset attached => SymmetricDS master d133f8fa