db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bernt M. Johnsen (JIRA)" <derby-...@db.apache.org>
Subject [jira] Created: (DERBY-428) NetworkClient PreparedStatement.executeBatch() hangs if batch is too large (ArrayIndexOutOfBoundsException in Network Server)
Date Fri, 01 Jul 2005 08:05:00 GMT
NetworkClient PreparedStatement.executeBatch() hangs if batch is too large (ArrayIndexOutOfBoundsException
in Network Server)
-----------------------------------------------------------------------------------------------------------------------------

         Key: DERBY-428
         URL: http://issues.apache.org/jira/browse/DERBY-428
     Project: Derby
        Type: Bug
  Components: Network Client  
 Environment: Linux atum01 2.4.20-31.9 #1 Tue Apr 13 18:04:23 EDT 2004 i686 i686 i386 GNU/Linux
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_03-b07)
Java HotSpot(TM) Client VM (build 1.5.0_03-b07, mixed mode, sharing)

    Reporter: Bernt M. Johnsen


When running

        s.executeUpdate("create table t (i integer)");
        PreparedStatement p = c.prepareStatement("insert into t values(?)");
        for (int i=0; i<N; i++) {
            p.setInt(1,i);
            p.addBatch();
        }
        System.out.println("Ok");
        p.executeBatch();


If  N is 9000
The server reports:

524272
java.lang.ArrayIndexOutOfBoundsException: 524272
        at org.apache.derby.impl.drda.DDMWriter.startDdm(DDMWriter.java:315)
        at org.apache.derby.impl.drda.DRDAConnThread.writeSQLCARD(DRDAConnThread.java:4937)
        at org.apache.derby.impl.drda.DRDAConnThread.writeSQLCARDs(DRDAConnThread.java:4898)
        at org.apache.derby.impl.drda.DRDAConnThread.writeSQLCARDs(DRDAConnThread.java:4888)
        at org.apache.derby.impl.drda.DRDAConnThread.checkWarning(DRDAConnThread.java:7239)
        at org.apache.derby.impl.drda.DRDAConnThread.parseEXCSQLSTT(DRDAConnThread.java:3605)
        at org.apache.derby.impl.drda.DRDAConnThread.processCommands(DRDAConnThread.java:859)
        at org.apache.derby.impl.drda.DRDAConnThread.run(DRDAConnThread.java:214)
agentThread[DRDAConnThread_3,5,main]

While the client hangs in executeBatch().

If N is 8000, the client gets the following Exception:
Exception in thread "main" org.apache.derby.client.am.BatchUpdateException: Non-atomic batch
failure.  The batch was submitted, but at least one exception occurred on an individual member
of the batch. Use getNextException() to retrieve the exceptions for specific batched elements.
        at org.apache.derby.client.am.Agent.endBatchedReadChain(Agent.java:267)
        at org.apache.derby.client.am.PreparedStatement.executeBatchRequestX(PreparedStatement.java:1596)
        at org.apache.derby.client.am.PreparedStatement.executeBatchX(PreparedStatement.java:1467)
        at org.apache.derby.client.am.PreparedStatement.executeBatch(PreparedStatement.java:945)
        at AOIB.main(AOIB.java:24)




-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Mime
View raw message