Project

General

Profile

Actions

Bug #10723

closed

rados python binding leaks Ioctx objects

Added by Billy Olsen over 9 years ago. Updated about 9 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
librados
Target version:
-
% Done:

0%

Source:
Community (user)
Tags:
Backport:
giant, firefly
Regression:
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

When setting up cinder with ceph, rados.Ioctx objects are leaked when creating and deleting volumes.

The problem is due to storing a reference to the callback functions __aio_safe_cb_c and __aio_complete_cb_c on the object. By storing the reference, a circular reference is inadvertently created which prevents the python garbage collector from destroying the rados.Ioctx objects that were created.

A graph of the circular reference is attached.

60b019f69aa0e39d276c669698c92fc890599f50


Files

Ioctx-circular-dependencies.png (77.1 KB) Ioctx-circular-dependencies.png circular reference graph Billy Olsen, 02/02/2015 11:31 PM
Actions

Also available in: Atom PDF