fdb-record-layer
fdb-record-layer copied to clipboard
Intermittent transaction too old errors in LuceneIndexTest
There appears to be some amount of flakiness in the LuceneIndexTest
that can result in transaction_too_old
errors. For example, this one was hit during the prbs for #2742:
LuceneIndexTest > functionalPartitionFieldPredicateTest(long) > com.apple.foundationdb.record.lucene.LuceneIndexTest.functionalPartitionFieldPredicateTest(long)[1] FAILED
com.apple.foundationdb.record.provider.foundationdb.FDBExceptions$FDBStoreTransactionIsTooOldException: Transaction is too old to perform reads or be committed
at app//com.apple.foundationdb.record.provider.foundationdb.FDBExceptions.wrapException(FDBExceptions.java:185)
at app//com.apple.foundationdb.record.provider.foundationdb.FDBDatabase.lambda$new$0(FDBDatabase.java:172)
at app//com.apple.foundationdb.record.provider.foundationdb.FDBDatabase.asyncToSync(FDBDatabase.java:1102)
at app//com.apple.foundationdb.record.provider.foundationdb.FDBRecordContext.asyncToSync(FDBRecordContext.java:1139)
at app//com.apple.foundationdb.record.provider.foundationdb.FDBRecordContext.commit(FDBRecordContext.java:450)
at app//com.apple.foundationdb.record.provider.foundationdb.FDBRecordStoreConcurrentTestBase.commit(FDBRecordStoreConcurrentTestBase.java:162)
at app//com.apple.foundationdb.record.lucene.LuceneIndexTest.functionalPartitionFieldPredicateTest(LuceneIndexTest.java:1676)
Caused by:
com.apple.foundationdb.FDBException: Transaction is too old to perform reads or be committed
at app//com.apple.foundationdb.NativeFuture.Future_getError(Native Method)
at app//com.apple.foundationdb.FutureVoid.getIfDone_internal(FutureVoid.java:35)
at app//com.apple.foundationdb.FutureVoid.getIfDone_internal(FutureVoid.java:25)
at app//com.apple.foundationdb.NativeFuture.marshalWhenDone(NativeFuture.java:63)
at app//com.apple.foundationdb.async.TaskNotifyingExecutor$Notifier.run(TaskNotifyingExecutor.java:77)
at [email protected]/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at [email protected]/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at [email protected]/java.lang.Thread.run(Thread.java:829)
Unclear exactly what is causing this, but I'm reporting the issue so we can keep track of it