Tarantool development patches archive
 help / color / mirror / Atom feed
* [tarantool-patches] [PATCH] Iproto call won't leak if transaction isn't committed
@ 2019-08-28 14:32 Maria Khaydich
  2019-08-29  8:11 ` [tarantool-patches] " Georgy Kirichenko
  2019-08-29  8:28 ` Georgy Kirichenko
  0 siblings, 2 replies; 4+ messages in thread
From: Maria Khaydich @ 2019-08-28 14:32 UTC (permalink / raw)
  To: tarantool-patches; +Cc: Maria Khaydich

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)

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-08-29 10:40 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-28 14:32 [tarantool-patches] [PATCH] Iproto call won't leak if transaction isn't committed Maria Khaydich
2019-08-29  8:11 ` [tarantool-patches] " Georgy Kirichenko
2019-08-29  8:28 ` Georgy Kirichenko
2019-08-29 10:40   ` Georgy Kirichenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox