[tarantool-patches] [PATCH v2 5/8] Commit engine before all triggers

Georgy Kirichenko georgy at tarantool.org
Thu May 23 11:19:37 MSK 2019


---
 src/box/txn.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/box/txn.c b/src/box/txn.c
index f677e1d33..273964d51 100644
--- a/src/box/txn.c
+++ b/src/box/txn.c
@@ -397,6 +397,13 @@ txn_commit(struct txn *txn)
 		if (txn->signature < 0)
 			return -1;
 	}
+	/*
+	 * Engine can be NULL if transaction contains IPROTO_NOP
+	 * statements only.
+	 */
+	if (txn->engine != NULL)
+		engine_commit(txn->engine, txn);
+
 	/*
 	 * The transaction is in the binary log. No action below
 	 * may throw. In case an error has happened, there is
@@ -408,13 +415,6 @@ txn_commit(struct txn *txn)
 		unreachable();
 		panic("commit trigger failed");
 	}
-	/*
-	 * Engine can be NULL if transaction contains IPROTO_NOP
-	 * statements only.
-	 */
-	if (txn->engine != NULL)
-		engine_commit(txn->engine, txn);
-
 	struct txn_stmt *stmt;
 	stailq_foreach_entry(stmt, &txn->stmts, next)
 		txn_stmt_unref_tuples(stmt);
-- 
2.21.0





More information about the Tarantool-patches mailing list