This was creating a new cluster connection/session per iteration, and
along with it a few service threads and sockets and so forth.
Unfortunately, librados leaks like a sieve, starting with CephContext
and ceph::crypto::init(). See #845 and #2067.
Signed-off-by: Sage Weil <sage@inktank.com>
WatcherUnwatcher(string& _pool) : pool(_pool) {}
void *entry() {
+ Rados cluster;
+ connect_cluster_pp(cluster);
while (!stop_flag.read()) {
- Rados cluster;
IoCtx ioctx;
- connect_cluster_pp(cluster);
cluster.ioctx_create(pool.c_str(), ioctx);
uint64_t handle;