View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000647 | SymmetricDS | Bug | public | 2012-06-14 14:47 | 2014-02-03 01:52 |
Reporter | Assigned To | admin | |||
Priority | normal | ||||
Status | closed | Resolution | fixed | ||
Product Version | 3.0.1 | ||||
Target Version | 3.0.3 | Fixed in Version | 3.0.3 | ||
Summary | 0000647: Fallback from insert to update causes an array index out of bounds exception | ||||
Description | A 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. | ||||
Tags | No tags attached. | ||||
|
There must be a bit more to it than just this. I haven't been able to reproduce yet ... |
|
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 |
|
This was reported here as well. No transforms. http://sourceforge.net/projects/symmetricds/forums/forum/739236/topic/5344561 |
Date Modified | Username | Field | Change |
---|---|---|---|
2012-06-14 14:47 |
|
New Issue | |
2012-06-14 14:47 |
|
Status | new => assigned |
2012-06-14 14:47 |
|
Assigned To | => chenson |
2012-06-18 13:42 | chenson | Target Version | => 3.0.2 |
2012-06-18 16:03 | chenson | Note Added: 0000007 | |
2012-06-18 16:03 | chenson | Target Version | 3.0.2 => |
2012-06-18 16:13 | chenson | Assigned To | chenson => |
2012-06-18 16:14 | chenson | Status | assigned => new |
2012-06-18 18:55 | abrougher | Note Added: 0000008 | |
2012-06-18 19:07 | admin | Target Version | => 3.0.3 |
2012-06-18 19:08 | admin | Assigned To | => admin |
2012-06-18 19:08 | admin | Status | new => assigned |
2012-06-19 00:29 | chenson | Note Added: 0000010 | |
2012-06-19 00: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-19 00:31 | chenson | Description Updated | View Revisions |
2012-06-19 00:32 | chenson | Status | assigned => resolved |
2012-06-19 00:32 | chenson | Fixed in Version | => 3.0.3 |
2012-06-19 00:32 | chenson | Resolution | open => fixed |
2012-06-23 15:48 | admin | Status | resolved => closed |
2014-02-03 01:52 | Changeset attached | => SymmetricDS trunk r5889 | |
2015-07-31 01:49 | chenson | Changeset attached | => SymmetricDS master d133f8fa |