- final void purge(final Runnable callback) {
- if (!closed) {
- LOG.warn("Purging unclosed transaction {}", id);
+ /**
+ * This method is exposed for sake of {@link ShardTransaction}, which is an actor. We need to ensure that
+ * the parent is updated to reflect the transaction has been closed, but no journal actions may be invoked.
+ *
+ * <p>
+ * ShardTransaction is responsible for additionally sending a request to persist an {@link AbortTransactionPayload}
+ * via a message to the Shard actor.
+ */
+ final void abortFromTransactionActor() {
+ if (close()) {
+ parent.abortFromTransactionActor(this);