Unfortunately, it is not fixed. I managed to strip down further, to have a better reproducer. I made this test with your binaries, and I get the same if I compile them myself.
I have 2 indices:
close intentp1_licmon-licences2 LFVvISGISvWIlKkjH7eqPA
green open intentp1_licmon-licences WC92f-p6TuGFNApe77S_fQ 5 1 2 0 19.1kb 9.5kb
and this block:
- accept_x-forwarded-for_header: true
groups:
- intentp1_rw
hosts:
- es-intentp1
indices:
- intentp1-*
- intentp1_*
- ".kibana_intentp1"
name: es-intentp1 writer
and
- groups:
- intentp1_rw
proxy_auth: intentp1
username: intentp1
I get:
# curl -D - -H 'X-Forwarded-For: es-intentp1' -H 'X-Forwarded-User: intentp1' 'http://127.0.0.1:9200/intentp1_licmon*/_mapping/field/*' --compressedHTTP/1.1 404 Not Found
content-type: application/json; charset=UTF-8
content-encoding: gzip
transfer-encoding: chunked
{}
ROR info mode logs:
[2017-08-07T17:49:04,941][INFO ][org.elasticsearch.plugin.readonlyrest.acl.ACL] ALLOWED by '{ block=es-intentp1 writer, match=true }' req={ ID:1062469736-670358775#8643, TYP:GetFieldMappingsRequest, USR:intentp1, BRS:true, ACT:indices:admin/mappings/fields/get, OA:127.0.0.1, IDX:intentp1_licmon-licences2,intentp1_licmon-licences, MET:GET, PTH:/intentp1_licmon*/_mapping/field/*, CNT:<OMITTED, LENGTH=0>, HDR:Accept,Accept-Encoding,content-length,Host,User-Agent,X-Forwarded-For,X-Forwarded-User, HIS:[es-internal kibana_short_url->[hosts->true, uri_re->false]], [es-intentp1 perfmon_monitor->[groups->false]], [es-intentp1 perfmon_writer->[groups->false]], [es-internal kibana_writer->[kibana_access->true, hosts->true, api_keys->false]], [es-intentp1 reader->[groups->false]], [es-intentp1 writer->[indices->true, proxy_auth->true, hosts->true]], [es-internal reader->[groups->false]], [es-internal kibana_reader->[kibana_access->true, hosts->true, api_keys->false]], [es-internal perfmon_writer->[groups->false]], [es-internal perfmon_monitor->[groups->false]], [es-internal writer->[groups->false]] }
[2017-08-07T17:49:04,942][INFO ][org.elasticsearch.plugin.readonlyrest.acl.ACL] ALLOWED by '{ block=es-intentp1 writer, match=true }' req={ ID:1062469736-1105794931#8644, TYP:GetFieldMappingsIndexRequest, USR:intentp1, BRS:true, ACT:indices:admin/mappings/fields/get[index], OA:127.0.0.1, IDX:intentp1_licmon-licences2,intentp1_licmon-licences, MET:GET, PTH:/intentp1_licmon*/_mapping/field/*, CNT:<OMITTED, LENGTH=0>, HDR:Accept,Accept-Encoding,content-length,Host,User-Agent,X-Forwarded-For,X-Forwarded-User, HIS:[es-internal kibana_short_url->[hosts->true, uri_re->false]], [es-internal kibana_reader->[kibana_access->true, hosts->true, api_keys->false]], [es-intentp1 writer->[indices->true, proxy_auth->true, hosts->true]], [es-internal perfmon_monitor->[groups->false]], [es-internal writer->[groups->false]], [es-intentp1 perfmon_writer->[groups->false]], [es-intentp1 reader->[groups->false]], [es-internal kibana_writer->[kibana_access->true, hosts->true, api_keys->false]], [es-internal reader->[groups->false]], [es-intentp1 perfmon_monitor->[groups->false]], [es-internal perfmon_writer->[groups->false]] }
[2017-08-07T17:49:04,943][INFO ][org.elasticsearch.plugin.readonlyrest.acl.ACL] ALLOWED by '{ block=es-intentp1 writer, match=true }' req={ ID:1062469736-276570509#8645, TYP:GetFieldMappingsIndexRequest, USR:intentp1, BRS:true, ACT:indices:admin/mappings/fields/get[index], OA:127.0.0.1, IDX:intentp1_licmon-licences2,intentp1_licmon-licences, MET:GET, PTH:/intentp1_licmon*/_mapping/field/*, CNT:<OMITTED, LENGTH=0>, HDR:Accept,Accept-Encoding,content-length,Host,User-Agent,X-Forwarded-For,X-Forwarded-User, HIS:[es-internal perfmon_writer->[groups->false]], [es-intentp1 perfmon_monitor->[groups->false]], [es-internal kibana_writer->[kibana_access->true, hosts->true, api_keys->false]], [es-intentp1 writer->[indices->true, proxy_auth->true, hosts->true]], [es-intentp1 perfmon_writer->[groups->false]], [es-internal perfmon_monitor->[groups->false]], [es-internal kibana_reader->[kibana_access->true, hosts->true, api_keys->false]], [es-intentp1 reader->[groups->false]], [es-internal reader->[groups->false]], [es-internal kibana_short_url->[hosts->true, uri_re->false]], [es-internal writer->[groups->false]] }
After opening the closed index:
curl -s -XPOST localhost:9200/intentp1_licmon-licences2/_open
{"acknowledged":true}
I get the expected result
# curl -D - -H 'X-Forwarded-For: es-intentp1' -H 'X-Forwarded-User: intentp1' 'http://127.0.0.1:9200/intentp1_licmon*/_mapping/field/*' --compressed
HTTP/1.1 200 OK
content-type: application/json; charset=UTF-8
content-encoding: gzip
transfer-encoding: chunked
{"intentp1_licmon-licences2":{"mappings":{"mytype":{"_routing":{"full_name":"_routing","mapping":{}},"_ttl":{"full_name":"_ttl","mapping":{}},"something.keyword":{"full_name":"something.keyword","mapping":{"keyword":{"type":"keyword","ignore_above":256}}},"_index":{"full_name":"_index","mapping":{}},"_type":{"full_name":"_type","mapping":{}},"_all":{"full_name":"_all","mapping":{}},"something":{"full_name":"something","mapping":{"something":{"type":"text","fields":{"keyword":{"type":"keyword","ignore_above":256}}}}},"_parent":{"full_name":"_parent","mapping":{}},"_field_names":{"full_name":"_field_names","mapping":{}},"_source":{"full_name":"_source","mapping":{}},"_id":{"full_name":"_id","mapping":{}},"_timestamp":{"full_name":"_timestamp","mapping":{}},"_uid":{"full_name":"_uid","mapping":{}},"_version":{"full_name":"_version","mapping":{}}}}}}
Any ideas ? Thanks a lot!