Open
Description
tests/bugs/ec/../../include.rc: line 348: 604199 Segmentation fault (core dumped) tests/bugs/ec/bug-1161886 192.168.122.213 patchy /file2
not ok 15 [ 37/ 3076] < 39> 'tests/bugs/ec/bug-1161886 192.168.122.213 patchy /file2' -> ''
ok 16 [ 36/ 9] < 40> '^0$ stat -c %s /mnt/glusterfs/0/file2'
getfattr: Removing leading '/' from absolute path names
getfattr: Removing leading '/' from absolute path names
getfattr: Removing leading '/' from absolute path names
ok 17 [ 23/ 9] < 41> '^Y$ check_ec_size file2 0'
Failed 1/17 subtests
Test Summary Report
-------------------
tests/bugs/ec/bug-1161886.t (Wstat: 0 Tests: 17 Failed: 1)
Failed test: 15
Based on git bisect, first bad commit points to:
ba5bfeb119a9e7cbf294ba9c5076ac0792598855 is the first bad commit
commit ba5bfeb119a9e7cbf294ba9c5076ac0792598855
Author: mohit84 <[email protected]>
Date: Mon Oct 21 23:06:14 2024 +0530
rpc: Improve rpc clnt connection cleanup process (#4329)
During the first rpc clnt submission we take the rpc reference and
register the call_bail function for the timer thread. The timer thread
call call_bail function every 10s basis. In case if a client trigger a
shutdown request it try to call rpc_clnt_connection_cleanup to cleanup
the rpc connection.The rpc_clnt_connection would not be able to cleanup
the rpc connection successfully due to the cleanup_started flag being set by
the upper xlator. The rpc reference will be unref only after trigger
a call_bail function so basically if somehow call_bail is triggered just
before start a shutdown process the application has to wait for 10s
to cleanup the rpc connection eventually the process becomes slow.
Solution: Unref the rpc object based on the conn->timer/conn->reconnect
pointer value as we are doing the same for ping_timer. These pointer are always
modified under the critical section so we can assume if pointer is valid it means
rpc reference is also valid.
Fixes: #4320
credits: Xavi Hernandez <[email protected]>
Change-Id: Ib947b8bfcbe1b49e1ed05a50a84de6f92afbca13
Signed-off-by: Mohit Agrawal <[email protected]>
rpc/rpc-lib/src/rpc-clnt.c | 30 +++++++++++-------------------
1 file changed, 11 insertions(+), 19 deletions(-)
Metadata
Metadata
Assignees
Labels
No labels