From: Yehuda Sadeh Date: Fri, 7 Apr 2017 23:34:35 +0000 (-0700) Subject: rgw: es: generic keys are not case sensitive X-Git-Tag: ses5-milestone6~9^2~3^2~29 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=2c9a7bc99359f7dfc3f423e52de32583841c995e;p=ceph.git rgw: es: generic keys are not case sensitive make map case insensitive, and explicitly define all generic keys so that they can be forced to be lower case. Signed-off-by: Yehuda Sadeh --- diff --git a/src/rgw/rgw_es_main.cc b/src/rgw/rgw_es_main.cc index 89b2e0665ff..78b2865ed33 100644 --- a/src/rgw/rgw_es_main.cc +++ b/src/rgw/rgw_es_main.cc @@ -34,7 +34,7 @@ int main(int argc, char *argv[]) ESQueryCompiler es_query(expr, nullptr, "x-amz-meta-"); - map aliases = { { "key", "name" }, + map aliases = { { "key", "name" }, { "etag", "meta.etag" }, { "size", "meta.size" }, { "mtime", "meta.mtime" }, diff --git a/src/rgw/rgw_es_query.h b/src/rgw/rgw_es_query.h index 52711be8609..4375d93251c 100644 --- a/src/rgw/rgw_es_query.h +++ b/src/rgw/rgw_es_query.h @@ -1,6 +1,8 @@ #ifndef CEPH_RGW_ES_QUERY_H #define CEPH_RGW_ES_QUERY_H +#include "rgw_string.h" + class ESQueryStack { list l; list::iterator iter; @@ -100,7 +102,7 @@ class ESQueryCompiler { ESEntityTypeMap *generic_type_map{nullptr}; ESEntityTypeMap *custom_type_map{nullptr}; - map *field_aliases; + map *field_aliases; set *restricted_fields; public: @@ -131,7 +133,7 @@ public: return custom_type_map; } - void set_field_aliases(map *fa) { + void set_field_aliases(map *fa) { field_aliases = fa; } diff --git a/src/rgw/rgw_sync_module_es_rest.cc b/src/rgw/rgw_sync_module_es_rest.cc index db2183b3b42..fec51040298 100644 --- a/src/rgw/rgw_sync_module_es_rest.cc +++ b/src/rgw/rgw_sync_module_es_rest.cc @@ -162,7 +162,11 @@ void RGWMetadataSearchOp::execute() ESQueryCompiler es_query(expression, &conds, custom_prefix); - static map aliases = { { "key", "name" }, + static map aliases = { + { "bucket", "bucket" }, /* forces lowercase */ + { "name", "name" }, + { "key", "name" }, + { "instance", "instance" }, { "etag", "meta.etag" }, { "size", "meta.size" }, { "mtime", "meta.mtime" },