v10.0.4 released

sage

This is the fourth and last development release before Jewel. The next release will be a release candidate with the final set of features. Big items include RGW static website support, librbd journal framework, fixed mon sync of config-key data, C++11 updates, and bluestore/kstore.

Note that, due to general developer busyness, we aren’t building official release packages for this dev release. You can fetch autobuilt gitbuilder packages from the usual location (http://gitbuilder.ceph.com).

NOTABLE CHANGES

  • admin/build-doc: depend on zlib1g-dev and graphviz (pr#7522, Ken Dreyer)
  • buffer: use move construct to append/push_back/push_front (pr#7455, Haomai Wang)
  • build: allow jemalloc with rocksdb-static (pr#7368, Somnath Roy)
  • build: fix the autotools and cmake build (the new fusestore needs libfuse) (pr#7393, Kefu Chai)
  • build: fix warnings (pr#7197, Kefu Chai, xie xingguo)
  • build: fix warnings (pr#7315, Kefu Chai)
  • build: kill warnings (pr#7397, Kefu Chai)
  • build: move libexec scripts to standardize across distros (issue#14687, issue#14705, issue#14723, pr#7636, Nathan Cutler, Kefu Chai)
  • build: Refrain from versioning and packaging EC testing plugins (issue#14756, issue#14723, pr#7637, Nathan Cutler, Kefu Chai)
  • build: spdk submodule; cmake (pr#7503, Kefu Chai)
  • ceph-disk: support bluestore (issue#13422, pr#7218, Loic Dachary, Sage Weil)
  • ceph-disk/test: fix test_prepare.py::TestPrepare tests (pr#7549, Kefu Chai)
  • cleanup: remove misc dead code (pr#7201, Erwan Velu)
  • cls/cls_rbd: pass string by reference (pr#7232, Jeffrey Lu)
  • cmake: Added new unittests to make check (pr#7572, Ali Maredia)
  • cmake: add KernelDevice.cc to libos_srcs (pr#7507, Kefu Chai)
  • cmake: check for libsnappy in default path also (pr#7366, Kefu Chai)
  • cmake: feb5 (pr#7541, Matt Benjamin)
  • cmake: For CMake version <= 2.8.11, use LINK_PRIVATE and LINK_PUBLIC (pr#7474, Tao Chang)
  • cmake: let ceph-client-debug link with tcmalloc (pr#7314, Kefu Chai)
  • cmake: support ccache via a WITH_CCACHE build option (pr#6875, John Coyle)
  • common: add zlib compression plugin (pr#7437, Alyona Kiseleva, Kiseleva Alyona)
  • common: admin socket commands for tcmalloc heap get/set operations (pr#7512, Samuel Just)
  • common: ake ceph_time clocks work under BSD (pr#7340, Adam C. Emerson)
  • common: Allow OPT_INT settings with negative values (issue#13829, pr#7390, Brad Hubbard, Kefu Chai)
  • common/buffer: replace RWLock with spinlocks (pr#7294, Piotr Dałek)
  • common: change the type of counter total/unhealthy_workers (pr#7254, Guang Yang)
  • common: snappy decompressor may assert when handling segmented input bufferlist (issue#14400, pr#7268, Igor Fedotov)
  • common/str_map: cleanup: replaced get_str_map() function overloading by using default parameters for delimiters (pr#7266, Sahithi R V)
  • common: time: have skewing-now call non-skewing now (pr#7466, Adam C. Emerson)
  • common: unit test for interval_set implementations (pr#6, Igor Fedotov)
  • config: add $data_dir/config to config search path (pr#7377, Sage Weil)
  • configure.ac: make “–with-librocksdb-static” default to ‘check’ (issue#14463, pr#7317, Dan Mick)
  • crush: add safety assert (issue#14496, pr#7344, songbaisen)
  • crush: reply quickly from get_immediate_parent (issue#14334, pr#7181, song baisen)
  • debian: packaging fixes for jewel (pr#7807, Ken Dreyer, Ali Maredia)
  • debian/rpm split servers (issue#10587, pr#7746, Ken Dreyer)
  • doc: add orphans commands to radosgw-admin(8) (issue#14637, pr#7518, Ken Dreyer)
  • doc: amend the rados.8 (pr#7251, Kefu Chai)
  • doc: Fixes a CRUSH map step take argument (pr#7327, Ivan Grcic)
  • doc: fixing image in section ERASURE CODING (pr#7298, Rachana Patel)
  • doc: fix misleading configuration guide on cache tiering (pr#7000, Yuan Zhou)
  • doc: fix S3 C# example (pr#7027, Dunrong Huang)
  • doc: remove redundant space in ceph-authtool/monmaptool doc (pr#7244, Jiaying Ren)
  • doc: revise SubmittingPatches (pr#7292, Kefu Chai)
  • doc: rgw: port changes from downstream to upstream (pr#7264, Bara Ancincova)
  • doc: script and guidelines for mirroring Ceph (pr#7384, Wido den Hollander)
  • doc: use ‘ceph auth get-or-create’ for creating RGW keyring (pr#6930, Wido den Hollander)
  • global: do not start two daemons with a single pid-file (issue#13422, pr#7075, shun song)
  • global: do not start two daemons with a single pid-file (part 2) (issue#13422, pr#7463, Loic Dachary)
  • journal: flush commit position on metadata shutdown (pr#7385, Mykola Golub)
  • journal: reset commit_position_task_ctx pointer after task complete (pr#7480, Mykola Golub)
  • libcephfs: update LIBCEPHFS_VERSION to indicate the interface was changed (pr#7551, Jevon Qiao)
  • librados: move to c++11 concurrency types (pr#5931, Adam C. Emerson)
  • librados: remove duplicate definitions for rados pool_stat_t and cluster_stat_t (pr#7330, Igor Fedotov)
  • librados: shutdown finisher in a more graceful way (pr#7519, xie xingguo)
  • librados_test_stub: protect against notify/unwatch race (pr#7540, Jason Dillaman)
  • librbd: API: async open and close (issue#14264, pr#7259, Mykola Golub)
  • librbd: Avoid create two threads per image (pr#7400, Haomai Wang)
  • librbd: block maintenance ops until after journal is ready (issue#14510, pr#7382, Jason Dillaman)
  • librbd: fix internal handling of dynamic feature updates (pr#7299, Jason Dillaman)
  • librbd: journal framework for tracking exclusive lock transitions (issue#13298, pr#7529, Jason Dillaman)
  • librbd: journal shut down flush race condition (issue#14434, pr#7302, Jason Dillaman)
  • librbd: remove canceled tasks from timer thread (issue#14476, pr#7329, Douglas Fuller)
  • makefile: remove libedit from libclient.la (pr#7284, Kefu Chai)
  • mds, client: fix locking around handle_conf_change (issue#14365, issue#14374, pr#7312, John Spray)
  • mds: judgment added to avoid the risk of visiting the NULL pointer (pr#7358, Kongming Wu)
  • mon: add an independent option for max election time (pr#7245, Sangdi Xu)
  • mon: compact full epochs also (issue#14537, pr#7396, Kefu Chai)
  • mon: consider the pool size when setting pool crush rule (issue#14495, pr#7341, song baisen)
  • mon: drop useless rank init assignment (issue#14508, pr#7321, huanwen ren)
  • mon: fix locking in preinit error paths (issue#14473, pr#7353, huanwen ren)
  • mon: fix monmap creation stamp (pr#7459, duanweijun)
  • mon: fix sync of config-key data (pr#7363, Xiaowei Chen)
  • mon: go into ERR state if multiple PGs are stuck inactive (issue#13923, pr#7253, Wido den Hollander)
  • mon/MDSMonitor.cc: properly note beacon when health metrics changes (issue#14684, pr#7757, Yan, Zheng)
  • mon/MonClient: avoid null pointer error when configured incorrectly (issue#14405, pr#7276, Bo Cai)
  • mon: PG Monitor should report waiting for backfill (issue#12744, pr#7398, Abhishek Lekshmanan)
  • mon: reduce CPU and memory manager pressure of pg health check (pr#7482, Piotr Dałek)
  • mon: some cleanup in MonmapMonitor.cc (pr#7418, huanwen ren)
  • mon: warn if pg(s) not scrubbed (issue#13142, pr#6440, Michal Jarzabek)
  • msg/async: AsyncConnection: avoid debug log in cleanup_handler (pr#7547, Haomai Wang)
  • msg/async: bunch of fixes (pr#7379, Piotr Dałek)
  • msg/async: fix array boundary (pr#7451, Wei Jin)
  • msg/async: fix potential race condition (pr#7453, Haomai Wang)
  • msg/async: fix send closed local_connection message problem (pr#7255, Haomai Wang)
  • msg/async: reduce extra tcp packet for message ack (pr#7380, Haomai Wang)
  • msg/xio: fix compilation (pr#7479, Roi Dayan)
  • organizationmap: modify org mail info. (pr#7240, Xiaowei Chen)
  • os/bluestore: fix assert (issue#14436, pr#7293, xie xingguo)
  • os/bluestore: fix bluestore_wal_transaction_t encoding test (pr#7342, Kefu Chai)
  • os/bluestore: insert new onode to the front position of onode LRU (pr#7492, Jianjian Huo)
  • os/bluestore: use intrusive_ptr for Dir (pr#7247, Igor Fedotov)
  • osd: blockdevice: avoid implicit cast and add guard (pr#7460, xie xingguo)
  • osd: bluestore/BlueFS: initialize super block_size earlier in mkfs (pr#7535, Sage Weil)
  • osd: BlueStore: fix fsck and blockdevice read-relevant issue (pr#7362, xie xingguo)
  • osd: BlueStore: fix null pointer access (issue#14561, pr#7435, xie xingguo)
  • osd: bluestore, kstore: fix nid overwritten logic (issue#14407, issue#14433, pr#7283, xie xingguo)
  • osd: bluestore: use btree_map for allocator (pr#7269, Igor Fedotov, Sage Weil)
  • osd: drop fiemap len=0 logic (pr#7267, Sage Weil)
  • osd: FileStore: add error check for object_map->sync() (pr#7281, Chendi Xue)
  • osd: FileStore: cleanup: remove obsolete option “filestore_xattr_use_omap” (issue#14356, pr#7217, Vikhyat Umrao)
  • osd: FileStore: modify the format of colon (pr#7333, Donghai Xu)
  • osd: FileStore: print file name before osd assert if read file failed (pr#7111, Ji Chen)
  • osd: fix invalid list traversal in process_copy_chunk (pr#7511, Samuel Just)
  • osd, mon: fix exit issue (pr#7420, Jiaying Ren)
  • osd: PG::activate(): handle unexpected cached_removed_snaps more gracefully (issue#14428, pr#7309, Alexey Sheplyakov)
  • os/fs: fix io_getevents argument (pr#7355, Jingkai Yuan)
  • os/fusestore: add error handling (pr#7395, xie xingguo)
  • os/keyvaluestore: kill KeyValueStore (pr#7320, Haomai Wang)
  • os/kstore: insert new onode to the front position of onode LRU (pr#7505, xie xingguo)
  • os/ObjectStore: add custom move operations for ObjectStore::Transaction (pr#7303, Casey Bodley)
  • rgw: Bug fix for mtime anomalies in RadosGW and other places (pr#7328, Adam C. Emerson, Casey Bodley)
  • rpm: move %post(un) ldconfig calls to ceph-base (issue#14940, pr#7867, Nathan Cutler)
  • rpm: move runtime dependencies to ceph-base and fix other packaging issues (issue#14864, pr#7826, Nathan Cutler)
  • test: ceph_test_rados: use less CPU (pr#7513, Samuel Just)

GETTING CEPH