]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
rgw: d3n: fix valgrind reported leak related to libaio worker threads
authorMark Kogan <mkogan@ibm.com>
Tue, 28 Nov 2023 12:34:31 +0000 (14:34 +0200)
committerMark Kogan <mkogan@ibm.com>
Sun, 10 Dec 2023 11:42:25 +0000 (13:42 +0200)
which sporadically reproduces on teuthology ubuntu instances

happens because a race between RGW shutdown occurring before
the libaio worker threads had terminated

to fix, reduced the libaio threads inactivity shutdown time

ref:
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.
...

Fixes: https://tracker.ceph.com/issues/63445
Signed-off-by: Mark Kogan <mkogan@ibm.com>
(cherry picked from commit dd258d8da00c400fdca752c47366b6bd453e27ed)

src/rgw/driver/rados/rgw_d3n_datacache.cc

index f1bf731ae44344af0cc9d6d5e2171df9fb856a7c..b744a16a3c7c92f7291ad9b41d93136cbb5cd3a8 100644 (file)
@@ -105,7 +105,7 @@ void D3nDataCache::init(CephContext *_cct) {
   struct aioinit ainit{0};
   ainit.aio_threads = cct->_conf.get_val<int64_t>("rgw_d3n_libaio_aio_threads");
   ainit.aio_num = cct->_conf.get_val<int64_t>("rgw_d3n_libaio_aio_num");
-  ainit.aio_idle_time = 10;
+  ainit.aio_idle_time = 5;
   aio_init(&ainit);
 #endif
 }