[tarantool-patches] Re: [PATCH] Iproto call won't leak if transaction isn't committed

Georgy Kirichenko georgy at tarantool.org
Thu Aug 29 11:28:14 MSK 2019


Merged into 2.3, 2.2 and 1.10 as it affects all this versions

On Wednesday, August 28, 2019 5:32:35 PM MSK Maria Khaydich wrote:
> 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-ipro
> to-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;

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: This is a digitally signed message part.
URL: <https://lists.tarantool.org/pipermail/tarantool-patches/attachments/20190829/f985ea46/attachment.sig>


More information about the Tarantool-patches mailing list