Skip to content

Refactor DocValueFieldsFetchSubPhase use of deprecation logger #33572

@tomcallahan

Description

@tomcallahan

Elasticsearch version (bin/elasticsearch --version): 6.4.0

Description of the problem including expected versus actual behavior
In DocValueFieldsFetchSubPhase.java, we use the deprecation logger inside of a per-field loop, emitting a log message (and corresponding HTTP header) for each docvalue_fields item without a format parameter in an msearch query. For users running Elasticsearch behind a proxy, this has been breaking as we can emit potentially many of these headers as Kibana is used normally.

Here is an example of the offending deprecation log message:
#! Deprecation: Doc-value field [date2] is not using a format. The output will change in 7.0 when doc value fields get formatted based on mappings by default. It is recommended to pass [format=use_field_mapping] with the doc value field in order to opt in for the future behaviour and ease the migration to 7.0.

We should refactor this class so that a single warning is emitted that enumerates all offending fields.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions