The Ceph Blog

Ceph blog stories provide high-level spotlights on our customers all over the world

September 28, 2017

v12.2.1 Luminous released

This is the first bugfix release of Luminous v12.2.x long term stable
release series. It contains a range of bug fixes and a few features
across CephFS, RBD & RGW. We recommend all the users of 12.2.x series
update.

Notable Changes

  • Dynamic resharding is now enabled by default for RGW, RGW will now
    automatically reshard there bucket index once the index grows beyond
    rgw_max_objs_per_shard
  • Limiting MDS cache via a memory limit is now supported using the new
    mds_cache_memory_limit config option (1GB by default). A cache reservation
    can also be specified using mds_cache_reservation as a percentage of the
    limit (5% by default). Limits by inode count are still supported using
    mds_cache_size. Setting mds_cache_size to 0 (the default) disables the
    inode limit.
  • The maximum number of PGs per OSD before the monitor issues a
    warning has been reduced from 300 to 200 PGs. 200 is still twice
    the generally recommended target of 100 PGs per OSD. This limit can
    be adjusted via the mon_max_pg_per_osd option on the
    monitors. The older mon_pg_warn_max_per_osd option has been removed.
  • Creating pools or adjusting pg_num will now fail if the change would
    make the number of PGs per OSD exceed the configured
    mon_max_pg_per_osd limit. The option can be adjusted if it
    is really necessary to create a pool with more PGs.
  • There was a bug in the PG mapping behavior of the new upmap
    feature. If you made use of this feature (e.g., via the ceph osd
    pg-upmap-items
    command), we recommend that all mappings be removed (via
    the ceph osd rm-pg-upmap-items command) before upgrading to this
    point release.
  • A stall in BlueStore IO submission that was affecting many users has
    been resolved.

Other Notable Changes

For more details refer to the complete changelog

  • bluestore: asyn cdeferred_try_submit deadlock (issue#21207, pr#17494, Sage Weil)
  • bluestore: fix deferred write deadlock, aio short return handling (issue#21171, pr#17601, Sage Weil)
  • bluestore: osd crash when change option bluestore_csum_type from none to CRC32 (issue#21175, pr#17497, xie xingguo)
  • bluestore: os/bluestore/BlueFS.cc: 1255: FAILED assert(!log_file->fnode.extents.empty()) (issue#21250, pr#17562, Sage Weil)
  • build/ops: ceph-fuse RPM should require fusermount (issue#21057, pr#17470, Ken Dreyer)
  • build/ops: RHEL 7.3 Selinux denials at OSD start (issue#19200, pr#17468, Boris Ranto)
  • build/ops: rocksdb,cmake: build portable binaries (issue#20529, pr#17745, Kefu Chai)
  • cephfs: client/mds has wrong check to clear S_ISGID on chown (issue#21004, pr#17471, Patrick Donnelly)
  • cephfs: get_quota_root sends lookupname op for every buffered write (issue#20945, pr#17473, Dan van der Ster)
  • cephfs: MDCache::try_subtree_merge() may print N^2 lines of debug message (issue#21221, pr#17712, Patrick Donnelly)
  • cephfs: MDS rank add/remove log messages say wrong number of ranks (issue#21421, pr#17887, John Spray)
  • cephfs: MDS: standby-replay mds should avoid initiating subtree export (issue#21378, issue#21222, pr#17714, “Yan, Zheng”, Jianyu Li)
  • cephfs: the standbys are not updated via ceph tell mds.* command (issue#21230, pr#17565, Kefu Chai)
  • common: adding line break at end of some cli results (issue#21019, pr#17467, songweibin)
  • core: [cls] metadata_list API function does not honor max_return parameter (issue#21247, pr#17558, Jason Dillaman)
  • core: incorrect erasure-code space in command ceph df (issue#21243, pr#17724, liuchang0812)
  • core: interval_set: optimize intersect_of insert operations (issue#21229, pr#17487, Zac Medico)
  • core: osd crush rule rename not idempotent (issue#21162, pr#17481, xie xingguo)
  • core: osd/PGLog: write only changed dup entries (issue#21026, pr#17378, Josh Durgin)
  • doc: doc/rbd: iSCSI Gateway Documentation (issue#20437, pr#17381, Aron Gunn, Jason Dillaman)
  • mds: fix ‘dirfrag end’ check in Server::handle_client_readdir (issue#21070, pr#17686, “Yan, Zheng”)
  • mds: support limiting cache by memory (issue#20594, pr#17711, “Yan, Zheng”, Patrick Donnelly)
  • mgr: 500 error when attempting to view filesystem data (issue#20692, pr#17477, John Spray)
  • mgr: ceph mgr versions shows active mgr as Unknown (issue#21260, pr#17635, John Spray)
  • mgr: Crash in MonCommandCompletion (issue#21157, pr#17483, John Spray)
  • mon: mon/OSDMonitor: deleting pool while pgs are being created leads to assert(p != pools.end) in update_creating_pgs() (issue#21309, pr#17634, Joao Eduardo Luis)
  • mon: OSDMonitor: osd pool application get support (issue#20976, pr#17472, xie xingguo)
  • mon: rate limit on health check update logging (issue#20888, pr#17500, John Spray)
  • osd: build_initial_pg_history doesn’t update up/acting/etc (issue#21203, pr#17496, w11979, Sage Weil)
  • osd: osd/PG: discard msgs from down peers (issue#19605, pr#17501, Kefu Chai)
  • osd/PrimaryLogPG: request osdmap update in the right block (issue#21428, pr#17829, Josh Durgin)
  • osd: PrimaryLogPG: sparse read won’t trigger repair correctly (issue#21123, pr#17475, xie xingguo)
  • osd: request new map from PG when needed (issue#21428, pr#17796, Josh Durgin)
  • osd: Revert “osd/OSDMap: allow bidirectional swap of pg-upmap-items” (issue#21410, pr#17812, Sage Weil)
  • osd: subscribe to new osdmap while waiting_for_healthy (issue#21121, pr#17498, Sage Weil)
  • osd: update info only if new_interval (issue#21203, pr#17622, Kefu Chai)
  • pybind: dashboard usage graph getting bigger and bigger (issue#20746, pr#17486, Yixing Yan)
  • rbd: image-meta list does not return all entries (issue#21179, pr#17561, Jason Dillaman)
  • rbd: some generic options can not be passed by rbd-nbd (issue#20426, pr#17557, Pan Liu)
  • rbd: switch to new config option getter methods (issue#20737, pr#17464, Jason Dillaman)
  • rbd: TestMirroringWatcher.ModeUpdated: periodic failure due to injected message failures (issue#21029, pr#17465, Jason Dillaman)
  • rgw: bucket index sporadically reshards to 65521 shards (issue#20934, pr#17476, Aleksei Gutikov)
  • rgw: bytes_send and bytes_recv in the msg of usage show returning is 0 in master branch (issue#19870, pr#17444, Marcus Watts)
  • rgw: data encryption sometimes fails to follow AWS settings (issue#21349, pr#17642, hechuang)
  • rgw: memory leak in MetadataHandlers (issue#21214, pr#17570, Luo Kexue, Jos Collin)
  • rgw: multisite: objects encrypted with SSE-KMS are stored unencrypted in target zone (issue#20668, issue#20671, pr#17446, Casey Bodley)
  • rgw: need to stream metadata full sync init (issue#18079, pr#17448, Yehuda Sadeh)
  • rgw: object copied from remote src acl permission become full-control issue (issue#20658, pr#17478, Enming Zhang)
  • rgw: put lifecycle configuration fails if Prefix is not set (issue#19587, issue#20872, pr#17479, Shasha Lu, Abhishek Lekshmanan)
  • rgw: rgw_file: incorrect lane lock behavior in evict_block() (issue#21141, pr#17485, Matt Benjamin)
  • rgw: send data-log list infinitely (issue#20951, pr#17445, fang.yuxiang)
  • rgw: shadow objects are sometimes not removed (issue#20234, pr#17555, Yehuda Sadeh)
  • rgw: usage of –inconsistent-index should require user confirmation and print a warning (issue#20777, pr#17488, Orit Wasserman)
  • tools: [cli] rename of non-existent image results in seg fault (issue#21248, pr#17556, Jason Dillaman)
abhishekl

Careers