- 11.1.1
+ 12.0.0
------
- * Some varients of the omap_get_keys and omap_get_vals librados
+ * When assigning a network to the public network and not to
+ the cluster network the network specification of the public
+ network will be used for the cluster network as well.
- In the older version this would lead to cluster services
- being bound to 0.0.0.0:<port>, thus actually making the
++ In older versions this would lead to cluster services
++ being bound to 0.0.0.0:<port>, thus making the
+ cluster service even more publicly available than the
+ public services. When only specifying a cluster network it
+ will still result in the public services binding to 0.0.0.0.
++
++* Some variants of the omap_get_keys and omap_get_vals librados
+ functions have been deprecated in favor of omap_get_vals2 and
+ omap_get_keys2. The new methods include an output argument
+ indicating whether there are additional keys left to fetch.
+ Previously this had to be inferred from the requested key count vs
+ the number of keys returned, but this breaks with new OSD-side
+ limits on the number of keys or bytes that can be returned by a
+ single omap request. These limits were introduced by kraken but
+ are effectively disabled by default (by setting a very large limit
+ of 1 GB) because users of the newly deprecated interface cannot
+ tell whether they should fetch more keys or not. In the case of
+ the standalone calls in the C++ interface
+ (IoCtx::get_omap_{keys,vals}), librados has been updated to loop on
+ the client side to provide a correct result via multiple calls to
+ the OSD. In the case of the methods used for building
+ multi-operation transactions, however, client-side looping is not
+ practical, and the methods have been deprecated. Note that use of
+ either the IoCtx methods on older librados versions or the
+ deprecated methods on any version of librados will lead to
+ incomplete results if/when the new OSD limits are enabled.