Intermittent ASSERT FAILED Internal Error-- statistics not found in
selectivityForConglomerate when running InterruptResilienceTest
-----------------------------------------------------------------------------------------------------------------------------------
Key: DERBY-5153
URL: https://issues.apache.org/jira/browse/DERBY-5153
Project: Derby
Issue Type: Bug
Affects Versions: 10.8.0.0
Reporter: Dag H. Wanvik
Cf the enclosed derby.log:
While executing this statement: "select * from mtTab where i=?", we see this
stacktrace:
org.apache.derby.shared.common.sanity.AssertFailure: ASSERT FAILED Internal
Error-- statistics not found in selectivityForConglomerate.
cd = ConglomerateDescriptor: conglomerateNumber = 1249 name =
SQL110325154339720 uuid = f04340b7-012e-ed78-50c3-00005e21fe7a indexable = true
numKeys = 1
at
org.apache.derby.shared.common.sanity.SanityManager.THROWASSERT(SanityManager.java:162)
at
org.apache.derby.shared.common.sanity.SanityManager.THROWASSERT(SanityManager.java:147)
at
org.apache.derby.iapi.sql.dictionary.TableDescriptor.selectivityForConglomerate(TableDescriptor.java:1443)
at
org.apache.derby.impl.sql.compile.PredicateList.selectivity(PredicateList.java:3903)
at
org.apache.derby.impl.sql.compile.FromBaseTable.estimateCost(FromBaseTable.java:1295)
at
org.apache.derby.impl.sql.compile.OptimizerImpl.estimateTotalCost(OptimizerImpl.java:2626)
at
org.apache.derby.impl.sql.compile.OptimizerImpl.costBasedCostOptimizable(OptimizerImpl.java:2172)
at
org.apache.derby.impl.sql.compile.OptimizerImpl.costOptimizable(OptimizerImpl.java:1985)
at
org.apache.derby.impl.sql.compile.FromBaseTable.optimizeIt(FromBaseTable.java:526)
at
org.apache.derby.impl.sql.compile.ProjectRestrictNode.optimizeIt(ProjectRestrictNode.java:316)
at
org.apache.derby.impl.sql.compile.OptimizerImpl.costPermutation(OptimizerImpl.java:1939)
at
org.apache.derby.impl.sql.compile.SelectNode.optimize(SelectNode.java:1916)
at
org.apache.derby.impl.sql.compile.DMLStatementNode.optimizeStatement(DMLStatementNode.java:315)
at
org.apache.derby.impl.sql.compile.CursorNode.optimizeStatement(CursorNode.java:587)
at
org.apache.derby.impl.sql.GenericStatement.prepMinion(GenericStatement.java:384)
at
org.apache.derby.impl.sql.GenericStatement.prepare(GenericStatement.java:85)
at
org.apache.derby.impl.sql.GenericPreparedStatement.rePrepare(GenericPreparedStatement.java:229)
at
org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(GenericPreparedStatement.java:409)
at
org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:317)
at
org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1242)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(EmbedPreparedStatement.java:1686)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeQuery(EmbedPreparedStatement.java:284)
at
org.apache.derbyTesting.functionTests.tests.store.InterruptResilienceTest$WorkerThread.run(InterruptResilienceTest.java:414)
I saw this twice with the enclosed patch to InterruptResilienceTest (adds a
test case in preparation for DERBY-5152) - but the error occurs before we
execute that fixture, so I think the patch is irrelevant (a third and fourth
execution failed to show the issue). I am posting it here in case somebody can
guess what could be wrong, I'll run more experiments to see if I can reproduce
it. Could it be related to our new index statistics daemon?
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira