[
https://issues.apache.org/jira/browse/DERBY-1764?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12609014#action_12609014
]
Bryan Pendleton commented on DERBY-1764:
----------------------------------------
I managed to try a run of the test. I'm not quite sure what results I should be
expecting.
The test ran for 2+ hours, created an immense derby.log with thousands of errors
about deadlocks, duplicate keys, and other problems, then terminated. Below is
pasted
the tail of the output that I received:
10)
testStressMulti(org.apache.derbyTesting.functionTests.multi.stress.StressMulti)java.sql.BatchUpdateException:
Log Record has been sent to the stream, but it cannot be applied to the store
(Object Page Operation: Page(1,Container(0, 13232)) pageVersion 3 : Insert :
Slot=2 recordId=8). This may cause recovery problems also.
at
org.apache.derby.impl.jdbc.EmbedStatement.executeBatch(EmbedStatement.java:999)
at
org.apache.derbyTesting.functionTests.multi.stress.StressMulti$StressMultiRunnable.create(StressMulti.java:238)
at
org.apache.derbyTesting.functionTests.multi.stress.StressMulti$StressMultiRunnable.run(StressMulti.java:191)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.sql.SQLException: Log Record has been sent to the stream, but
it cannot be applied to the store (Object Page Operation: Page(1,Container(0,
13232)) pageVersion 3 : Insert : Slot=2 recordId=8). This may cause recovery
problems also.
at
org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45)
at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:87)
at org.apache.derby.impl.jdbc.Util.seeNextException(Util.java:223)
at
org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:398)
at
org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(TransactionResourceImpl.java:346)
at
org.apache.derby.impl.jdbc.EmbedConnection.handleException(EmbedConnection.java:2183)
at
org.apache.derby.impl.jdbc.ConnectionChild.handleException(ConnectionChild.java:81)
at
org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1325)
at
org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:625)
at
org.apache.derby.impl.jdbc.EmbedStatement.executeBatchElement(EmbedStatement.java:1013)
at
org.apache.derby.impl.jdbc.EmbedStatement.executeBatch(EmbedStatement.java:974)
... 3 more
Caused by: java.sql.SQLException: The store has been marked for shutdown by an
earlier exception.
at
org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45)
at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:87)
at org.apache.derby.impl.jdbc.Util.seeNextException(Util.java:223)
at
org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:398)
... 11 more
Caused by: java.sql.SQLException: An exception was thrown during transaction
abort.
at
org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45)
at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:87)
at org.apache.derby.impl.jdbc.Util.seeNextException(Util.java:223)
at
org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:398)
... 12 more
Caused by: java.sql.SQLException: Connection closed by unknown interrupt.
at
org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45)
at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:87)
at org.apache.derby.impl.jdbc.Util.seeNextException(Util.java:223)
at
org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:398)
... 13 more
Caused by: java.sql.SQLException: Java exception: ':
java.lang.InterruptedException'.
at
org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45)
at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:87)
at org.apache.derby.impl.jdbc.Util.javaException(Util.java:244)
at
org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:403)
... 14 more
Caused by: java.lang.InterruptedException
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:474)
at
org.apache.derby.impl.store.raw.log.LogToFile.flush(LogToFile.java:3934)
at
org.apache.derby.impl.store.raw.log.LogToFile.flush(LogToFile.java:1777)
at
org.apache.derby.impl.store.raw.log.FileLogger.flush(FileLogger.java:585)
at org.apache.derby.impl.store.raw.xact.Xact.abort(Xact.java:925)
at
org.apache.derby.impl.store.raw.xact.XactContext.cleanupOnError(XactContext.java:119)
at
org.apache.derby.iapi.services.context.ContextManager.cleanupOnError(ContextManager.java:332)
at
org.apache.derby.impl.jdbc.TransactionResourceImpl.cleanupOnError(TransactionResourceImpl.java:419)
at
org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(TransactionResourceImpl.java:337)
at
org.apache.derby.impl.jdbc.EmbedConnection.handleException(EmbedConnection.java:2183)
at
org.apache.derby.impl.jdbc.ConnectionChild.handleException(ConnectionChild.java:81)
at
org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1325)
at
org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:625)
at
org.apache.derby.impl.jdbc.EmbedStatement.executeUpdate(EmbedStatement.java:175)
at
org.apache.derbyTesting.functionTests.multi.stress.StressMulti$StressMultiRunnable.roll(StressMulti.java:288)
at
org.apache.derbyTesting.functionTests.multi.stress.StressMulti$StressMultiRunnable.run(StressMulti.java:194)
... 1 more
FAILURES!!!
Tests run: 1, Failures: 0, Errors: 10
> Rewrite stress.multi as a JUnit test
> ------------------------------------
>
> Key: DERBY-1764
> URL: https://issues.apache.org/jira/browse/DERBY-1764
> Project: Derby
> Issue Type: Test
> Components: Test
> Reporter: Knut Anders Hatlen
> Assignee: Erlend Birkenes
> Attachments: DERBY-1764-Review.diff, DERBY-1764-V1.diff
>
>
> Currently, stress.multi consists of a number of sql scripts that are run in
> ij. It often fails with cryptic error messages, and since it uses ij, there
> is often no stack trace. It would be very useful to rewrite the test in JUnit
> so that we can get better error messages and stack traces when it fails.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.