From: Mark Kogan Date: Wed, 28 Jun 2023 14:06:27 +0000 (+0000) Subject: rgw: d3n: fix valgrind reported leak related to libaio ops X-Git-Tag: v19.0.0~945^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=f834e10cfe97c7df8fc5ead682975fe60b435bd7;p=ceph-ci.git rgw: d3n: fix valgrind reported leak related to libaio ops Fixes: https://tracker.ceph.com/issues/61661 The valgrind leak indication is a false positive in this case, it is because the libaio internal thread have not timed out yet when radosgw is terminated. ``` man aio_init ... aio_idle_time This field specifies the amount of time in seconds that a worker thread should wait for further requests before terminating, after having completed a previous request. The default value is 1. ... ``` for the sake of teuthology reducing the timeout waiting for 2 minutes for example like below would also prevent the leak report ``` ❯ env LD_LIBRARY_PATH=/mnt/nvme5n1p1/src-git/ceph--up--master-clang/build/lib/:$LD_LIBRARY_PATH PYTHONPATH=$PYTHONPATH:/mnt/nvme5n1p1/src-git/ceph--up--master-clang/build/lib/cython_modules/lib.3 RAGWEED_CONF=$(realpath ./ragweed.conf) RAGWEED_STAGES=prepare,check tox -- -v |& ccze -Aonolookups ; sleep 2m | pv -t ; pkill radosgw ``` Signed-off-by: Mark Kogan --- diff --git a/src/rgw/driver/rados/rgw_d3n_datacache.cc b/src/rgw/driver/rados/rgw_d3n_datacache.cc index afd0e691341..d0ef5e749ca 100644 --- a/src/rgw/driver/rados/rgw_d3n_datacache.cc +++ b/src/rgw/driver/rados/rgw_d3n_datacache.cc @@ -103,7 +103,7 @@ void D3nDataCache::init(CephContext *_cct) { struct aioinit ainit{0}; ainit.aio_threads = cct->_conf.get_val("rgw_d3n_libaio_aio_threads"); ainit.aio_num = cct->_conf.get_val("rgw_d3n_libaio_aio_num"); - ainit.aio_idle_time = 120; + ainit.aio_idle_time = 10; aio_init(&ainit); #endif }