]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: d3n: fix valgrind reported leak related to libaio ops 52249/head
authorMark Kogan <mkogan@redhat.com>
Wed, 28 Jun 2023 14:06:27 +0000 (14:06 +0000)
committerMark Kogan <mkogan@redhat.com>
Thu, 29 Jun 2023 08:13:49 +0000 (08:13 +0000)
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 <mkogan@redhat.com>
src/rgw/driver/rados/rgw_d3n_datacache.cc

index afd0e69134120949e8ff20f4f96ce2eae12325c5..d0ef5e749cac2363d2509c5e0cd0c3cb419fdef7 100644 (file)
@@ -103,7 +103,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 = 120;
+  ainit.aio_idle_time = 10;
   aio_init(&ainit);
 #endif
 }