return new TransactionPurgeResponse(id, request.getSequence());
}
- tx.purge(() -> {
+ tree.purgeTransaction(id, () -> {
purgedTransactions.add(Range.singleton(ul));
transactions.remove(id);
LOG.debug("{}: finished purging transaction {}", persistenceId(), id);
void destroy(final long sequence, final RequestEnvelope envelope, final long now) {
LOG.debug("{}: closing history {}", persistenceId(), getIdentifier());
- tree.closeTransactionChain(getIdentifier(), () -> {
- envelope.sendSuccess(new LocalHistorySuccess(getIdentifier(), sequence), readTime() - now);
- });
+ tree.closeTransactionChain(getIdentifier(),
+ () -> envelope.sendSuccess(new LocalHistorySuccess(getIdentifier(), sequence), readTime() - now));
}
void purge(final long sequence, final RequestEnvelope envelope, final long now) {
LOG.debug("{}: purging history {}", persistenceId(), getIdentifier());
- tree.purgeTransactionChain(getIdentifier(), () -> {
- envelope.sendSuccess(new LocalHistorySuccess(getIdentifier(), sequence), readTime() - now);
- });
+ tree.purgeTransactionChain(getIdentifier(),
+ () -> envelope.sendSuccess(new LocalHistorySuccess(getIdentifier(), sequence), readTime() - now));
}
private FrontendTransaction createTransaction(final TransactionRequest<?> request, final TransactionIdentifier id)
abstract FrontendTransaction createReadyTransaction(TransactionIdentifier id, DataTreeModification mod)
throws RequestException;
+ abstract ShardDataTreeCohort createFailedCohort(TransactionIdentifier id, DataTreeModification mod,
+ Exception failure);
+
abstract ShardDataTreeCohort createReadyCohort(TransactionIdentifier id, DataTreeModification mod);
@Override