[tarantool-patches] [PATCH] Iproto call won't leak if transaction isn't committed
Maria Khaydich
maria.khaydich at tarantool.org
Wed Aug 28 17:32:35 MSK 2019
In case of throwing client error because of unfinished
transaction we did not destroy used port. It could possibly
cause huge memory leaks as could be seen with top or its
analogues when performing net.box test run in a loop.
Closes #4388
---
Issue:
https://github.com/tarantool/tarantool/issues/4388
Branch:
https://github.com/tarantool/tarantool/tree/eljashm/gh-4388-uncommitted-iproto-leaks-not
src/box/call.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/box/call.c b/src/box/call.c
index ac2bf3004..169210767 100644
--- a/src/box/call.c
+++ b/src/box/call.c
@@ -132,6 +132,7 @@ box_process_call(struct call_request *request, struct port *port)
if (txn != NULL) {
diag_set(ClientError, ER_FUNCTION_TX_ACTIVE);
+ port_destroy(port);
txn_rollback(txn);
fiber_gc();
return -1;
--
2.20.1 (Apple Git-117)
More information about the Tarantool-patches
mailing list