The Ceph Blog

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

October 19, 2015

v0.94.4 Hammer released

This Hammer point fixes several important bugs in Hammer, as well as fixing interoperability issues that are required before an upgrade to Infernalis. That is, all users of earlier version of Hammer or any version of Firefly will first need to upgrade to hammer v0.94.4 or later before upgrading to Infernalis (or future releases).

All v0.94.x Hammer users are strongly encouraged to upgrade.

NOTABLE CHANGES

  • build/ops: ceph.spec.in: 50-rbd.rules conditional is wrong (issue#12166, pr#5207, Nathan Cutler)
  • build/ops: ceph.spec.in: ceph-common needs python-argparse on older distros, but doesn’t require it (issue#12034, pr#5216, Nathan Cutler)
  • build/ops: ceph.spec.in: radosgw requires apache for SUSE only – makes no sense (issue#12358, pr#5411, Nathan Cutler)
  • build/ops: ceph.spec.in: rpm: cephfs_java not fully conditionalized (issue#11991, pr#5202, Nathan Cutler)
  • build/ops: ceph.spec.in: rpm: not possible to turn off Java (issue#11992, pr#5203, Owen Synge)
  • build/ops: ceph.spec.in: running fdupes unnecessarily (issue#12301, pr#5223, Nathan Cutler)
  • build/ops: ceph.spec.in: snappy-devel for all supported distros (issue#12361, pr#5264, Nathan Cutler)
  • build/ops: ceph.spec.in: SUSE/openSUSE builds need libbz2-devel (issue#11629, pr#5204, Nathan Cutler)
  • build/ops: ceph.spec.in: useless %py_requires breaks SLE11-SP3 build (issue#12351, pr#5412, Nathan Cutler)
  • build/ops: error in ext_mime_map_init() when /etc/mime.types is missing (issue#11864, pr#5385, Ken Dreyer)
  • build/ops: upstart: limit respawn to 3 in 30 mins (instead of 5 in 30s) (issue#11798, pr#5930, Sage Weil)
  • build/ops: With root as default user, unable to have multiple RGW instances running (issue#10927, pr#6161, Sage Weil)
  • build/ops: With root as default user, unable to have multiple RGW instances running (issue#11140, pr#6161, Sage Weil)
  • build/ops: With root as default user, unable to have multiple RGW instances running (issue#11686, pr#6161, Sage Weil)
  • build/ops: With root as default user, unable to have multiple RGW instances running (issue#12407, pr#6161, Sage Weil)
  • cli: ceph: cli throws exception on unrecognized errno (issue#11354, pr#5368, Kefu Chai)
  • cli: ceph tell: broken error message / misleading hinting (issue#11101, pr#5371, Kefu Chai)
  • common: arm: all programs that link to librados2 hang forever on startup (issue#12505, pr#5366, Boris Ranto)
  • common: buffer: critical bufferlist::zero bug (issue#12252, pr#5365, Haomai Wang)
  • common: ceph-object-corpus: add 0.94.2-207-g88e7ee7 hammer objects (issue#13070, pr#5551, Sage Weil)
  • common: do not insert emtpy ptr when rebuild emtpy bufferlist (issue#12775, pr#5764, Xinze Chi)
  • common: [ FAILED ] TestLibRBD.BlockingAIO (issue#12479, pr#5768, Jason Dillaman)
  • common: LibCephFS.GetPoolId failure (issue#12598, pr#5887, Yan, Zheng)
  • common: Memory leak in Mutex.cc, pthread_mutexattr_init without pthread_mutexattr_destroy (issue#11762, pr#5378, Ketor Meng)
  • common: object_map_update fails with -EINVAL return code (issue#12611, pr#5559, Jason Dillaman)
  • common: Pipe: Drop connect_seq increase line (issue#13093, pr#5908, Haomai Wang)
  • common: recursive lock of md_config_t (0) (issue#12614, pr#5759, Josh Durgin)
  • crush: ceph osd crush reweight-subtree does not reweight parent node (issue#11855, pr#5374, Sage Weil)
  • doc: update docs to point to download.ceph.com (issue#13162, pr#6156, Alfredo Deza)
  • fs: ceph-fuse 0.94.2-1trusty segfaults / aborts (issue#12297, pr#5381, Greg Farnum)
  • fs: segfault launching ceph-fuse with bad –name (issue#12417, pr#5382, John Spray)
  • librados: Change radosgw pools default crush ruleset (issue#11640, pr#5754, Yuan Zhou)
  • librbd: correct issues discovered via lockdep / helgrind (issue#12345, pr#5296, Jason Dillaman)
  • librbd: Crash during TestInternal.MultipleResize (issue#12664, pr#5769, Jason Dillaman)
  • librbd: deadlock during cooperative exclusive lock transition (issue#11537, pr#5319, Jason Dillaman)
  • librbd: Possible crash while concurrently writing and shrinking an image (issue#11743, pr#5318, Jason Dillaman)
  • mon: add a cache layer over MonitorDBStore (issue#12638, pr#5697, Kefu Chai)
  • mon: fix crush testing for new pools (issue#13400, pr#6192, Sage Weil)
  • mon: get pools health’info have error (issue#12402, pr#5369, renhwztetecs)
  • mon: implicit erasure code crush ruleset is not validated (issue#11814, pr#5276, Loic Dachary)
  • mon: PaxosService: call post_refresh() instead of post_paxos_update() (issue#11470, pr#5359, Joao Eduardo Luis)
  • mon: pgmonitor: wrong at/near target max“ reporting (issue#12401, pr#5370, huangjun)
  • mon: register_new_pgs() should check ruleno instead of its index (issue#12210, pr#5377, Xinze Chi)
  • mon: Show osd as NONE in ceph osd map <pool> <object> output (issue#11820, pr#5376, Shylesh Kumar)
  • mon: the output is wrong when runing ceph osd reweight (issue#12251, pr#5372, Joao Eduardo Luis)
  • osd: allow peek_map_epoch to return an error (issue#13060, pr#5892, Sage Weil)
  • osd: cache agent is idle although one object is left in the cache (issue#12673, pr#5765, Loic Dachary)
  • osd: copy-from doesn’t preserve truncate_{seq,size} (issue#12551, pr#5885, Samuel Just)
  • osd: crash creating/deleting pools (issue#12429, pr#5527, John Spray)
  • osd: fix repair when recorded digest is wrong (issue#12577, pr#5468, Sage Weil)
  • osd: include/ceph_features: define HAMMER_0_94_4 feature (issue#13026, pr#5687, Sage Weil)
  • osd: is_new_interval() fixes (issue#10399, pr#5691, Jason Dillaman)
  • osd: is_new_interval() fixes (issue#11771, pr#5691, Jason Dillaman)
  • osd: long standing slow requests: connection->session->waiting_for_map->connection ref cycle (issue#12338, pr#5761, Samuel Just)
  • osd: Mutex Assert from PipeConnection::try_get_pipe (issue#12437, pr#5758, David Zafman)
  • osd: pg_interval_t::check_new_interval – for ec pool, should not rely on min_size to determine if the PG was active at the interval (issue#12162, pr#5373, Guang G Yang)
  • osd: PGLog.cc: 732: FAILED assert(log.log.size() == log_keys_debug.size()) (issue#12652, pr#5763, Sage Weil)
  • osd: PGLog::proc_replica_log: correctly handle case where entries between olog.head and log.tail were split out (issue#11358, pr#5380, Samuel Just)
  • osd: read on chunk-aligned xattr not handled (issue#12309, pr#5367, Sage Weil)
  • osd: suicide timeout during peering – search for missing objects (issue#12523, pr#5762, Guang G Yang)
  • osd: WBThrottle::clear_object: signal on cond when we reduce throttle values (issue#12223, pr#5757, Samuel Just)
  • rbd: crash during shutdown after writeback blocked by IO errors (issue#12597, pr#5767, Jianpeng Ma)
  • rgw: add delimiter to prefix only when path is specified (issue#12960, pr#5860, Sylvain Baubeau)
  • rgw: create a tool for orphaned objects cleanup (issue#9604, pr#5717, Yehuda Sadeh)
  • rgw: don’t preserve acls when copying object (issue#11563, pr#6039, Yehuda Sadeh)
  • rgw: don’t preserve acls when copying object (issue#12370, pr#6039, Yehuda Sadeh)
  • rgw: don’t preserve acls when copying object (issue#13015, pr#6039, Yehuda Sadeh)
  • rgw: Ensure that swift keys don’t include backslashes (issue#7647, pr#5716, Yehuda Sadeh)
  • rgw: GWWatcher::handle_error -> common/Mutex.cc: 95: FAILED assert(r == 0) (issue#12208, pr#6164, Yehuda Sadeh)
  • rgw: HTTP return code is not being logged by CivetWeb (issue#12432, pr#5498, Yehuda Sadeh)
  • rgw: init_rados failed leads to repeated delete (issue#12978, pr#6165, Xiaowei Chen)
  • rgw: init some manifest fields when handling explicit objs (issue#11455, pr#5732, Yehuda Sadeh)
  • rgw: Keystone Fernet tokens break auth (issue#12761, pr#6162, Abhishek Lekshmanan)
  • rgw: region data still exist in region-map after region-map update (issue#12964, pr#6163, dwj192)
  • rgw: remove trailing :port from host for purposes of subdomain matching (issue#12353, pr#6042, Yehuda Sadeh)
  • rgw: rest-bench common/WorkQueue.cc: 54: FAILED assert(_threads.empty()) (issue#3896, pr#5383, huangjun)
  • rgw: returns requested bucket name raw in Bucket response header (issue#12537, pr#5715, Yehuda Sadeh)
  • rgw: segmentation fault when rgw_gc_max_objs > HASH_PRIME (issue#12630, pr#5719, Ruifeng Yang)
  • rgw: segments are read during HEAD on Swift DLO (issue#12780, pr#6160, Yehuda Sadeh)
  • rgw: setting max number of buckets for user via ceph.conf option (issue#12714, pr#6166, Vikhyat Umrao)
  • rgw: Swift API: X-Trans-Id header is wrongly formatted (issue#12108, pr#5721, Radoslaw Zarzynski)
  • rgw: testGetContentType and testHead failed (issue#11091, pr#5718, Radoslaw Zarzynski)
  • rgw: testGetContentType and testHead failed (issue#11438, pr#5718, Radoslaw Zarzynski)
  • rgw: testGetContentType and testHead failed (issue#12157, pr#5718, Radoslaw Zarzynski)
  • rgw: testGetContentType and testHead failed (issue#12158, pr#5718, Radoslaw Zarzynski)
  • rgw: testGetContentType and testHead failed (issue#12363, pr#5718, Radoslaw Zarzynski)
  • rgw: the arguments ‘domain’ should not be assigned when return false (issue#12629, pr#5720, Ruifeng Yang)
  • tests: qa/workunits/cephtool/test.sh: don’t assume crash_replay_interval=45 (issue#13406, pr#6172, Sage Weil)
  • tests: TEST_crush_rule_create_erasure consistently fails on i386 builder (issue#12419, pr#6201, Loic Dachary)
  • tools: ceph-disk zap should ensure block device (issue#11272, pr#5755, Loic Dachary)

For more detailed information, see the complete changelog.

Sage Weil

Careers