From 19343d4df2b1cb4b71d4b326f5bed44fb618f6a3 Mon Sep 17 00:00:00 2001 From: Shang Ding Date: Wed, 11 Apr 2018 18:55:15 +0800 Subject: [PATCH] rgw: es_obj_metadata encode instance "null" for none-version obj full-sync will get "null" for instance, but inc-sync will get empty string, so keep the same fixes: http://tracker.ceph.com/issues/23841 Signed-off-by: Shang Ding (cherry picked from commit 0e965ad796acd6bcbc92074dab0d4e9c127dab46) --- src/rgw/rgw_sync_module_es.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/rgw/rgw_sync_module_es.cc b/src/rgw/rgw_sync_module_es.cc index be6d1f18a8bd..0bf2360bac28 100644 --- a/src/rgw/rgw_sync_module_es.cc +++ b/src/rgw/rgw_sync_module_es.cc @@ -352,7 +352,10 @@ struct es_obj_metadata { } ::encode_json("bucket", bucket_info.bucket.name, f); ::encode_json("name", key.name, f); - ::encode_json("instance", key.instance, f); + string instance = key.instance; + if (instance.empty()) + instance = "null"; + ::encode_json("instance", instance, f); ::encode_json("versioned_epoch", versioned_epoch, f); ::encode_json("owner", policy.get_owner(), f); ::encode_json("permissions", permissions, f); -- 2.47.3