This is actually a dup of bug932072. That bug was closed long ago and pertained to somewhat different code, so I am writing a new bug report to cover this instance. This error was seen on a customer server:
java.lang.AssertionError
at com.persistit.TransactionIndexBucket.allocateTransactionStatus(TransactionIndexBucket.java:180)
at com.persistit.TransactionIndex.registerTransaction(TransactionIndex.java:560)
at com.persistit.TransactionIndex.registerTransaction(TransactionIndex.java:527)
at com.persistit.Transaction.begin(Transaction.java:596)
at com.akiban.server.store.PersistitTransactionService.beginTransaction(PersistitTransactionService.java:81)
at com.akiban.server.service.dxl.DXLTransactionHook.hookFunctionIn(DXLTransactionHook.java:46)
at com.akiban.server.service.dxl.HookableDDLFunctions.getAIS(HookableDDLFunctions.java:266)
at com.akiban.sql.pg.PostgresServerConnection.updateAIS(PostgresServerConnection.java:1000)
at com.akiban.sql.pg.PostgresServerConnection.finishGenerating(PostgresServerConnection.java:1102)
at com.akiban.sql.pg.PostgresServerConnection.processQuery(PostgresServerConnection.java:689)
at com.akiban.sql.pg.PostgresServerConnection.topLevel(PostgresServerConnection.java:263)
at com.akiban.sql.pg.PostgresServerConnection.run(PostgresServerConnection.java:179)
at java.lang.Thread.run(Unknown Source)
We believe this is caused by an inadequately handled race condition between a thread relinquishing a TransactionStatus instance and another thread attempting to acquire one.
I tried this branch out on the customers machine but still seem to be hitting the same issue.