ceph/PendingReleaseNotes
Dan Mick 5ba9b8f21f rados.py: remove Rados.__del__(); it just causes problems
Recent versions of Python contain a change to thread shutdown that
causes ceph to hang on exit; see http://bugs.python.org/issue21963.
As it turns out, this is relatively easy to avoid by not spawning
threads on exit, as Rados.__del__() will certainly do by calling
shutdown(); I suspect, but haven't proven, that the problem is
that shutdown() tries to start() a threading.Thread() that never
makes it all the way back to signal start().

Also add a PendingReleaseNote and extra doc comments to clarify.

Fixes: #8797
Signed-off-by: Dan Mick <dan.mick@redhat.com>
2014-12-10 13:19:16 -08:00

36 lines
1.6 KiB
Plaintext

v0.90
-----
* Previously, the formatted output of 'ceph pg stat -f ...' was a full
pg dump that included all metadata about all PGs in the system. It
is now a concise summary of high-level PG stats, just like the
unformatted 'ceph pg stat' command.
* All JSON dumps of floating point values were incorrecting surrounding the
value with quotes. These quotes have been removed. Any consumer of structured
JSON output that was consuming the floating point values was previously having
to interpret the quoted string and will most likely need to be fixed to take
the unquoted number.
* The 'category' field for objects has been removed. This was originally added
to track PG stat summations over different categories of objects for use by
radosgw. It is no longer has any known users and is prone to abuse because it
can lead to a pg_stat_t structure that is unbounded. The librados API calls
that accept this field now ignore it, and the OSD no longers tracks the
per-category summations.
* The output for 'rados df' has changed. The 'category' level has been
eliminated, so there is now a single stat object per pool. The structure of
the JSON output is different, and the plaintext output has one less column.
* The 'rados create <objectname> [category]' optional category argument is no
longer supported or recognized.
* rados.py's Rados class no longer has a __del__ method; it was causing
problems on interpreter shutdown and use of threads. If your code has
Rados objects with limited lifetimes and you're concerned about locked
resources, call Rados.shutdown() explicitly.