From: root Date: Mon, 12 Sep 2016 09:00:43 +0000 (+0530) Subject: rgw: Do not archive metadata by default X-Git-Tag: v10.2.4~17^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F11321%2Fhead;p=ceph.git rgw: Do not archive metadata by default Fixes: http://tracker.ceph.com/issues/17256 Signed-off-by: Pavan Rallabhandi Signed-off-by: Matt Benjamin (cherry picked from commit c617ea83e0cca0061af18e0811c7ef8b4e836519) --- diff --git a/src/rgw/rgw_metadata.cc b/src/rgw/rgw_metadata.cc index 3160ce0b1989..ea6e7932b8d0 100644 --- a/src/rgw/rgw_metadata.cc +++ b/src/rgw/rgw_metadata.cc @@ -830,6 +830,10 @@ int RGWMetadataManager::store_in_heap(RGWMetadataHandler *handler, const string& rgw_bucket heap_pool(store->get_zone_params().metadata_heap); + if (heap_pool.name.empty()) { + return 0; + } + RGWObjVersionTracker otracker; otracker.write_version = objv_tracker->write_version; string oid = heap_oid(handler, key, objv_tracker->write_version); @@ -852,6 +856,10 @@ int RGWMetadataManager::remove_from_heap(RGWMetadataHandler *handler, const stri rgw_bucket heap_pool(store->get_zone_params().metadata_heap); + if (heap_pool.name.empty()) { + return 0; + } + string oid = heap_oid(handler, key, objv_tracker->write_version); rgw_obj obj(heap_pool, oid); int ret = store->delete_system_obj(obj); @@ -886,6 +894,7 @@ int RGWMetadataManager::put_entry(RGWMetadataHandler *handler, const string& key ret = rgw_put_system_obj(store, bucket, oid, bl.c_str(), bl.length(), exclusive, objv_tracker, mtime, pattrs); + if (ret < 0) { int r = remove_from_heap(handler, key, objv_tracker); if (r < 0) { diff --git a/src/rgw/rgw_rados.cc b/src/rgw/rgw_rados.cc index 66c979dd6bc2..2def22ddd41d 100644 --- a/src/rgw/rgw_rados.cc +++ b/src/rgw/rgw_rados.cc @@ -1466,7 +1466,9 @@ int RGWZoneParams::fix_pool_names() } domain_root = fix_zone_pool_name(pool_names, name, ".rgw.data.root", domain_root.name); - metadata_heap = fix_zone_pool_name(pool_names, name, ".rgw.meta", metadata_heap.name); + if (!metadata_heap.name.empty()) { + metadata_heap = fix_zone_pool_name(pool_names, name, ".rgw.meta", metadata_heap.name); + } control_pool = fix_zone_pool_name(pool_names, name, ".rgw.control", control_pool.name); gc_pool = fix_zone_pool_name(pool_names, name ,".rgw.gc", gc_pool.name); log_pool = fix_zone_pool_name(pool_names, name, ".rgw.log", log_pool.name); @@ -3333,11 +3335,6 @@ int RGWRados::replace_region_with_zonegroup() ldout(cct, 0) << __func__ << ": error initializing default zone params: " << cpp_strerror(-ret) << dendl; return ret; } - /* default zone is missing meta_heap */ - if (ret != -ENOENT && zoneparams.metadata_heap.name.empty()) { - zoneparams.metadata_heap = ".rgw.meta"; - return zoneparams.update(); - } /* update master zone */ RGWZoneGroup default_zg(default_zonegroup_name); ret = default_zg.init(cct, this); @@ -3449,9 +3446,6 @@ int RGWRados::replace_region_with_zonegroup() ldout(cct, 0) << "failed to init zoneparams " << iter->first << ": " << cpp_strerror(-ret) << dendl; return ret; } - if (zoneparams.metadata_heap.name.empty()) { - zoneparams.metadata_heap = ".rgw.meta"; - } zonegroup.realm_id = realm.get_id(); ret = zoneparams.update(); if (ret < 0 && ret != -EEXIST) {