mirror of
https://github.com/elastic/elasticsearch.git
synced 2025-04-24 23:27:25 -04:00
This commit changes default deprecation logger level to CRITICAL, where default means deprecations emitted by DeprecationLogger#critical method. It also introduces WARN deprecations which are emitted by DeprecationLogger#warn Those log lines emitted at WARN are meant to indicate that a functionality is deprecated but will not break at next major version. relates #76754
This commit is contained in:
parent
6cccbf55c3
commit
4ef3a58a46
195 changed files with 509 additions and 365 deletions
|
@ -93,7 +93,7 @@ appender.deprecation_rolling_old.strategy.type = DefaultRolloverStrategy
|
|||
appender.deprecation_rolling_old.strategy.max = 4
|
||||
#################################################
|
||||
logger.deprecation.name = org.elasticsearch.deprecation
|
||||
logger.deprecation.level = deprecation
|
||||
logger.deprecation.level = WARN
|
||||
logger.deprecation.appenderRef.deprecation_rolling.ref = deprecation_rolling
|
||||
logger.deprecation.appenderRef.deprecation_rolling_old.ref = deprecation_rolling_old
|
||||
logger.deprecation.appenderRef.header_warning.ref = header_warning
|
||||
|
|
|
@ -200,12 +200,12 @@ By default, {es} rolls and compresses deprecation logs at 1GB. The default
|
|||
configuration preserves a maximum of five log files: four rolled logs and an
|
||||
active log.
|
||||
|
||||
{es} emits deprecation log messages at the `DEPRECATION` level. To stop writing
|
||||
deprecation log messages, set `logger.deprecation.level` to `error`:
|
||||
{es} emits deprecation log messages at the `CRITICAL` level. To stop writing
|
||||
deprecation log messages, set `logger.deprecation.level` to `OFF`:
|
||||
|
||||
[source,properties]
|
||||
----
|
||||
logger.deprecation.level = error
|
||||
logger.deprecation.level = OFF
|
||||
----
|
||||
|
||||
You can identify what is triggering deprecated functionality if `X-Opaque-Id` was used as an HTTP header.
|
||||
|
|
|
@ -92,7 +92,7 @@ public final class CJKBigramFilterFactory extends AbstractTokenFilterFactory {
|
|||
"] cannot be used to parse synonyms");
|
||||
}
|
||||
else {
|
||||
DEPRECATION_LOGGER.deprecate(DeprecationCategory.ANALYSIS, "synonym_tokenfilters", "Token filter [" + name()
|
||||
DEPRECATION_LOGGER.critical(DeprecationCategory.ANALYSIS, "synonym_tokenfilters", "Token filter [" + name()
|
||||
+ "] will not be usable to parse synonyms after v7.0");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -239,7 +239,7 @@ public class CommonAnalysisPlugin extends Plugin implements AnalysisPlugin, Scri
|
|||
filters.put("dutch_stem", DutchStemTokenFilterFactory::new);
|
||||
filters.put("edge_ngram", EdgeNGramTokenFilterFactory::new);
|
||||
filters.put("edgeNGram", (IndexSettings indexSettings, Environment environment, String name, Settings settings) -> {
|
||||
deprecationLogger.deprecate(DeprecationCategory.ANALYSIS, "edgeNGram_deprecation",
|
||||
deprecationLogger.critical(DeprecationCategory.ANALYSIS, "edgeNGram_deprecation",
|
||||
"The [edgeNGram] token filter name is deprecated and will be removed in a future version. "
|
||||
+ "Please change the filter name to [edge_ngram] instead.");
|
||||
return new EdgeNGramTokenFilterFactory(indexSettings, environment, name, settings);
|
||||
|
@ -264,7 +264,7 @@ public class CommonAnalysisPlugin extends Plugin implements AnalysisPlugin, Scri
|
|||
filters.put("multiplexer", MultiplexerTokenFilterFactory::new);
|
||||
filters.put("ngram", NGramTokenFilterFactory::new);
|
||||
filters.put("nGram", (IndexSettings indexSettings, Environment environment, String name, Settings settings) -> {
|
||||
deprecationLogger.deprecate(DeprecationCategory.ANALYSIS, "nGram_deprecation",
|
||||
deprecationLogger.critical(DeprecationCategory.ANALYSIS, "nGram_deprecation",
|
||||
"The [nGram] token filter name is deprecated and will be removed in a future version. "
|
||||
+ "Please change the filter name to [ngram] instead.");
|
||||
return new NGramTokenFilterFactory(indexSettings, environment, name, settings);
|
||||
|
@ -313,7 +313,7 @@ public class CommonAnalysisPlugin extends Plugin implements AnalysisPlugin, Scri
|
|||
tokenizers.put("thai", ThaiTokenizerFactory::new);
|
||||
tokenizers.put("nGram", (IndexSettings indexSettings, Environment environment, String name, Settings settings) -> {
|
||||
if (indexSettings.getIndexVersionCreated().onOrAfter(org.elasticsearch.Version.V_7_6_0)) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.ANALYSIS, "nGram_tokenizer_deprecation",
|
||||
deprecationLogger.critical(DeprecationCategory.ANALYSIS, "nGram_tokenizer_deprecation",
|
||||
"The [nGram] tokenizer name is deprecated and will be removed in a future version. "
|
||||
+ "Please change the tokenizer name to [ngram] instead.");
|
||||
}
|
||||
|
@ -322,7 +322,7 @@ public class CommonAnalysisPlugin extends Plugin implements AnalysisPlugin, Scri
|
|||
tokenizers.put("ngram", NGramTokenizerFactory::new);
|
||||
tokenizers.put("edgeNGram", (IndexSettings indexSettings, Environment environment, String name, Settings settings) -> {
|
||||
if (indexSettings.getIndexVersionCreated().onOrAfter(org.elasticsearch.Version.V_7_6_0)) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.ANALYSIS, "edgeNGram_tokenizer_deprecation",
|
||||
deprecationLogger.critical(DeprecationCategory.ANALYSIS, "edgeNGram_tokenizer_deprecation",
|
||||
"The [edgeNGram] tokenizer name is deprecated and will be removed in a future version. "
|
||||
+ "Please change the tokenizer name to [edge_ngram] instead.");
|
||||
}
|
||||
|
@ -403,7 +403,7 @@ public class CommonAnalysisPlugin extends Plugin implements AnalysisPlugin, Scri
|
|||
filters.add(PreConfiguredCharFilter.singleton("html_strip", false, HTMLStripCharFilter::new));
|
||||
filters.add(PreConfiguredCharFilter.elasticsearchVersion("htmlStrip", false, (reader, version) -> {
|
||||
if (version.onOrAfter(org.elasticsearch.Version.V_6_3_0)) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.ANALYSIS, "htmlStrip_deprecation",
|
||||
deprecationLogger.critical(DeprecationCategory.ANALYSIS, "htmlStrip_deprecation",
|
||||
"The [htmpStrip] char filter name is deprecated and will be removed in a future version. "
|
||||
+ "Please change the filter name to [html_strip] instead.");
|
||||
}
|
||||
|
@ -434,7 +434,7 @@ public class CommonAnalysisPlugin extends Plugin implements AnalysisPlugin, Scri
|
|||
"[delimited_payload_filter] is not supported for new indices, use [delimited_payload] instead");
|
||||
}
|
||||
if (version.onOrAfter(Version.V_6_2_0)) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.ANALYSIS, "analysis_delimited_payload_filter",
|
||||
deprecationLogger.critical(DeprecationCategory.ANALYSIS, "analysis_delimited_payload_filter",
|
||||
"Deprecated [delimited_payload_filter] used, replaced by [delimited_payload]");
|
||||
}
|
||||
return new DelimitedPayloadTokenFilter(input,
|
||||
|
@ -454,7 +454,7 @@ public class CommonAnalysisPlugin extends Plugin implements AnalysisPlugin, Scri
|
|||
"The [edgeNGram] token filter name was deprecated in 6.4 and cannot be used in new indices. "
|
||||
+ "Please change the filter name to [edge_ngram] instead.");
|
||||
} else {
|
||||
deprecationLogger.deprecate(DeprecationCategory.ANALYSIS, "edgeNGram_deprecation",
|
||||
deprecationLogger.critical(DeprecationCategory.ANALYSIS, "edgeNGram_deprecation",
|
||||
"The [edgeNGram] token filter name is deprecated and will be removed in a future version. "
|
||||
+ "Please change the filter name to [edge_ngram] instead.");
|
||||
}
|
||||
|
@ -481,7 +481,7 @@ public class CommonAnalysisPlugin extends Plugin implements AnalysisPlugin, Scri
|
|||
throw new IllegalArgumentException("The [nGram] token filter name was deprecated in 6.4 and cannot be used in new indices. "
|
||||
+ "Please change the filter name to [ngram] instead.");
|
||||
} else {
|
||||
deprecationLogger.deprecate(DeprecationCategory.ANALYSIS, "nGram_deprecation",
|
||||
deprecationLogger.critical(DeprecationCategory.ANALYSIS, "nGram_deprecation",
|
||||
"The [nGram] token filter name is deprecated and will be removed in a future version. "
|
||||
+ "Please change the filter name to [ngram] instead.");
|
||||
}
|
||||
|
@ -559,7 +559,7 @@ public class CommonAnalysisPlugin extends Plugin implements AnalysisPlugin, Scri
|
|||
// Temporary shim for aliases. TODO deprecate after they are moved
|
||||
tokenizers.add(PreConfiguredTokenizer.elasticsearchVersion("nGram", (version) -> {
|
||||
if (version.onOrAfter(org.elasticsearch.Version.V_7_6_0)) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.ANALYSIS, "nGram_tokenizer_deprecation",
|
||||
deprecationLogger.critical(DeprecationCategory.ANALYSIS, "nGram_tokenizer_deprecation",
|
||||
"The [nGram] tokenizer name is deprecated and will be removed in a future version. "
|
||||
+ "Please change the tokenizer name to [ngram] instead.");
|
||||
}
|
||||
|
@ -567,7 +567,7 @@ public class CommonAnalysisPlugin extends Plugin implements AnalysisPlugin, Scri
|
|||
}));
|
||||
tokenizers.add(PreConfiguredTokenizer.elasticsearchVersion("edgeNGram", (version) -> {
|
||||
if (version.onOrAfter(org.elasticsearch.Version.V_7_6_0)) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.ANALYSIS, "edgeNGram_tokenizer_deprecation",
|
||||
deprecationLogger.critical(DeprecationCategory.ANALYSIS, "edgeNGram_tokenizer_deprecation",
|
||||
"The [edgeNGram] tokenizer name is deprecated and will be removed in a future version. "
|
||||
+ "Please change the tokenizer name to [edge_ngram] instead.");
|
||||
}
|
||||
|
|
|
@ -59,7 +59,7 @@ public class CommonGramsTokenFilterFactory extends AbstractTokenFilterFactory {
|
|||
if (indexSettings.getIndexVersionCreated().onOrAfter(Version.V_7_0_0)) {
|
||||
throw new IllegalArgumentException("Token filter [" + name() + "] cannot be used to parse synonyms");
|
||||
} else {
|
||||
DEPRECATION_LOGGER.deprecate(DeprecationCategory.ANALYSIS, "synonym_tokenfilters", "Token filter [" + name()
|
||||
DEPRECATION_LOGGER.critical(DeprecationCategory.ANALYSIS, "synonym_tokenfilters", "Token filter [" + name()
|
||||
+ "] will not be usable to parse synonyms after v7.0");
|
||||
}
|
||||
|
||||
|
|
|
@ -81,7 +81,7 @@ public class EdgeNGramTokenFilterFactory extends AbstractTokenFilterFactory {
|
|||
throw new IllegalArgumentException("Token filter [" + name() + "] cannot be used to parse synonyms");
|
||||
}
|
||||
else {
|
||||
DEPRECATION_LOGGER.deprecate(DeprecationCategory.ANALYSIS, "synonym_tokenfilters",
|
||||
DEPRECATION_LOGGER.critical(DeprecationCategory.ANALYSIS, "synonym_tokenfilters",
|
||||
"Token filter [" + name() + "] will not be usable to parse synonyms after v7.0");
|
||||
return this;
|
||||
}
|
||||
|
|
|
@ -48,7 +48,7 @@ public class FingerprintTokenFilterFactory extends AbstractTokenFilterFactory {
|
|||
throw new IllegalArgumentException("Token filter [" + name() + "] cannot be used to parse synonyms");
|
||||
}
|
||||
else {
|
||||
DEPRECATION_LOGGER.deprecate(DeprecationCategory.ANALYSIS, "synonym_tokenfilters", "Token filter [" + name()
|
||||
DEPRECATION_LOGGER.critical(DeprecationCategory.ANALYSIS, "synonym_tokenfilters", "Token filter [" + name()
|
||||
+ "] will not be usable to parse synonyms after v7.0");
|
||||
return this;
|
||||
}
|
||||
|
|
|
@ -27,7 +27,7 @@ public class LegacyDelimitedPayloadTokenFilterFactory extends DelimitedPayloadTo
|
|||
"[delimited_payload_filter] is not supported for new indices, use [delimited_payload] instead");
|
||||
}
|
||||
if (indexSettings.getIndexVersionCreated().onOrAfter(Version.V_6_2_0)) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.ANALYSIS, "analysis_legacy_delimited_payload_filter",
|
||||
deprecationLogger.critical(DeprecationCategory.ANALYSIS, "analysis_legacy_delimited_payload_filter",
|
||||
"Deprecated [delimited_payload_filter] used, replaced by [delimited_payload]");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -56,7 +56,7 @@ public class MultiplexerTokenFilterFactory extends AbstractTokenFilterFactory {
|
|||
}
|
||||
else {
|
||||
if (preserveOriginal) {
|
||||
DEPRECATION_LOGGER.deprecate(DeprecationCategory.ANALYSIS, "synonym_tokenfilters",
|
||||
DEPRECATION_LOGGER.critical(DeprecationCategory.ANALYSIS, "synonym_tokenfilters",
|
||||
"Token filter [" + name() + "] will not be usable to parse synonyms after v7.0");
|
||||
return IDENTITY_FILTER;
|
||||
}
|
||||
|
@ -119,7 +119,7 @@ public class MultiplexerTokenFilterFactory extends AbstractTokenFilterFactory {
|
|||
}
|
||||
else {
|
||||
if (preserveOriginal) {
|
||||
DEPRECATION_LOGGER.deprecate(DeprecationCategory.ANALYSIS, "synonym_tokenfilters",
|
||||
DEPRECATION_LOGGER.critical(DeprecationCategory.ANALYSIS, "synonym_tokenfilters",
|
||||
"Token filter [" + name() + "] will not be usable to parse synonyms after v7.0");
|
||||
return IDENTITY_FILTER;
|
||||
}
|
||||
|
|
|
@ -42,7 +42,7 @@ public class NGramTokenFilterFactory extends AbstractTokenFilterFactory {
|
|||
+ maxAllowedNgramDiff + "] but was [" + ngramDiff + "]. This limit can be set by changing the ["
|
||||
+ IndexSettings.MAX_NGRAM_DIFF_SETTING.getKey() + "] index level setting.");
|
||||
} else {
|
||||
deprecationLogger.deprecate(DeprecationCategory.ANALYSIS, "ngram_big_difference",
|
||||
deprecationLogger.critical(DeprecationCategory.ANALYSIS, "ngram_big_difference",
|
||||
"Deprecated big difference between max_gram and min_gram in NGram Tokenizer,"
|
||||
+ "expected difference must be less than or equal to: [" + maxAllowedNgramDiff + "]");
|
||||
}
|
||||
|
@ -61,7 +61,7 @@ public class NGramTokenFilterFactory extends AbstractTokenFilterFactory {
|
|||
throw new IllegalArgumentException("Token filter [" + name() + "] cannot be used to parse synonyms");
|
||||
}
|
||||
else {
|
||||
DEPRECATION_LOGGER.deprecate(DeprecationCategory.ANALYSIS, "synonym_tokenfilters",
|
||||
DEPRECATION_LOGGER.critical(DeprecationCategory.ANALYSIS, "synonym_tokenfilters",
|
||||
"Token filter [" + name() + "] will not be usable to parse synonyms after v7.0");
|
||||
return this;
|
||||
}
|
||||
|
|
|
@ -108,7 +108,7 @@ public class NGramTokenizerFactory extends AbstractTokenizerFactory {
|
|||
+ maxAllowedNgramDiff + "] but was [" + ngramDiff + "]. This limit can be set by changing the ["
|
||||
+ IndexSettings.MAX_NGRAM_DIFF_SETTING.getKey() + "] index level setting.");
|
||||
} else {
|
||||
deprecationLogger.deprecate(DeprecationCategory.ANALYSIS, "ngram_big_difference",
|
||||
deprecationLogger.critical(DeprecationCategory.ANALYSIS, "ngram_big_difference",
|
||||
"Deprecated big difference between max_gram and min_gram in NGram Tokenizer,"
|
||||
+ "expected difference must be less than or equal to: [" + maxAllowedNgramDiff + "]");
|
||||
}
|
||||
|
|
|
@ -38,7 +38,7 @@ public class StandardHtmlStripAnalyzerProvider extends AbstractIndexAnalyzerProv
|
|||
throw new IllegalArgumentException("[standard_html_strip] analyzer is not supported for new indices, " +
|
||||
"use a custom analyzer using [standard] tokenizer and [html_strip] char_filter, plus [lowercase] filter");
|
||||
} else {
|
||||
DEPRECATION_LOGGER.deprecate(DeprecationCategory.ANALYSIS, "standard_html_strip_deprecation",
|
||||
DEPRECATION_LOGGER.critical(DeprecationCategory.ANALYSIS, "standard_html_strip_deprecation",
|
||||
"Deprecated analyzer [standard_html_strip] used, " +
|
||||
"replace it with a custom analyzer using [standard] tokenizer and [html_strip] char_filter, plus [lowercase] filter");
|
||||
}
|
||||
|
|
|
@ -47,7 +47,7 @@ public class SynonymTokenFilterFactory extends AbstractTokenFilterFactory {
|
|||
this.settings = settings;
|
||||
|
||||
if (settings.get("ignore_case") != null) {
|
||||
DEPRECATION_LOGGER.deprecate(DeprecationCategory.ANALYSIS, "synonym_ignore_case_option",
|
||||
DEPRECATION_LOGGER.critical(DeprecationCategory.ANALYSIS, "synonym_ignore_case_option",
|
||||
"The ignore_case option on the synonym_graph filter is deprecated. " +
|
||||
"Instead, insert a lowercase filter in the filter chain before the synonym_graph filter.");
|
||||
}
|
||||
|
|
|
@ -102,7 +102,7 @@ public class WordDelimiterGraphTokenFilterFactory extends AbstractTokenFilterFac
|
|||
throw new IllegalArgumentException("Token filter [" + name() + "] cannot be used to parse synonyms");
|
||||
}
|
||||
else {
|
||||
DEPRECATION_LOGGER.deprecate(DeprecationCategory.ANALYSIS, "synonym_tokenfilters",
|
||||
DEPRECATION_LOGGER.critical(DeprecationCategory.ANALYSIS, "synonym_tokenfilters",
|
||||
"Token filter [" + name() + "] will not be usable to parse synonyms after v7.0");
|
||||
return this;
|
||||
}
|
||||
|
|
|
@ -105,7 +105,7 @@ public class WordDelimiterTokenFilterFactory extends AbstractTokenFilterFactory
|
|||
throw new IllegalArgumentException("Token filter [" + name() + "] cannot be used to parse synonyms");
|
||||
}
|
||||
else {
|
||||
DEPRECATION_LOGGER.deprecate(DeprecationCategory.ANALYSIS, "synonym_tokenfilters",
|
||||
DEPRECATION_LOGGER.critical(DeprecationCategory.ANALYSIS, "synonym_tokenfilters",
|
||||
"Token filter [" + name() + "] will not be usable to parse synonyms after v7.0");
|
||||
return this;
|
||||
}
|
||||
|
|
|
@ -45,7 +45,7 @@ public final class ScriptProcessor extends AbstractProcessor {
|
|||
DeprecationLogger.getLogger(DynamicMap.class);
|
||||
private static final Map<String, Function<Object, Object>> PARAMS_FUNCTIONS = org.elasticsearch.core.Map.of(
|
||||
"_type", value -> {
|
||||
deprecationLogger.deprecate(DeprecationCategory.SCRIPTING, "script_processor",
|
||||
deprecationLogger.critical(DeprecationCategory.SCRIPTING, "script_processor",
|
||||
"[types removal] Looking up doc types [_type] in scripts is deprecated.");
|
||||
return value;
|
||||
});
|
||||
|
|
|
@ -330,7 +330,7 @@ public class UserAgentProcessor extends AbstractProcessor {
|
|||
}
|
||||
|
||||
if (useECS == false) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.SETTINGS, "ecs_false_non_common_schema",
|
||||
deprecationLogger.critical(DeprecationCategory.SETTINGS, "ecs_false_non_common_schema",
|
||||
"setting [ecs] to false for non-common schema " +
|
||||
"format is deprecated and will be removed in 8.0, set to true or remove to use the non-deprecated format");
|
||||
}
|
||||
|
@ -383,7 +383,7 @@ public class UserAgentProcessor extends AbstractProcessor {
|
|||
Property value = valueOf(propertyName.toUpperCase(Locale.ROOT));
|
||||
if (DEPRECATED_PROPERTIES.contains(value)) {
|
||||
final String key = "user_agent_processor_property_" + propertyName.replaceAll("[^\\w_]+", "_");
|
||||
deprecationLogger.deprecate(DeprecationCategory.PARSING, key,
|
||||
deprecationLogger.critical(DeprecationCategory.PARSING, key,
|
||||
"the [{}] property is deprecated for the user-agent processor", propertyName);
|
||||
}
|
||||
return value;
|
||||
|
|
|
@ -74,7 +74,7 @@ public class RestMultiSearchTemplateAction extends BaseRestHandler {
|
|||
// Emit a single deprecation message if any search template contains types.
|
||||
for (SearchTemplateRequest searchTemplateRequest : multiRequest.requests()) {
|
||||
if (searchTemplateRequest.getRequest().types().length > 0) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.TYPES, "msearch_with_types", TYPES_DEPRECATION_MESSAGE);
|
||||
deprecationLogger.critical(DeprecationCategory.TYPES, "msearch_with_types", TYPES_DEPRECATION_MESSAGE);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -131,7 +131,7 @@ public class HasChildQueryBuilder extends AbstractQueryBuilder<HasChildQueryBuil
|
|||
throw new IllegalArgumentException("[" + NAME + "] requires non-negative 'min_children' field");
|
||||
}
|
||||
if (minChildren == 0) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.QUERIES, "min_children", MIN_CHILDREN_0_DEPRECATION_MESSAGE);
|
||||
deprecationLogger.critical(DeprecationCategory.QUERIES, "min_children", MIN_CHILDREN_0_DEPRECATION_MESSAGE);
|
||||
}
|
||||
if (maxChildren < 0) {
|
||||
throw new IllegalArgumentException("[" + NAME + "] requires non-negative 'max_children' field");
|
||||
|
|
|
@ -458,7 +458,7 @@ public class PercolateQueryBuilder extends AbstractQueryBuilder<PercolateQueryBu
|
|||
}
|
||||
GetRequest getRequest;
|
||||
if (indexedDocumentType != null) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.TYPES, "percolate_with_type", TYPE_DEPRECATION_MESSAGE);
|
||||
deprecationLogger.critical(DeprecationCategory.TYPES, "percolate_with_type", TYPE_DEPRECATION_MESSAGE);
|
||||
getRequest = new GetRequest(indexedDocumentIndex, indexedDocumentType, indexedDocumentId);
|
||||
} else {
|
||||
getRequest = new GetRequest(indexedDocumentIndex, indexedDocumentId);
|
||||
|
@ -527,7 +527,7 @@ public class PercolateQueryBuilder extends AbstractQueryBuilder<PercolateQueryBu
|
|||
final List<ParsedDocument> docs = new ArrayList<>();
|
||||
String type = context.getType();
|
||||
if (documentType != null) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.TYPES, "percolate_with_document_type", DOCUMENT_TYPE_DEPRECATION_MESSAGE);
|
||||
deprecationLogger.critical(DeprecationCategory.TYPES, "percolate_with_document_type", DOCUMENT_TYPE_DEPRECATION_MESSAGE);
|
||||
if (documentType.equals(type) == false) {
|
||||
throw new IllegalArgumentException("specified document_type [" + documentType +
|
||||
"] is not equal to the actual type [" + type + "]");
|
||||
|
|
|
@ -56,7 +56,7 @@ public class ReindexValidator {
|
|||
state);
|
||||
SearchSourceBuilder searchSource = request.getSearchRequest().source();
|
||||
if (searchSource != null && searchSource.sorts() != null && searchSource.sorts().isEmpty() == false) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.API, "reindex_sort", SORT_DEPRECATED_MESSAGE);
|
||||
deprecationLogger.critical(DeprecationCategory.API, "reindex_sort", SORT_DEPRECATED_MESSAGE);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -174,7 +174,7 @@ final class RemoteRequestBuilders {
|
|||
private static String encodeIndex(String s) {
|
||||
if (s.contains("%")) { // already encoded, pass-through to allow this in mixed version clusters
|
||||
checkIndexOrType("Index", s);
|
||||
DEPRECATION_LOGGER.deprecate(DeprecationCategory.API, "reindex_url_encoded_index", DEPRECATED_URL_ENCODED_INDEX_WARNING);
|
||||
DEPRECATION_LOGGER.critical(DeprecationCategory.API, "reindex_url_encoded_index", DEPRECATED_URL_ENCODED_INDEX_WARNING);
|
||||
return s;
|
||||
}
|
||||
try {
|
||||
|
|
|
@ -50,7 +50,7 @@ public class IcuNormalizerTokenFilterFactory extends AbstractTokenFilterFactory
|
|||
String unicodeSetFilter = settings.get("unicodeSetFilter");
|
||||
if (indexSettings.getIndexVersionCreated().onOrAfter(Version.V_7_0_0)) {
|
||||
if (unicodeSetFilter != null) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.ANALYSIS, "icu_normalizer_unicode_set_filter",
|
||||
deprecationLogger.critical(DeprecationCategory.ANALYSIS, "icu_normalizer_unicode_set_filter",
|
||||
"[unicodeSetFilter] has been deprecated in favor of [unicode_set_filter]");
|
||||
} else {
|
||||
unicodeSetFilter = settings.get("unicode_set_filter");
|
||||
|
|
|
@ -140,7 +140,7 @@ public class PhoneticTokenFilterFactory extends AbstractTokenFilterFactory {
|
|||
throw new IllegalArgumentException("Token filter [" + name() + "] cannot be used to parse synonyms");
|
||||
}
|
||||
else {
|
||||
DEPRECATION_LOGGER.deprecate(DeprecationCategory.ANALYSIS, "synonym_tokenfilters",
|
||||
DEPRECATION_LOGGER.critical(DeprecationCategory.ANALYSIS, "synonym_tokenfilters",
|
||||
"Token filter [" + name() + "] will not be usable to parse synonyms after v7.0");
|
||||
return this;
|
||||
}
|
||||
|
|
|
@ -38,7 +38,7 @@ public class AzureDiscoveryPlugin extends Plugin implements DiscoveryPlugin {
|
|||
|
||||
public AzureDiscoveryPlugin(Settings settings) {
|
||||
this.settings = settings;
|
||||
deprecationLogger.deprecate(DeprecationCategory.PLUGINS, "azure_discovery_plugin", "azure classic discovery plugin is deprecated.");
|
||||
deprecationLogger.critical(DeprecationCategory.PLUGINS, "azure_discovery_plugin", "azure classic discovery plugin is deprecated.");
|
||||
logger.trace("starting azure classic discovery plugin...");
|
||||
}
|
||||
|
||||
|
|
|
@ -125,12 +125,12 @@ final class Ec2ClientSettings {
|
|||
return null;
|
||||
} else {
|
||||
if (key.length() == 0) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.SETTINGS, "ec2_invalid_settings",
|
||||
deprecationLogger.critical(DeprecationCategory.SETTINGS, "ec2_invalid_settings",
|
||||
"Setting [{}] is set but [{}] is not, which will be unsupported in future",
|
||||
SECRET_KEY_SETTING.getKey(), ACCESS_KEY_SETTING.getKey());
|
||||
}
|
||||
if (secret.length() == 0) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.SETTINGS, "ec2_invalid_settings",
|
||||
deprecationLogger.critical(DeprecationCategory.SETTINGS, "ec2_invalid_settings",
|
||||
"Setting [{}] is set but [{}] is not, which will be unsupported in future",
|
||||
ACCESS_KEY_SETTING.getKey(), SECRET_KEY_SETTING.getKey());
|
||||
}
|
||||
|
|
|
@ -244,7 +244,7 @@ class S3Repository extends MeteredBlobStoreRepository {
|
|||
|
||||
if (S3ClientSettings.checkDeprecatedCredentials(metadata.settings())) {
|
||||
// provided repository settings
|
||||
deprecationLogger.deprecate(DeprecationCategory.SECURITY, "s3_repository_secret_settings",
|
||||
deprecationLogger.critical(DeprecationCategory.SECURITY, "s3_repository_secret_settings",
|
||||
"Using s3 access/secret key from repository settings. Instead "
|
||||
+ "store these in named clients and the elasticsearch keystore for secure settings.");
|
||||
}
|
||||
|
|
|
@ -21,10 +21,10 @@ import org.apache.lucene.util.Constants;
|
|||
import org.elasticsearch.cli.UserException;
|
||||
import org.elasticsearch.cluster.ClusterName;
|
||||
import org.elasticsearch.common.Randomness;
|
||||
import org.elasticsearch.core.PathUtils;
|
||||
import org.elasticsearch.common.settings.Setting;
|
||||
import org.elasticsearch.common.settings.Settings;
|
||||
import org.elasticsearch.common.util.concurrent.ThreadContext;
|
||||
import org.elasticsearch.core.PathUtils;
|
||||
import org.elasticsearch.env.Environment;
|
||||
import org.elasticsearch.node.Node;
|
||||
import org.elasticsearch.test.ESTestCase;
|
||||
|
@ -46,7 +46,6 @@ import java.util.regex.Pattern;
|
|||
import java.util.stream.Collectors;
|
||||
import java.util.stream.IntStream;
|
||||
|
||||
import static org.elasticsearch.common.logging.DeprecationLogger.DEPRECATION;
|
||||
import static org.hamcrest.Matchers.endsWith;
|
||||
import static org.hamcrest.Matchers.equalTo;
|
||||
import static org.hamcrest.Matchers.hasItem;
|
||||
|
@ -117,7 +116,7 @@ public class EvilLoggerTests extends ESTestCase {
|
|||
}
|
||||
for (int j = 0; j < iterations; j++) {
|
||||
for (final Integer id : ids) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.OTHER, Integer.toString(id),
|
||||
deprecationLogger.critical(DeprecationCategory.OTHER, Integer.toString(id),
|
||||
"This is a maybe logged deprecation message" + id);
|
||||
}
|
||||
}
|
||||
|
@ -166,8 +165,8 @@ public class EvilLoggerTests extends ESTestCase {
|
|||
for (int i = 0; i < 128; i++) {
|
||||
assertLogLine(
|
||||
deprecationEvents.get(i),
|
||||
DEPRECATION,
|
||||
"org.elasticsearch.common.logging.DeprecationLogger.deprecate",
|
||||
DeprecationLogger.CRITICAL,
|
||||
"org.elasticsearch.common.logging.DeprecationLogger.logDeprecation",
|
||||
"This is a maybe logged deprecation message" + i);
|
||||
}
|
||||
|
||||
|
@ -199,8 +198,8 @@ public class EvilLoggerTests extends ESTestCase {
|
|||
assertThat(deprecationEvents.size(), equalTo(1));
|
||||
assertLogLine(
|
||||
deprecationEvents.get(0),
|
||||
DEPRECATION,
|
||||
"org.elasticsearch.common.logging.DeprecationLogger.deprecate",
|
||||
DeprecationLogger.CRITICAL,
|
||||
"org.elasticsearch.common.logging.DeprecationLogger.logDeprecation",
|
||||
"\\[deprecated.foo\\] setting was deprecated in Elasticsearch and will be removed in a future release! " +
|
||||
"See the breaking changes documentation for the next major version.");
|
||||
}
|
||||
|
|
|
@ -47,7 +47,8 @@ import static org.hamcrest.core.IsEqual.equalTo;
|
|||
|
||||
/**
|
||||
* This test confirms JSON log structure is properly formatted and can be parsed.
|
||||
* It has to be in a <code>org.elasticsearch.common.logging</code> package to use <code>PrefixLogger</code>
|
||||
* It has to be in a <code>org.elasticsearch.common.logging</code> package to use <code>PrefixLogger</code>.
|
||||
* When running from IDE set -Dtests.security.manager=false
|
||||
*/
|
||||
public class JsonLoggerTests extends ESTestCase {
|
||||
|
||||
|
@ -73,6 +74,54 @@ public class JsonLoggerTests extends ESTestCase {
|
|||
super.tearDown();
|
||||
}
|
||||
|
||||
public void testDeprecationWarnMessage() throws IOException {
|
||||
final DeprecationLogger testLogger = DeprecationLogger.getLogger("org.elasticsearch.test");
|
||||
|
||||
testLogger.warn(DeprecationCategory.OTHER, "a key", "deprecated warn message1");
|
||||
|
||||
final Path path = PathUtils.get(System.getProperty("es.logs.base_path"),
|
||||
System.getProperty("es.logs.cluster_name") + "_deprecated.json");
|
||||
|
||||
try (Stream<Map<String, String>> stream = JsonLogsStream.mapStreamFrom(path)) {
|
||||
List<Map<String, String>> jsonLogs = stream
|
||||
.collect(Collectors.toList());
|
||||
|
||||
assertThat(jsonLogs, contains(
|
||||
allOf(
|
||||
hasEntry("level", "WARN"),
|
||||
hasEntry("component", "o.e.d.test"),
|
||||
hasEntry("message", "deprecated warn message1")
|
||||
))
|
||||
);
|
||||
}
|
||||
|
||||
assertWarnings("deprecated warn message1");
|
||||
}
|
||||
|
||||
public void testDeprecatedMessageWithoutXOpaqueId() throws IOException {
|
||||
final DeprecationLogger testLogger = DeprecationLogger.getLogger("org.elasticsearch.test");
|
||||
testLogger.critical(DeprecationCategory.OTHER, "a key", "deprecated message1");
|
||||
|
||||
final Path path = PathUtils.get(System.getProperty("es.logs.base_path"),
|
||||
System.getProperty("es.logs.cluster_name") + "_deprecated.json");
|
||||
try (Stream<Map<String, String>> stream = JsonLogsStream.mapStreamFrom(path)) {
|
||||
List<Map<String, String>> jsonLogs = stream
|
||||
.collect(Collectors.toList());
|
||||
|
||||
assertThat(jsonLogs, contains(
|
||||
allOf(
|
||||
hasEntry("type", "deprecation.elasticsearch"),
|
||||
hasEntry("level", "CRITICAL"),
|
||||
hasEntry("component", "o.e.d.test"),
|
||||
hasEntry("cluster.name", "elasticsearch"),
|
||||
hasEntry("node.name", "sample-name"),
|
||||
hasEntry("message", "deprecated message1"),
|
||||
not(hasKey("x-opaque-id"))
|
||||
)
|
||||
));
|
||||
}
|
||||
assertWarnings("deprecated message1");
|
||||
}
|
||||
|
||||
|
||||
public void testParseFieldEmittingDeprecatedLogs() throws Exception {
|
||||
|
@ -100,7 +149,7 @@ public class JsonLoggerTests extends ESTestCase {
|
|||
// deprecation log for field deprecated_name
|
||||
allOf(
|
||||
hasEntry("type", "deprecation.elasticsearch"),
|
||||
hasEntry("level", "DEPRECATION"),
|
||||
hasEntry("level", "CRITICAL"),
|
||||
hasEntry("component", "o.e.d.c.x.ParseField"),
|
||||
hasEntry("cluster.name", "elasticsearch"),
|
||||
hasEntry("node.name", "sample-name"),
|
||||
|
@ -111,7 +160,7 @@ public class JsonLoggerTests extends ESTestCase {
|
|||
),
|
||||
allOf(
|
||||
hasEntry("type", "deprecation.elasticsearch"),
|
||||
hasEntry("level", "DEPRECATION"),
|
||||
hasEntry("level", "CRITICAL"),
|
||||
hasEntry("component", "o.e.d.c.x.ParseField"),
|
||||
hasEntry("cluster.name", "elasticsearch"),
|
||||
hasEntry("node.name", "sample-name"),
|
||||
|
@ -135,7 +184,7 @@ public class JsonLoggerTests extends ESTestCase {
|
|||
threadContext.putHeader(Task.X_OPAQUE_ID, "someId");
|
||||
threadContext.putHeader(Task.TRACE_ID, "someTraceId");
|
||||
final DeprecationLogger testLogger = DeprecationLogger.getLogger("org.elasticsearch.test");
|
||||
testLogger.deprecate(DeprecationCategory.OTHER, "someKey", "deprecated message1");
|
||||
testLogger.critical(DeprecationCategory.OTHER, "someKey", "deprecated message1");
|
||||
|
||||
final Path path = PathUtils.get(
|
||||
System.getProperty("es.logs.base_path"),
|
||||
|
@ -150,7 +199,7 @@ public class JsonLoggerTests extends ESTestCase {
|
|||
contains(
|
||||
allOf(
|
||||
hasEntry("type", "deprecation.elasticsearch"),
|
||||
hasEntry("level", "DEPRECATION"),
|
||||
hasEntry("level", "CRITICAL"),
|
||||
hasEntry("component", "o.e.d.test"),
|
||||
hasEntry("cluster.name", "elasticsearch"),
|
||||
hasEntry("node.name", "sample-name"),
|
||||
|
@ -166,31 +215,6 @@ public class JsonLoggerTests extends ESTestCase {
|
|||
});
|
||||
}
|
||||
|
||||
public void testDeprecatedMessageWithoutXOpaqueId() throws IOException {
|
||||
final DeprecationLogger testLogger = DeprecationLogger.getLogger("org.elasticsearch.test");
|
||||
testLogger.deprecate(DeprecationCategory.OTHER, "a key", "deprecated message1");
|
||||
|
||||
final Path path = PathUtils.get(System.getProperty("es.logs.base_path"),
|
||||
System.getProperty("es.logs.cluster_name") + "_deprecated.json");
|
||||
try (Stream<Map<String, String>> stream = JsonLogsStream.mapStreamFrom(path)) {
|
||||
List<Map<String, String>> jsonLogs = stream
|
||||
.collect(Collectors.toList());
|
||||
|
||||
assertThat(jsonLogs, contains(
|
||||
allOf(
|
||||
hasEntry("type", "deprecation.elasticsearch"),
|
||||
hasEntry("level", "DEPRECATION"),
|
||||
hasEntry("component", "o.e.d.test"),
|
||||
hasEntry("cluster.name", "elasticsearch"),
|
||||
hasEntry("node.name", "sample-name"),
|
||||
hasEntry("message", "deprecated message1"),
|
||||
not(hasKey("x-opaque-id"))
|
||||
)
|
||||
));
|
||||
}
|
||||
assertWarnings("deprecated message1");
|
||||
}
|
||||
|
||||
public void testJsonLayout() throws IOException {
|
||||
final Logger testLogger = LogManager.getLogger("test");
|
||||
|
||||
|
@ -303,15 +327,14 @@ public class JsonLoggerTests extends ESTestCase {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
public void testDuplicateLogMessages() throws Exception {
|
||||
final DeprecationLogger deprecationLogger = DeprecationLogger.getLogger("org.elasticsearch.test");
|
||||
|
||||
// For the same key and X-Opaque-ID deprecation should be once
|
||||
withThreadContext(threadContext -> {
|
||||
threadContext.putHeader(Task.X_OPAQUE_ID, "ID1");
|
||||
deprecationLogger.deprecate(DeprecationCategory.OTHER, "key", "message1");
|
||||
deprecationLogger.deprecate(DeprecationCategory.OTHER, "key", "message2");
|
||||
deprecationLogger.critical(DeprecationCategory.OTHER, "key", "message1");
|
||||
deprecationLogger.critical(DeprecationCategory.OTHER, "key", "message2");
|
||||
assertWarnings("message1", "message2");
|
||||
|
||||
final Path path = PathUtils.get(System.getProperty("es.logs.base_path"),
|
||||
|
@ -323,7 +346,7 @@ public class JsonLoggerTests extends ESTestCase {
|
|||
assertThat(jsonLogs, contains(
|
||||
allOf(
|
||||
hasEntry("type", "deprecation.elasticsearch"),
|
||||
hasEntry("level", "DEPRECATION"),
|
||||
hasEntry("level", "CRITICAL"),
|
||||
hasEntry("component", "o.e.d.test"),
|
||||
hasEntry("cluster.name", "elasticsearch"),
|
||||
hasEntry("node.name", "sample-name"),
|
||||
|
@ -341,8 +364,8 @@ public class JsonLoggerTests extends ESTestCase {
|
|||
//continuing with message1-ID1 in logs already, adding a new deprecation log line with message2-ID2
|
||||
withThreadContext(threadContext -> {
|
||||
threadContext.putHeader(Task.X_OPAQUE_ID, "ID2");
|
||||
deprecationLogger.deprecate(DeprecationCategory.OTHER, "key", "message1");
|
||||
deprecationLogger.deprecate(DeprecationCategory.OTHER, "key", "message2");
|
||||
deprecationLogger.critical(DeprecationCategory.OTHER, "key", "message1");
|
||||
deprecationLogger.critical(DeprecationCategory.OTHER, "key", "message2");
|
||||
assertWarnings("message1", "message2");
|
||||
|
||||
final Path path = PathUtils.get(
|
||||
|
@ -357,7 +380,7 @@ public class JsonLoggerTests extends ESTestCase {
|
|||
contains(
|
||||
allOf(
|
||||
hasEntry("type", "deprecation.elasticsearch"),
|
||||
hasEntry("level", "DEPRECATION"),
|
||||
hasEntry("level", "CRITICAL"),
|
||||
hasEntry("component", "o.e.d.test"),
|
||||
hasEntry("cluster.name", "elasticsearch"),
|
||||
hasEntry("node.name", "sample-name"),
|
||||
|
@ -366,7 +389,7 @@ public class JsonLoggerTests extends ESTestCase {
|
|||
),
|
||||
allOf(
|
||||
hasEntry("type", "deprecation.elasticsearch"),
|
||||
hasEntry("level", "DEPRECATION"),
|
||||
hasEntry("level", "CRITICAL"),
|
||||
hasEntry("component", "o.e.d.test"),
|
||||
hasEntry("cluster.name", "elasticsearch"),
|
||||
hasEntry("node.name", "sample-name"),
|
||||
|
|
|
@ -47,7 +47,7 @@ appender.header_warning.type = HeaderWarningAppender
|
|||
appender.header_warning.name = header_warning
|
||||
|
||||
logger.deprecation.name = org.elasticsearch.deprecation
|
||||
logger.deprecation.level = deprecation
|
||||
logger.deprecation.level = WARN
|
||||
logger.deprecation.appenderRef.console.ref = console
|
||||
logger.deprecation.appenderRef.file.ref = file
|
||||
logger.deprecation.appenderRef.deprecation_rolling.ref = deprecated
|
||||
|
|
|
@ -364,7 +364,7 @@ public class SystemIndicesSnapshotIT extends AbstractSnapshotIntegTestCase {
|
|||
new MockLogAppender.SeenEventExpectation(
|
||||
"restore-system-index-from-snapshot",
|
||||
"org.elasticsearch.deprecation.snapshots.RestoreService",
|
||||
DeprecationLogger.DEPRECATION,
|
||||
DeprecationLogger.CRITICAL,
|
||||
"Restoring system indices by name is deprecated. Use feature states instead. System indices: [.test-system-idx]"
|
||||
)
|
||||
);
|
||||
|
|
|
@ -472,7 +472,7 @@ public class ActionModule extends AbstractModule {
|
|||
}
|
||||
restWrapper = newRestWrapper;
|
||||
if ("org.elasticsearch.xpack.security.Security".equals(plugin.getClass().getCanonicalName()) == false) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.PLUGINS, "3rd_party_rest_deprecation", "The " +
|
||||
deprecationLogger.critical(DeprecationCategory.PLUGINS, "3rd_party_rest_deprecation", "The " +
|
||||
plugin.getClass().getName() + " plugin installs a custom REST wrapper. This functionality is deprecated and will " +
|
||||
"not be possible in Elasticsearch 8.0. If this plugin is intended to provide security features for Elasticsearch " +
|
||||
"then you should switch to using the built-in Elasticsearch features instead.");
|
||||
|
|
|
@ -72,7 +72,7 @@ public class AddVotingConfigExclusionsRequest extends MasterNodeRequest<AddVotin
|
|||
}
|
||||
|
||||
if (nodeDescriptions.length > 0) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.API, "voting_config_exclusion", DEPRECATION_MESSAGE);
|
||||
deprecationLogger.critical(DeprecationCategory.API, "voting_config_exclusion", DEPRECATION_MESSAGE);
|
||||
}
|
||||
|
||||
this.nodeDescriptions = nodeDescriptions;
|
||||
|
@ -94,7 +94,7 @@ public class AddVotingConfigExclusionsRequest extends MasterNodeRequest<AddVotin
|
|||
timeout = in.readTimeValue();
|
||||
|
||||
if (nodeDescriptions.length > 0) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.API, "voting_config_exclusion",
|
||||
deprecationLogger.critical(DeprecationCategory.API, "voting_config_exclusion",
|
||||
"nodeDescription is deprecated and will be removed, use nodeIds or nodeNames instead");
|
||||
}
|
||||
|
||||
|
|
|
@ -530,7 +530,7 @@ public class RestoreSnapshotRequest extends MasterNodeRequest<RestoreSnapshotReq
|
|||
if ((entry.getValue() instanceof Map) == false) {
|
||||
throw new IllegalArgumentException("malformed settings section");
|
||||
}
|
||||
DEPRECATION_LOGGER.deprecate(
|
||||
DEPRECATION_LOGGER.critical(
|
||||
DeprecationCategory.API,
|
||||
"RestoreSnapshotRequest#settings",
|
||||
"specifying [settings] when restoring a snapshot has no effect and will not be supported in a future version"
|
||||
|
|
|
@ -149,7 +149,7 @@ public class TransportGetAliasesAction extends TransportMasterNodeReadAction<Get
|
|||
}
|
||||
}
|
||||
if (systemIndicesNames.isEmpty() == false) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.API, "open_system_index_access",
|
||||
deprecationLogger.critical(DeprecationCategory.API, "open_system_index_access",
|
||||
"this request accesses system indices: {}, but in a future major version, direct access to system " +
|
||||
"indices will be prevented by default", systemIndicesNames);
|
||||
}
|
||||
|
@ -185,7 +185,7 @@ public class TransportGetAliasesAction extends TransportMasterNodeReadAction<Get
|
|||
}
|
||||
|
||||
if (systemAliases.isEmpty() == false) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.API, "open_system_alias_access",
|
||||
deprecationLogger.critical(DeprecationCategory.API, "open_system_alias_access",
|
||||
"this request accesses aliases with names reserved for system indices: {}, but in a future major version, direct " +
|
||||
"access to system indices and their aliases will not be allowed", systemAliases);
|
||||
}
|
||||
|
|
|
@ -75,7 +75,7 @@ public class TransportAutoPutMappingAction extends AcknowledgedTransportMasterNo
|
|||
|
||||
final String message = TransportPutMappingAction.checkForSystemIndexViolations(systemIndices, concreteIndices, request);
|
||||
if (message != null) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.API, "open_system_index_access", message);
|
||||
deprecationLogger.critical(DeprecationCategory.API, "open_system_index_access", message);
|
||||
}
|
||||
|
||||
performMappingUpdate(concreteIndices, request, listener, metadataMappingService);
|
||||
|
|
|
@ -93,7 +93,7 @@ public class TransportPutMappingAction extends AcknowledgedTransportMasterNodeAc
|
|||
|
||||
final String message = checkForSystemIndexViolations(systemIndices, concreteIndices, request);
|
||||
if (message != null) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.API, "open_system_index_access", message);
|
||||
deprecationLogger.critical(DeprecationCategory.API, "open_system_index_access", message);
|
||||
}
|
||||
|
||||
performMappingUpdate(concreteIndices, request, listener, metadataMappingService);
|
||||
|
|
|
@ -91,7 +91,7 @@ public class TransportUpdateSettingsAction extends AcknowledgedTransportMasterNo
|
|||
.map(entry -> "[" + entry.getKey() + "] -> " + entry.getValue())
|
||||
.collect(Collectors.joining(", "))
|
||||
+ ". This will not work in the next major version";
|
||||
deprecationLogger.deprecate(DeprecationCategory.API, "open_system_index_access", message);
|
||||
deprecationLogger.critical(DeprecationCategory.API, "open_system_index_access", message);
|
||||
}
|
||||
|
||||
final List<String> hiddenSystemIndexViolations
|
||||
|
|
|
@ -326,7 +326,7 @@ public class PutIndexTemplateRequest extends MasterNodeRequest<PutIndexTemplateR
|
|||
if (name.equals("template")) {
|
||||
// This is needed to allow for bwc (beats, logstash) with pre-5.0 templates (#21009)
|
||||
if(entry.getValue() instanceof String) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.API, "put_index_template_field",
|
||||
deprecationLogger.critical(DeprecationCategory.API, "put_index_template_field",
|
||||
"Deprecated field [template] used, replaced by [index_patterns]");
|
||||
patterns(Collections.singletonList((String) entry.getValue()));
|
||||
}
|
||||
|
|
|
@ -199,7 +199,7 @@ public final class BulkRequestParser {
|
|||
index = stringDeduplicator.computeIfAbsent(parser.text(), Function.identity());
|
||||
} else if (TYPE.match(currentFieldName, parser.getDeprecationHandler())) {
|
||||
if (warnOnTypeUsage && typesDeprecationLogged == false) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.TYPES, "bulk_with_types",
|
||||
deprecationLogger.critical(DeprecationCategory.TYPES, "bulk_with_types",
|
||||
RestBulkAction.TYPES_DEPRECATION_MESSAGE);
|
||||
typesDeprecationLogged = true;
|
||||
}
|
||||
|
|
|
@ -175,7 +175,7 @@ public class SimulatePipelineRequest extends ActionRequest implements ToXContent
|
|||
String index = ConfigurationUtils.readStringOrIntProperty(null, null,
|
||||
dataMap, Metadata.INDEX.getFieldName(), "_index");
|
||||
if (dataMap.containsKey(Metadata.TYPE.getFieldName())) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.TYPES, "simulate_pipeline_with_types",
|
||||
deprecationLogger.critical(DeprecationCategory.TYPES, "simulate_pipeline_with_types",
|
||||
"[types removal] specifying _type in pipeline simulation requests is deprecated");
|
||||
}
|
||||
String type = ConfigurationUtils.readStringOrIntProperty(null, null,
|
||||
|
|
|
@ -185,7 +185,7 @@ public class MultiSearchRequest extends ActionRequest implements CompositeIndice
|
|||
// support first line with \n
|
||||
if (nextMarker == 0) {
|
||||
from = nextMarker + 1;
|
||||
deprecationLogger.deprecate(DeprecationCategory.API, "multi_search_empty_first_line",
|
||||
deprecationLogger.critical(DeprecationCategory.API, "multi_search_empty_first_line",
|
||||
"support for empty first line before any action metadata in msearch API is deprecated and " +
|
||||
"will be removed in the next major version");
|
||||
continue;
|
||||
|
|
|
@ -85,7 +85,7 @@ public final class DestructiveOperations {
|
|||
|
||||
private void checkWildCardOK() {
|
||||
if (this.isDestructiveRequiresNameSet == false) {
|
||||
deprecationLogger.deprecate(
|
||||
deprecationLogger.critical(
|
||||
DeprecationCategory.SETTINGS,
|
||||
"destructive_requires_name_default",
|
||||
DESTRUCTIVE_REQUIRES_NAME_DEPRECATION_WARNING
|
||||
|
|
|
@ -324,7 +324,7 @@ public class IndicesOptions implements ToXContentFragment {
|
|||
|
||||
public static IndicesOptions fromRequest(RestRequest request, IndicesOptions defaultSettings) {
|
||||
if (request.hasParam("ignore_throttled")) {
|
||||
DEPRECATION_LOGGER.deprecate(DeprecationCategory.API, "ignore_throttled_param", IGNORE_THROTTLED_DEPRECATION_MESSAGE);
|
||||
DEPRECATION_LOGGER.critical(DeprecationCategory.API, "ignore_throttled_param", IGNORE_THROTTLED_DEPRECATION_MESSAGE);
|
||||
}
|
||||
|
||||
return fromParameters(
|
||||
|
|
|
@ -605,7 +605,7 @@ public class TermVectorsRequest extends SingleShardRequest<TermVectorsRequest> i
|
|||
termVectorsRequest.index = parser.text();
|
||||
} else if (TYPE.match(currentFieldName, parser.getDeprecationHandler())) {
|
||||
termVectorsRequest.type = parser.text();
|
||||
deprecationLogger.deprecate(DeprecationCategory.TYPES, "termvectors_with_types",
|
||||
deprecationLogger.critical(DeprecationCategory.TYPES, "termvectors_with_types",
|
||||
RestTermVectorsAction.TYPES_DEPRECATION_MESSAGE);
|
||||
} else if (ID.match(currentFieldName, parser.getDeprecationHandler())) {
|
||||
if (termVectorsRequest.doc != null) {
|
||||
|
|
|
@ -358,7 +358,7 @@ final class Bootstrap {
|
|||
+ "requirement. Consider switching to a distribution of Elasticsearch with a bundled JDK. "
|
||||
+ "If you are already using a distribution with a bundled JDK, ensure the JAVA_HOME environment variable is not set.",
|
||||
System.getProperty("java.home"));
|
||||
DeprecationLogger.getLogger(Bootstrap.class).deprecate(DeprecationCategory.OTHER, "java_version_11_required", message);
|
||||
DeprecationLogger.getLogger(Bootstrap.class).critical(DeprecationCategory.OTHER, "java_version_11_required", message);
|
||||
}
|
||||
if (BootstrapInfo.getSystemProperties().get("es.xcontent.strict_duplicate_detection") != null) {
|
||||
final String message = String.format(
|
||||
|
@ -366,7 +366,7 @@ final class Bootstrap {
|
|||
"The Java option es.xcontent.strict_duplicate_detection is set to [%s]; " +
|
||||
"this option is deprecated and non-functional and should be removed from Java configuration.",
|
||||
BootstrapInfo.getSystemProperties().get("es.xcontent.strict_duplicate_detection"));
|
||||
DeprecationLogger.getLogger(Bootstrap.class).deprecate(DeprecationCategory.SETTINGS,
|
||||
DeprecationLogger.getLogger(Bootstrap.class).critical(DeprecationCategory.SETTINGS,
|
||||
"strict_duplicate_detection_setting_removed", message);
|
||||
}
|
||||
if (environment.pidFile() != null) {
|
||||
|
|
|
@ -343,7 +343,7 @@ public class IndexNameExpressionResolver {
|
|||
|
||||
if (resolvedSystemIndices.isEmpty() == false) {
|
||||
Collections.sort(resolvedSystemIndices);
|
||||
deprecationLogger.deprecate(DeprecationCategory.API, "open_system_index_access",
|
||||
deprecationLogger.critical(DeprecationCategory.API, "open_system_index_access",
|
||||
"this request accesses system indices: {}, but in a future major version, direct access to system " +
|
||||
"indices will be prevented by default", resolvedSystemIndices);
|
||||
}
|
||||
|
|
|
@ -92,7 +92,7 @@ public class IndexTemplateMetadata extends AbstractDiffable<IndexTemplateMetadat
|
|||
this.settings = settings;
|
||||
this.mappings = mappings;
|
||||
if (this.mappings.size() > 1) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.TEMPLATES, "index-templates",
|
||||
deprecationLogger.critical(DeprecationCategory.TEMPLATES, "index-templates",
|
||||
"Index template {} contains multiple typed mappings; templates in 8x will only support a single mapping",
|
||||
name);
|
||||
}
|
||||
|
|
|
@ -208,7 +208,7 @@ public class MetadataCreateIndexService {
|
|||
} else if (isHidden) {
|
||||
logger.trace("index [{}] is a hidden index", index);
|
||||
} else {
|
||||
DEPRECATION_LOGGER.deprecate(DeprecationCategory.INDICES, "index_name_starts_with_dot",
|
||||
DEPRECATION_LOGGER.critical(DeprecationCategory.INDICES, "index_name_starts_with_dot",
|
||||
"index name [{}] starts with a dot '.', in the next major version, index names " +
|
||||
"starting with a dot are reserved for hidden indices and system indices", index);
|
||||
}
|
||||
|
@ -366,7 +366,7 @@ public class MetadataCreateIndexService {
|
|||
request.index(), isHiddenFromRequest);
|
||||
|
||||
if (v1Templates.size() > 1) {
|
||||
DEPRECATION_LOGGER.deprecate(DeprecationCategory.TEMPLATES, "index_template_multiple_match",
|
||||
DEPRECATION_LOGGER.critical(DeprecationCategory.TEMPLATES, "index_template_multiple_match",
|
||||
"index [{}] matches multiple legacy templates [{}], composable templates will only match a single template",
|
||||
request.index(), v1Templates.stream().map(IndexTemplateMetadata::name).sorted().collect(Collectors.joining(", ")));
|
||||
}
|
||||
|
@ -844,7 +844,7 @@ public class MetadataCreateIndexService {
|
|||
*/
|
||||
shardLimitValidator.validateShardLimit(indexSettings, currentState);
|
||||
if (indexSettings.getAsBoolean(IndexSettings.INDEX_SOFT_DELETES_SETTING.getKey(), true) == false) {
|
||||
DEPRECATION_LOGGER.deprecate(DeprecationCategory.SETTINGS, "soft_deletes_disabled",
|
||||
DEPRECATION_LOGGER.critical(DeprecationCategory.SETTINGS, "soft_deletes_disabled",
|
||||
"Creating indices with soft-deletes disabled is deprecated and will be removed in future Elasticsearch versions. " +
|
||||
"Please do not specify value for setting [index.soft_deletes.enabled] of index [" + request.index() + "].");
|
||||
}
|
||||
|
@ -1338,7 +1338,7 @@ public class MetadataCreateIndexService {
|
|||
if (IndexSettings.INDEX_SOFT_DELETES_SETTING.get(indexSettings) &&
|
||||
(IndexSettings.INDEX_TRANSLOG_RETENTION_AGE_SETTING.exists(indexSettings)
|
||||
|| IndexSettings.INDEX_TRANSLOG_RETENTION_SIZE_SETTING.exists(indexSettings))) {
|
||||
DEPRECATION_LOGGER.deprecate(
|
||||
DEPRECATION_LOGGER.critical(
|
||||
DeprecationCategory.SETTINGS,
|
||||
"translog_retention",
|
||||
"Translog retention settings [index.translog.retention.age] "
|
||||
|
@ -1350,7 +1350,7 @@ public class MetadataCreateIndexService {
|
|||
public static void validateStoreTypeSetting(Settings indexSettings) {
|
||||
final String storeType = IndexModule.INDEX_STORE_TYPE_SETTING.get(indexSettings);
|
||||
if (IndexModule.Type.SIMPLEFS.match(storeType)) {
|
||||
DEPRECATION_LOGGER.deprecate(DeprecationCategory.SETTINGS, "store_type_setting",
|
||||
DEPRECATION_LOGGER.critical(DeprecationCategory.SETTINGS, "store_type_setting",
|
||||
"[simplefs] is deprecated and will be removed in 8.0. Use [niofs] or other file systems instead. " +
|
||||
"Elasticsearch 7.15 or later uses [niofs] for the [simplefs] store type as it offers superior " +
|
||||
"or equivalent performance to [simplefs].");
|
||||
|
|
|
@ -56,7 +56,7 @@ public class OperationRouting {
|
|||
if (ignoreAwarenessAttr == false) {
|
||||
awarenessAttributes = AwarenessAllocationDecider.CLUSTER_ROUTING_ALLOCATION_AWARENESS_ATTRIBUTE_SETTING.get(settings);
|
||||
if (awarenessAttributes.isEmpty() == false) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.SETTINGS, "searches_not_routed_on_awareness_attributes",
|
||||
deprecationLogger.critical(DeprecationCategory.SETTINGS, "searches_not_routed_on_awareness_attributes",
|
||||
IGNORE_AWARENESS_ATTRIBUTES_DEPRECATION_MESSAGE);
|
||||
}
|
||||
clusterSettings.addSettingsUpdateConsumer(AwarenessAllocationDecider.CLUSTER_ROUTING_ALLOCATION_AWARENESS_ATTRIBUTE_SETTING,
|
||||
|
@ -81,7 +81,7 @@ public class OperationRouting {
|
|||
boolean ignoreAwarenessAttr = parseBoolean(System.getProperty(IGNORE_AWARENESS_ATTRIBUTES_PROPERTY), false);
|
||||
if (ignoreAwarenessAttr == false) {
|
||||
if (this.awarenessAttributes.isEmpty() && awarenessAttributes.isEmpty() == false) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.SETTINGS, "searches_not_routed_on_awareness_attributes",
|
||||
deprecationLogger.critical(DeprecationCategory.SETTINGS, "searches_not_routed_on_awareness_attributes",
|
||||
IGNORE_AWARENESS_ATTRIBUTES_DEPRECATION_MESSAGE);
|
||||
}
|
||||
this.awarenessAttributes = awarenessAttributes;
|
||||
|
|
|
@ -94,7 +94,7 @@ public class DiskThresholdMonitor {
|
|||
this.diskThresholdSettings = new DiskThresholdSettings(settings, clusterSettings);
|
||||
this.client = client;
|
||||
if (diskThresholdSettings.isAutoReleaseIndexEnabled() == false) {
|
||||
deprecationLogger.deprecate(
|
||||
deprecationLogger.critical(
|
||||
DeprecationCategory.SETTINGS,
|
||||
DiskThresholdSettings.AUTO_RELEASE_INDEX_ENABLED_KEY.replace(".", "_"),
|
||||
"[{}] will be removed in version {}",
|
||||
|
@ -319,7 +319,7 @@ public class DiskThresholdMonitor {
|
|||
logger.info("releasing read-only-allow-delete block on indices: [{}]", indicesToAutoRelease);
|
||||
updateIndicesReadOnly(indicesToAutoRelease, listener, false);
|
||||
} else {
|
||||
deprecationLogger.deprecate(
|
||||
deprecationLogger.critical(
|
||||
DeprecationCategory.SETTINGS,
|
||||
DiskThresholdSettings.AUTO_RELEASE_INDEX_ENABLED_KEY.replace(".", "_"),
|
||||
"[{}] will be removed in version {}",
|
||||
|
|
|
@ -84,7 +84,7 @@ public class DiskThresholdDecider extends AllocationDecider {
|
|||
@Override
|
||||
public void validate(Boolean value, Map<Setting<?>, Object> settings, boolean isPresent) {
|
||||
if (value == Boolean.FALSE && isPresent) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.SETTINGS, "watermark_enable_for_single_data_node",
|
||||
deprecationLogger.critical(DeprecationCategory.SETTINGS, "watermark_enable_for_single_data_node",
|
||||
"setting [{}=false] is deprecated and will not be available in a future version",
|
||||
ENABLE_FOR_SINGLE_DATA_NODE.getKey());
|
||||
}
|
||||
|
|
|
@ -45,7 +45,7 @@ public enum SpatialStrategy implements Writeable {
|
|||
return strategy;
|
||||
}
|
||||
}
|
||||
logger.deprecate(DeprecationCategory.OTHER, "geo_strategy",
|
||||
logger.critical(DeprecationCategory.OTHER, "geo_strategy",
|
||||
"Unrecognised strategy [" + strategyName + "], falling back to [recursive]");
|
||||
return null;
|
||||
}
|
||||
|
|
|
@ -65,7 +65,7 @@ public class Joda {
|
|||
String msg = "Camel case format name {} is deprecated and will be removed in a future version. " +
|
||||
"Use snake case name {} instead.";
|
||||
getDeprecationLogger()
|
||||
.deprecate(DeprecationCategory.PARSING,"camelCaseDateFormat", msg, formatName.getCamelCaseName(),
|
||||
.critical(DeprecationCategory.PARSING,"camelCaseDateFormat", msg, formatName.getCamelCaseName(),
|
||||
formatName.getSnakeCaseName());
|
||||
}
|
||||
|
||||
|
@ -150,7 +150,7 @@ public class Joda {
|
|||
formatter = ISODateTimeFormat.weekDateTimeNoMillis();
|
||||
} else if (FormatNames.WEEKYEAR.matches(input)) {
|
||||
getDeprecationLogger()
|
||||
.deprecate(DeprecationCategory.PARSING, "week_year_format_name",
|
||||
.critical(DeprecationCategory.PARSING, "week_year_format_name",
|
||||
"Format name \"week_year\" is deprecated and will be removed in a future version. Use \"weekyear\" format instead");
|
||||
formatter = ISODateTimeFormat.weekyear();
|
||||
} else if (FormatNames.WEEK_YEAR.matches(input)) {
|
||||
|
@ -280,7 +280,7 @@ public class Joda {
|
|||
private static void maybeLogJodaDeprecation(String format) {
|
||||
if (JodaDeprecationPatterns.isDeprecatedPattern(format)) {
|
||||
String suggestion = JodaDeprecationPatterns.formatSuggestion(format);
|
||||
getDeprecationLogger().deprecate(DeprecationCategory.PARSING, "joda-pattern-deprecation",
|
||||
getDeprecationLogger().critical(DeprecationCategory.PARSING, "joda-pattern-deprecation",
|
||||
suggestion + " " + JodaDeprecationPatterns.USE_NEW_FORMAT_SPECIFIERS);
|
||||
}
|
||||
}
|
||||
|
@ -390,11 +390,11 @@ public class Joda {
|
|||
long millis = new BigDecimal(text).longValue() * factor;
|
||||
// check for deprecations, but after it has parsed correctly so invalid values aren't counted as deprecated
|
||||
if (millis < 0) {
|
||||
getDeprecationLogger().deprecate(DeprecationCategory.PARSING, "epoch-negative", "Use of negative values" +
|
||||
getDeprecationLogger().critical(DeprecationCategory.PARSING, "epoch-negative", "Use of negative values" +
|
||||
" in epoch time formats is deprecated and will not be supported in the next major version of Elasticsearch.");
|
||||
}
|
||||
if (scientificNotation.matcher(text).find()) {
|
||||
getDeprecationLogger().deprecate(DeprecationCategory.PARSING, "epoch-scientific-notation",
|
||||
getDeprecationLogger().critical(DeprecationCategory.PARSING, "epoch-scientific-notation",
|
||||
"Use of scientific notation in epoch time formats is deprecated and will not be supported in the "
|
||||
+ "next major version of Elasticsearch.");
|
||||
}
|
||||
|
|
|
@ -13,12 +13,12 @@ import org.apache.logging.log4j.LogManager;
|
|||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
/**
|
||||
* A logger that logs deprecation notices. Logger should be initialized with a parent logger which name will be used
|
||||
* A logger that logs deprecation notices. Logger should be initialized with a class or name which will be used
|
||||
* for deprecation logger. For instance <code>DeprecationLogger.getLogger("org.elasticsearch.test.SomeClass")</code> will
|
||||
* result in a deprecation logger with name <code>org.elasticsearch.deprecation.test.SomeClass</code>. This allows to use a
|
||||
* <code>deprecation</code> logger defined in log4j2.properties.
|
||||
* <p>
|
||||
* Logs are emitted at the custom {@link #DEPRECATION} level, and routed wherever they need to go using log4j. For example,
|
||||
* Logs are emitted at the custom {@link #CRITICAL} level, and routed wherever they need to go using log4j. For example,
|
||||
* to disk using a rolling file appender, or added as a response header using {@link HeaderWarningAppender}.
|
||||
* <p>
|
||||
* Deprecation messages include a <code>key</code>, which is used for rate-limiting purposes. The log4j configuration
|
||||
|
@ -27,18 +27,15 @@ import org.apache.logging.log4j.Logger;
|
|||
* message limiting.
|
||||
*/
|
||||
public class DeprecationLogger {
|
||||
|
||||
/**
|
||||
* Deprecation messages are logged at this level.
|
||||
* More serious than WARN by 1, but less serious than ERROR
|
||||
*/
|
||||
public static Level DEPRECATION = Level.forName("DEPRECATION", Level.WARN.intLevel() + 1);
|
||||
public static Level CRITICAL = Level.forName("CRITICAL", Level.WARN.intLevel() - 1);
|
||||
|
||||
|
||||
private final Logger logger;
|
||||
|
||||
private DeprecationLogger(Logger parentLogger) {
|
||||
this.logger = parentLogger;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new deprecation logger for the supplied class. Internally, it delegates to
|
||||
* {@link #getLogger(String)}, passing the full class name.
|
||||
|
@ -76,17 +73,38 @@ public class DeprecationLogger {
|
|||
}
|
||||
|
||||
/**
|
||||
* Logs a message at the {@link #DEPRECATION} level. The message is also sent to the header warning logger,
|
||||
* Logs a message at the {@link DeprecationLogger#CRITICAL} level.
|
||||
* This log will indicate that a change will break in next version.
|
||||
* The message is also sent to the header warning logger,
|
||||
* so that it can be returned to the client.
|
||||
*/
|
||||
public DeprecationLogger deprecate(
|
||||
public DeprecationLogger critical(
|
||||
final DeprecationCategory category,
|
||||
final String key,
|
||||
final String msg,
|
||||
final Object... params
|
||||
) {
|
||||
final Object... params) {
|
||||
return logDeprecation(CRITICAL, category, key, msg, params);
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs a message at the {@link Level#WARN} level for less critical deprecations
|
||||
* that won't break in next version.
|
||||
* The message is also sent to the header warning logger,
|
||||
* so that it can be returned to the client.
|
||||
*/
|
||||
public DeprecationLogger warn(
|
||||
final DeprecationCategory category,
|
||||
final String key,
|
||||
final String msg,
|
||||
final Object... params) {
|
||||
return logDeprecation(Level.WARN, category, key, msg, params);
|
||||
}
|
||||
|
||||
private DeprecationLogger logDeprecation(Level level, DeprecationCategory category, String key, String msg, Object[] params) {
|
||||
ESLogMessage deprecationMessage = new DeprecatedMessage(category, key, HeaderWarning.getXOpaqueId(), msg, params);
|
||||
logger.log(DEPRECATION, deprecationMessage);
|
||||
logger.log(level, deprecationMessage);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -565,7 +565,7 @@ public class Setting<T> implements ToXContentObject {
|
|||
DeprecationCategory category = this.isSecure(settings) ? DeprecationCategory.SECURITY : DeprecationCategory.SETTINGS;
|
||||
|
||||
Settings.DeprecationLoggerHolder.deprecationLogger
|
||||
.deprecate(category, key, "[{}] setting was deprecated in Elasticsearch and will be removed in a future release! "
|
||||
.critical(category, key, "[{}] setting was deprecated in Elasticsearch and will be removed in a future release! "
|
||||
+ "See the breaking changes documentation for the next major version.", key);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1665,7 +1665,7 @@ public class DateFormatters {
|
|||
String msg = "Camel case format name {} is deprecated and will be removed in a future version. " +
|
||||
"Use snake case name {} instead.";
|
||||
deprecationLogger.getOrCompute()
|
||||
.deprecate(DeprecationCategory.PARSING, "camelCaseDateFormat", msg, formatName.getCamelCaseName(),
|
||||
.critical(DeprecationCategory.PARSING, "camelCaseDateFormat", msg, formatName.getCamelCaseName(),
|
||||
formatName.getSnakeCaseName());
|
||||
}
|
||||
|
||||
|
@ -1747,7 +1747,7 @@ public class DateFormatters {
|
|||
return WEEK_DATE_TIME_NO_MILLIS;
|
||||
} else if (FormatNames.WEEK_YEAR.matches(input)) {
|
||||
deprecationLogger.getOrCompute()
|
||||
.deprecate(DeprecationCategory.PARSING,
|
||||
.critical(DeprecationCategory.PARSING,
|
||||
"week_year_format_name", "Format name \"week_year\" is deprecated and will be removed in a future version. " +
|
||||
"Use \"weekyear\" format instead");
|
||||
return WEEK_YEAR;
|
||||
|
|
|
@ -193,7 +193,7 @@ public class DateUtils {
|
|||
public static ZoneId of(String zoneId) {
|
||||
String deprecatedId = DEPRECATED_SHORT_TIMEZONES.get(zoneId);
|
||||
if (deprecatedId != null) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.PARSING, "timezone",
|
||||
deprecationLogger.critical(DeprecationCategory.PARSING, "timezone",
|
||||
"Use of short timezone id " + zoneId + " is deprecated. Use " + deprecatedId + " instead");
|
||||
return ZoneId.of(deprecatedId);
|
||||
}
|
||||
|
|
|
@ -281,7 +281,7 @@ public class ByteSizeValue implements Writeable, Comparable<ByteSizeValue>, ToXC
|
|||
try {
|
||||
final double doubleValue = Double.parseDouble(s);
|
||||
DeprecationLoggerHolder.deprecationLogger
|
||||
.deprecate(DeprecationCategory.PARSING, "fractional_byte_values",
|
||||
.critical(DeprecationCategory.PARSING, "fractional_byte_values",
|
||||
"Fractional bytes values are deprecated. Use non-fractional bytes values instead: [{}] found for setting [{}]",
|
||||
initialInput, settingName);
|
||||
return new ByteSizeValue((long) (doubleValue * unit.toBytes(1)));
|
||||
|
|
|
@ -64,7 +64,7 @@ public class EsExecutors {
|
|||
final int value = Setting.parseInt(s, 1, name);
|
||||
final int availableProcessors = Runtime.getRuntime().availableProcessors();
|
||||
if (value > availableProcessors) {
|
||||
deprecationLogger.deprecate(
|
||||
deprecationLogger.critical(
|
||||
DeprecationCategory.SETTINGS,
|
||||
"processors",
|
||||
"setting [{}] to value [{}] which is more than available processors [{}] is deprecated",
|
||||
|
|
|
@ -41,21 +41,21 @@ public class LoggingDeprecationHandler implements DeprecationHandler {
|
|||
@Override
|
||||
public void usedDeprecatedName(String parserName, Supplier<XContentLocation> location, String usedName, String modernName) {
|
||||
String prefix = parserName == null ? "" : "[" + parserName + "][" + location.get() + "] ";
|
||||
deprecationLogger.deprecate(DeprecationCategory.API, "deprecated_field_" + usedName,
|
||||
deprecationLogger.critical(DeprecationCategory.API, "deprecated_field_" + usedName,
|
||||
"{}Deprecated field [{}] used, expected [{}] instead", prefix, usedName, modernName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void usedDeprecatedField(String parserName, Supplier<XContentLocation> location, String usedName, String replacedWith) {
|
||||
String prefix = parserName == null ? "" : "[" + parserName + "][" + location.get() + "] ";
|
||||
deprecationLogger.deprecate(DeprecationCategory.API, "deprecated_field_" + usedName,
|
||||
deprecationLogger.critical(DeprecationCategory.API, "deprecated_field_" + usedName,
|
||||
"{}Deprecated field [{}] used, replaced by [{}]", prefix, usedName, replacedWith);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void usedDeprecatedField(String parserName, Supplier<XContentLocation> location, String usedName) {
|
||||
String prefix = parserName == null ? "" : "[" + parserName + "][" + location.get() + "] ";
|
||||
deprecationLogger.deprecate(DeprecationCategory.API, "deprecated_field_" + usedName,
|
||||
deprecationLogger.critical(DeprecationCategory.API, "deprecated_field_" + usedName,
|
||||
"{}Deprecated field [{}] used, this field is unused and will be removed entirely", prefix, usedName);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -62,7 +62,7 @@ public class HttpInfo implements ReportingService.Info {
|
|||
String publishAddressString = publishAddress.toString();
|
||||
String hostString = publishAddress.address().getHostString();
|
||||
if (CNAME_IN_PUBLISH_HOST) {
|
||||
deprecationLogger.deprecate(
|
||||
deprecationLogger.critical(
|
||||
DeprecationCategory.SETTINGS,
|
||||
"cname_in_publish_address",
|
||||
"es.http.cname_in_publish_address system property is deprecated and no longer affects http.publish_address " +
|
||||
|
|
|
@ -199,7 +199,7 @@ public final class IndexSortConfig {
|
|||
if (this.indexCreatedVersion.onOrAfter(Version.V_7_13_0)) {
|
||||
throw new IllegalArgumentException("Cannot use alias [" + sortSpec.field + "] as an index sort field");
|
||||
} else {
|
||||
DEPRECATION_LOGGER.deprecate(
|
||||
DEPRECATION_LOGGER.critical(
|
||||
DeprecationCategory.MAPPINGS,
|
||||
"index-sort-aliases",
|
||||
"Index sort for index [" + indexName + "] defined on field [" + sortSpec.field +
|
||||
|
|
|
@ -73,7 +73,7 @@ public class Analysis {
|
|||
public static void checkForDeprecatedVersion(String name, Settings settings) {
|
||||
String sVersion = settings.get("version");
|
||||
if (sVersion != null) {
|
||||
DEPRECATION_LOGGER.deprecate(
|
||||
DEPRECATION_LOGGER.critical(
|
||||
DeprecationCategory.ANALYSIS,
|
||||
"analyzer.version",
|
||||
"Setting [version] on analysis component [" + name + "] has no effect and is deprecated"
|
||||
|
|
|
@ -120,7 +120,7 @@ public final class PreConfiguredTokenFilter extends PreConfiguredAnalysisCompone
|
|||
throw new IllegalArgumentException("Token filter [" + name() + "] cannot be used to parse synonyms");
|
||||
}
|
||||
else {
|
||||
DEPRECATION_LOGGER.deprecate(DeprecationCategory.ANALYSIS, name(), "Token filter [" + name()
|
||||
DEPRECATION_LOGGER.critical(DeprecationCategory.ANALYSIS, name(), "Token filter [" + name()
|
||||
+ "] will not be usable to parse synonyms after v7.0");
|
||||
return this;
|
||||
}
|
||||
|
@ -147,7 +147,7 @@ public final class PreConfiguredTokenFilter extends PreConfiguredAnalysisCompone
|
|||
throw new IllegalArgumentException("Token filter [" + name() + "] cannot be used to parse synonyms");
|
||||
}
|
||||
else {
|
||||
DEPRECATION_LOGGER.deprecate(DeprecationCategory.ANALYSIS, name(), "Token filter [" + name()
|
||||
DEPRECATION_LOGGER.critical(DeprecationCategory.ANALYSIS, name(), "Token filter [" + name()
|
||||
+ "] will not be usable to parse synonyms after v7.0");
|
||||
return this;
|
||||
}
|
||||
|
|
|
@ -39,7 +39,7 @@ public class ShingleTokenFilterFactory extends AbstractTokenFilterFactory {
|
|||
+ " must be less than or equal to: [" + maxAllowedShingleDiff + "] but was [" + shingleDiff + "]. This limit"
|
||||
+ " can be set by changing the [" + IndexSettings.MAX_SHINGLE_DIFF_SETTING.getKey() + "] index level setting.");
|
||||
} else {
|
||||
deprecationLogger.deprecate(DeprecationCategory.ANALYSIS, "excessive_shingle_diff",
|
||||
deprecationLogger.critical(DeprecationCategory.ANALYSIS, "excessive_shingle_diff",
|
||||
"Deprecated big difference between maxShingleSize and minShingleSize" +
|
||||
" in Shingle TokenFilter, expected difference must be less than or equal to: [" + maxAllowedShingleDiff + "]");
|
||||
}
|
||||
|
@ -65,7 +65,7 @@ public class ShingleTokenFilterFactory extends AbstractTokenFilterFactory {
|
|||
"] cannot be used to parse synonyms");
|
||||
}
|
||||
else {
|
||||
DEPRECATION_LOGGER.deprecate(DeprecationCategory.ANALYSIS, "synonym_tokenfilters", "Token filter " + name()
|
||||
DEPRECATION_LOGGER.critical(DeprecationCategory.ANALYSIS, "synonym_tokenfilters", "Token filter " + name()
|
||||
+ "] will not be usable to parse synonym after v7.0");
|
||||
}
|
||||
return this;
|
||||
|
|
|
@ -186,7 +186,7 @@ public class CompletionFieldMapper extends FieldMapper {
|
|||
|
||||
private void checkCompletionContextsLimit() {
|
||||
if (this.contexts.getValue() != null && this.contexts.getValue().size() > COMPLETION_CONTEXTS_LIMIT) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.MAPPINGS, "excessive_completion_contexts",
|
||||
deprecationLogger.critical(DeprecationCategory.MAPPINGS, "excessive_completion_contexts",
|
||||
"You have defined more than [" + COMPLETION_CONTEXTS_LIMIT + "] completion contexts" +
|
||||
" in the mapping for field [" + name() + "]. " +
|
||||
"The maximum allowed number of completion contexts in a mapping will be limited to " +
|
||||
|
|
|
@ -299,7 +299,7 @@ public final class DateFieldMapper extends FieldMapper {
|
|||
try {
|
||||
return fieldType.parse(nullValue.getValue());
|
||||
} catch (Exception e) {
|
||||
DEPRECATION_LOGGER.deprecate(DeprecationCategory.MAPPINGS, "date_mapper_null_field",
|
||||
DEPRECATION_LOGGER.critical(DeprecationCategory.MAPPINGS, "date_mapper_null_field",
|
||||
"Error parsing [" + nullValue.getValue() + "] as date in [null_value] on field [" + name() + "]);"
|
||||
+ " [null_value] will be ignored");
|
||||
return null;
|
||||
|
|
|
@ -211,7 +211,7 @@ public class DynamicTemplate implements ToXContentObject {
|
|||
if (indexVersionCreated.onOrAfter(Version.V_6_0_0_alpha1)) {
|
||||
throw e;
|
||||
} else {
|
||||
deprecationLogger.deprecate(DeprecationCategory.MAPPINGS, "invalid_mapping_type",
|
||||
deprecationLogger.critical(DeprecationCategory.MAPPINGS, "invalid_mapping_type",
|
||||
"match_mapping_type [" + matchMappingType + "] is invalid and will be ignored: "
|
||||
+ e.getMessage());
|
||||
// this template is on an unknown type so it will never match anything
|
||||
|
|
|
@ -1195,7 +1195,7 @@ public abstract class FieldMapper extends Mapper implements Cloneable {
|
|||
}
|
||||
Parameter<?> parameter = deprecatedParamsMap.get(propName);
|
||||
if (parameter != null) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.MAPPINGS, propName,
|
||||
deprecationLogger.critical(DeprecationCategory.MAPPINGS, propName,
|
||||
"Parameter [{}] on mapper [{}] is deprecated, use [{}]",
|
||||
propName, name, parameter.name);
|
||||
} else {
|
||||
|
@ -1203,7 +1203,7 @@ public abstract class FieldMapper extends Mapper implements Cloneable {
|
|||
}
|
||||
if (parameter == null) {
|
||||
if (isDeprecatedParameter(propName, parserContext.indexVersionCreated())) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.MAPPINGS, propName,
|
||||
deprecationLogger.critical(DeprecationCategory.MAPPINGS, propName,
|
||||
"Parameter [{}] has no effect on type [{}] and will be removed in future", propName, type);
|
||||
iterator.remove();
|
||||
continue;
|
||||
|
@ -1211,7 +1211,7 @@ public abstract class FieldMapper extends Mapper implements Cloneable {
|
|||
if (parserContext.isFromDynamicTemplate()) {
|
||||
// The parameter is unknown, but this mapping is from a dynamic template.
|
||||
// Until 7.x it was possible to use unknown parameters there, so for bwc we need to ignore it
|
||||
deprecationLogger.deprecate(DeprecationCategory.TEMPLATES, propName,
|
||||
deprecationLogger.critical(DeprecationCategory.TEMPLATES, propName,
|
||||
"Parameter [{}] is used in a dynamic template mapping and has no effect on type [{}]. "
|
||||
+ "Usage will result in an error in future major versions and should be removed.",
|
||||
propName,
|
||||
|
@ -1225,14 +1225,14 @@ public abstract class FieldMapper extends Mapper implements Cloneable {
|
|||
);
|
||||
}
|
||||
if (Objects.equals("boost", propName)) {
|
||||
deprecationLogger.deprecate(
|
||||
deprecationLogger.critical(
|
||||
DeprecationCategory.MAPPINGS,
|
||||
"boost",
|
||||
"Parameter [boost] on field [{}] is deprecated and will be removed in 8.0",
|
||||
name);
|
||||
}
|
||||
if (parameter.deprecated) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.MAPPINGS, propName,
|
||||
deprecationLogger.critical(DeprecationCategory.MAPPINGS, propName,
|
||||
"Parameter [{}] is deprecated and will be removed in a future version",
|
||||
propName);
|
||||
}
|
||||
|
|
|
@ -87,7 +87,7 @@ public class FieldNamesFieldMapper extends MetadataFieldMapper {
|
|||
@Override
|
||||
public FieldNamesFieldMapper build() {
|
||||
if (enabled.getValue().explicit()) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.MAPPINGS, "field_names_enabled_parameter", ENABLED_DEPRECATION_MESSAGE);
|
||||
deprecationLogger.critical(DeprecationCategory.MAPPINGS, "field_names_enabled_parameter", ENABLED_DEPRECATION_MESSAGE);
|
||||
}
|
||||
FieldNamesFieldType fieldNamesFieldType = new FieldNamesFieldType(enabled.getValue().value());
|
||||
return new FieldNamesFieldMapper(enabled.getValue(), indexVersionCreated, fieldNamesFieldType);
|
||||
|
@ -132,7 +132,7 @@ public class FieldNamesFieldMapper extends MetadataFieldMapper {
|
|||
if (isEnabled() == false) {
|
||||
throw new IllegalStateException("Cannot run [exists] queries if the [_field_names] field is disabled");
|
||||
}
|
||||
deprecationLogger.deprecate(DeprecationCategory.MAPPINGS, "terms_query_on_field_names",
|
||||
deprecationLogger.critical(DeprecationCategory.MAPPINGS, "terms_query_on_field_names",
|
||||
"terms query on the _field_names field is deprecated and will be removed, use exists query instead");
|
||||
return super.termQuery(value, context);
|
||||
}
|
||||
|
|
|
@ -90,7 +90,7 @@ public class GeoShapeFieldMapper extends AbstractShapeGeometryFieldMapper<Geomet
|
|||
@Override
|
||||
public GeoShapeFieldMapper build(MapperBuilderContext context) {
|
||||
if (multiFieldsBuilder.hasMultiFields()) {
|
||||
DEPRECATION_LOGGER.deprecate(
|
||||
DEPRECATION_LOGGER.critical(
|
||||
DeprecationCategory.MAPPINGS,
|
||||
"geo_shape_multifields",
|
||||
"Adding multifields to [geo_shape] mappers has no effect and will be forbidden in future"
|
||||
|
|
|
@ -154,7 +154,7 @@ public class IdFieldMapper extends MetadataFieldMapper {
|
|||
IndexFieldDataCache cache,
|
||||
CircuitBreakerService breakerService
|
||||
) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.MAPPINGS, "id_field_data", ID_FIELD_DATA_DEPRECATION_MESSAGE);
|
||||
deprecationLogger.critical(DeprecationCategory.MAPPINGS, "id_field_data", ID_FIELD_DATA_DEPRECATION_MESSAGE);
|
||||
final IndexFieldData<?> fieldData = fieldDataBuilder.build(cache, breakerService);
|
||||
return new IndexFieldData<LeafFieldData>() {
|
||||
@Override
|
||||
|
|
|
@ -123,7 +123,7 @@ public class IpFieldMapper extends FieldMapper {
|
|||
try {
|
||||
return InetAddresses.forString(nullValueAsString);
|
||||
} catch (Exception e) {
|
||||
DEPRECATION_LOGGER.deprecate(DeprecationCategory.MAPPINGS, "ip_mapper_null_field", "Error parsing [" + nullValue.getValue()
|
||||
DEPRECATION_LOGGER.critical(DeprecationCategory.MAPPINGS, "ip_mapper_null_field", "Error parsing [" + nullValue.getValue()
|
||||
+ "] as IP in [null_value] on field [" + name() + "]); [null_value] will be ignored");
|
||||
return null;
|
||||
}
|
||||
|
|
|
@ -469,7 +469,7 @@ public class MapperService extends AbstractIndexComponent implements Closeable {
|
|||
if (indexSettings.getIndexVersionCreated().onOrAfter(Version.V_7_0_0)) {
|
||||
throw new IllegalArgumentException(DEFAULT_MAPPING_ERROR_MESSAGE);
|
||||
} else if (reason == MergeReason.MAPPING_UPDATE) { // only log in case of explicit mapping updates
|
||||
deprecationLogger.deprecate(DeprecationCategory.MAPPINGS, "default_mapping_not_allowed", DEFAULT_MAPPING_ERROR_MESSAGE);
|
||||
deprecationLogger.critical(DeprecationCategory.MAPPINGS, "default_mapping_not_allowed", DEFAULT_MAPPING_ERROR_MESSAGE);
|
||||
}
|
||||
assert defaultMapping.type().equals(DEFAULT_MAPPING);
|
||||
}
|
||||
|
|
|
@ -153,7 +153,7 @@ public class ObjectMapper extends Mapper implements Cloneable {
|
|||
}
|
||||
return true;
|
||||
} else if (fieldName.equals("include_in_all")) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.API, "include_in_all",
|
||||
deprecationLogger.critical(DeprecationCategory.API, "include_in_all",
|
||||
"[include_in_all] is deprecated, the _all field have been removed in this version");
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -439,7 +439,7 @@ public class RootObjectMapper extends ObjectMapper {
|
|||
"attempted to validate it with the following match_mapping_type: %s, caused by [%s]";
|
||||
String message = String.format(Locale.ROOT, format,
|
||||
template.getName(), Strings.toString(template), Arrays.toString(types), lastError.getMessage());
|
||||
DEPRECATION_LOGGER.deprecate(DeprecationCategory.TEMPLATES, "invalid_dynamic_template", message);
|
||||
DEPRECATION_LOGGER.critical(DeprecationCategory.TEMPLATES, "invalid_dynamic_template", message);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@ public class TypeFieldMapper extends MetadataFieldMapper {
|
|||
"in queries and aggregations is deprecated, prefer to use a field instead.";
|
||||
|
||||
public static void emitTypesDeprecationWarning() {
|
||||
deprecationLogger.deprecate(DeprecationCategory.TYPES, "query_with_types", TYPES_DEPRECATION_MESSAGE);
|
||||
deprecationLogger.critical(DeprecationCategory.TYPES, "query_with_types", TYPES_DEPRECATION_MESSAGE);
|
||||
}
|
||||
|
||||
public static final String NAME = "_type";
|
||||
|
|
|
@ -55,13 +55,13 @@ public final class TypeFieldType extends ConstantFieldType {
|
|||
|
||||
@Override
|
||||
public Query existsQuery(SearchExecutionContext context) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.TYPES, "typefieldtype", TYPES_V7_DEPRECATION_MESSAGE);
|
||||
deprecationLogger.critical(DeprecationCategory.TYPES, "typefieldtype", TYPES_V7_DEPRECATION_MESSAGE);
|
||||
return new MatchAllDocsQuery();
|
||||
}
|
||||
|
||||
@Override
|
||||
public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName, Supplier<SearchLookup> searchLookup) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.TYPES, "typefieldtype", TYPES_V7_DEPRECATION_MESSAGE);
|
||||
deprecationLogger.critical(DeprecationCategory.TYPES, "typefieldtype", TYPES_V7_DEPRECATION_MESSAGE);
|
||||
return new ConstantIndexFieldData.Builder(type, name(), CoreValuesSourceType.KEYWORD);
|
||||
}
|
||||
|
||||
|
@ -72,7 +72,7 @@ public final class TypeFieldType extends ConstantFieldType {
|
|||
|
||||
@Override
|
||||
protected boolean matches(String pattern, boolean caseInsensitive, SearchExecutionContext context) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.TYPES, "typefieldtype", TYPES_V7_DEPRECATION_MESSAGE);
|
||||
deprecationLogger.critical(DeprecationCategory.TYPES, "typefieldtype", TYPES_V7_DEPRECATION_MESSAGE);
|
||||
if (caseInsensitive) {
|
||||
return pattern.equalsIgnoreCase(type);
|
||||
}
|
||||
|
|
|
@ -88,7 +88,7 @@ public class TypeParsers {
|
|||
MappingParserContext parserContext, String propName, Object propNode) {
|
||||
if (propName.equals("fields")) {
|
||||
if (parserContext.isWithinMultiField()) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.MAPPINGS, "multifield_within_multifield",
|
||||
deprecationLogger.critical(DeprecationCategory.MAPPINGS, "multifield_within_multifield",
|
||||
"At least one multi-field, [" + name + "], was " +
|
||||
"encountered that itself contains a multi-field. Defining multi-fields within a multi-field is deprecated and will " +
|
||||
"no longer be supported in 8.0. To resolve the issue, all instances of [fields] that occur within a [fields] block " +
|
||||
|
|
|
@ -232,7 +232,7 @@ public class GeoShapeQueryBuilder extends AbstractGeometryQueryBuilder<GeoShapeQ
|
|||
|
||||
GeoShapeQueryBuilder builder;
|
||||
if (pgsqp.type != null) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.TYPES, "geo_share_query_with_types", TYPES_DEPRECATION_MESSAGE);
|
||||
deprecationLogger.critical(DeprecationCategory.TYPES, "geo_share_query_with_types", TYPES_DEPRECATION_MESSAGE);
|
||||
}
|
||||
|
||||
if (pgsqp.shape != null) {
|
||||
|
|
|
@ -141,7 +141,7 @@ public class IdsQueryBuilder extends AbstractQueryBuilder<IdsQueryBuilder> {
|
|||
try {
|
||||
IdsQueryBuilder builder = PARSER.apply(parser, null);
|
||||
if (builder.types().length > 0) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.TYPES, "ids_query_with_types", TYPES_DEPRECATION_MESSAGE);
|
||||
deprecationLogger.critical(DeprecationCategory.TYPES, "ids_query_with_types", TYPES_DEPRECATION_MESSAGE);
|
||||
}
|
||||
return builder;
|
||||
} catch (IllegalArgumentException e) {
|
||||
|
|
|
@ -958,7 +958,7 @@ public class MoreLikeThisQueryBuilder extends AbstractQueryBuilder<MoreLikeThisQ
|
|||
}
|
||||
|
||||
if (moreLikeThisQueryBuilder.isTypeless() == false) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.API, "more_like_this_query_with_types", TYPES_DEPRECATION_MESSAGE);
|
||||
deprecationLogger.critical(DeprecationCategory.API, "more_like_this_query_with_types", TYPES_DEPRECATION_MESSAGE);
|
||||
}
|
||||
return moreLikeThisQueryBuilder;
|
||||
}
|
||||
|
|
|
@ -412,7 +412,7 @@ public class SearchExecutionContext extends QueryRewriteContext {
|
|||
*/
|
||||
public MappedFieldType buildAnonymousFieldType(String type) {
|
||||
if (type.equals("string")) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.MAPPINGS, "unmapped_type_string",
|
||||
deprecationLogger.critical(DeprecationCategory.MAPPINGS, "unmapped_type_string",
|
||||
"[unmapped_type:string] should be replaced with [unmapped_type:keyword]");
|
||||
type = "keyword";
|
||||
}
|
||||
|
|
|
@ -118,7 +118,7 @@ public class TypeQueryBuilder extends AbstractQueryBuilder<TypeQueryBuilder> {
|
|||
|
||||
@Override
|
||||
protected Query doToQuery(SearchExecutionContext context) throws IOException {
|
||||
deprecationLogger.deprecate(DeprecationCategory.TYPES, "type_query", TYPES_DEPRECATION_MESSAGE);
|
||||
deprecationLogger.critical(DeprecationCategory.TYPES, "type_query", TYPES_DEPRECATION_MESSAGE);
|
||||
if (context.getType().equals(type)) {
|
||||
return Queries.newNonNestedFilter(context.indexVersionCreated());
|
||||
} else {
|
||||
|
|
|
@ -152,7 +152,7 @@ public class RandomScoreFunctionBuilder extends ScoreFunctionBuilder<RandomScore
|
|||
} else {
|
||||
String fieldName;
|
||||
if (field == null) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.QUERIES, "seed_requires_field",
|
||||
deprecationLogger.critical(DeprecationCategory.QUERIES, "seed_requires_field",
|
||||
"As of version 7.0 Elasticsearch will require that a [field] parameter is provided when a [seed] is set");
|
||||
fieldName = IdFieldMapper.NAME;
|
||||
} else {
|
||||
|
|
|
@ -363,7 +363,7 @@ public class ReindexRequest extends AbstractBulkIndexByScrollRequest<ReindexRequ
|
|||
}
|
||||
String[] types = extractStringArray(source, "type");
|
||||
if (types != null) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.TYPES, "reindex_with_types", TYPES_DEPRECATION_MESSAGE);
|
||||
deprecationLogger.critical(DeprecationCategory.TYPES, "reindex_with_types", TYPES_DEPRECATION_MESSAGE);
|
||||
request.getSearchRequest().types(types);
|
||||
}
|
||||
request.setRemoteInfo(buildRemoteInfo(source));
|
||||
|
@ -379,7 +379,7 @@ public class ReindexRequest extends AbstractBulkIndexByScrollRequest<ReindexRequ
|
|||
ObjectParser<IndexRequest, Void> destParser = new ObjectParser<>("dest");
|
||||
destParser.declareString(IndexRequest::index, new ParseField("index"));
|
||||
destParser.declareString((request, type) -> {
|
||||
deprecationLogger.deprecate(DeprecationCategory.TYPES, "reindex_with_types", TYPES_DEPRECATION_MESSAGE);
|
||||
deprecationLogger.critical(DeprecationCategory.TYPES, "reindex_with_types", TYPES_DEPRECATION_MESSAGE);
|
||||
request.type(type);
|
||||
}, new ParseField("type"));
|
||||
destParser.declareString(IndexRequest::routing, new ParseField("routing"));
|
||||
|
|
|
@ -132,7 +132,7 @@ final class SimilarityProviders {
|
|||
throw new IllegalArgumentException("Basic model [" + basicModel + "] isn't supported anymore, " +
|
||||
"please use another model.");
|
||||
} else {
|
||||
deprecationLogger.deprecate(DeprecationCategory.QUERIES, basicModel + "_similarity_model_replaced",
|
||||
deprecationLogger.critical(DeprecationCategory.QUERIES, basicModel + "_similarity_model_replaced",
|
||||
"Basic model [" + basicModel + "] isn't supported anymore and has arbitrarily been replaced with ["
|
||||
+ replacement + "].");
|
||||
model = BASIC_MODELS.get(replacement);
|
||||
|
@ -164,7 +164,7 @@ final class SimilarityProviders {
|
|||
throw new IllegalArgumentException("After effect [" + afterEffect +
|
||||
"] isn't supported anymore, please use another effect.");
|
||||
} else {
|
||||
deprecationLogger.deprecate(DeprecationCategory.QUERIES, afterEffect + "_after_effect_replaced",
|
||||
deprecationLogger.critical(DeprecationCategory.QUERIES, afterEffect + "_after_effect_replaced",
|
||||
"After effect [" + afterEffect + "] isn't supported anymore and has arbitrarily been replaced with ["
|
||||
+ replacement + "].");
|
||||
effect = AFTER_EFFECTS.get(replacement);
|
||||
|
@ -255,7 +255,7 @@ final class SimilarityProviders {
|
|||
if (version.onOrAfter(Version.V_7_0_0)) {
|
||||
throw new IllegalArgumentException("Unknown settings for similarity of type [" + type + "]: " + unknownSettings);
|
||||
} else {
|
||||
deprecationLogger.deprecate(DeprecationCategory.QUERIES, "unknown_similarity_setting",
|
||||
deprecationLogger.critical(DeprecationCategory.QUERIES, "unknown_similarity_setting",
|
||||
"Unknown settings for similarity of type [" + type + "]: " + unknownSettings);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -55,7 +55,7 @@ public final class SimilarityService {
|
|||
} else {
|
||||
final ClassicSimilarity similarity = SimilarityProviders.createClassicSimilarity(Settings.EMPTY, version);
|
||||
return () -> {
|
||||
deprecationLogger.deprecate(DeprecationCategory.QUERIES, "classic_similarity",
|
||||
deprecationLogger.critical(DeprecationCategory.QUERIES, "classic_similarity",
|
||||
"The [classic] similarity is now deprecated in favour of BM25, which is generally "
|
||||
+ "accepted as a better alternative. Use the [BM25] similarity or build a custom [scripted] similarity "
|
||||
+ "instead.");
|
||||
|
@ -79,7 +79,7 @@ public final class SimilarityService {
|
|||
throw new IllegalArgumentException("The [classic] similarity may not be used anymore. Please use the [BM25] "
|
||||
+ "similarity or build a custom [scripted] similarity instead.");
|
||||
} else {
|
||||
deprecationLogger.deprecate(DeprecationCategory.QUERIES, "classic_similarity",
|
||||
deprecationLogger.critical(DeprecationCategory.QUERIES, "classic_similarity",
|
||||
"The [classic] similarity is now deprecated in favour of BM25, which is generally "
|
||||
+ "accepted as a better alternative. Use the [BM25] similarity or build a custom [scripted] similarity "
|
||||
+ "instead.");
|
||||
|
@ -143,7 +143,7 @@ public final class SimilarityService {
|
|||
defaultSimilarity = (providers.get("default") != null) ? providers.get("default").get()
|
||||
: providers.get(SimilarityService.DEFAULT_SIMILARITY).get();
|
||||
if (providers.get("base") != null) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.QUERIES, "base_similarity_ignored",
|
||||
deprecationLogger.critical(DeprecationCategory.QUERIES, "base_similarity_ignored",
|
||||
"The [base] similarity is ignored since query normalization and coords have been removed");
|
||||
}
|
||||
}
|
||||
|
@ -264,7 +264,7 @@ public final class SimilarityService {
|
|||
if (indexCreatedVersion.onOrAfter(Version.V_7_0_0)) {
|
||||
throw new IllegalArgumentException(message);
|
||||
} else if (indexCreatedVersion.onOrAfter(Version.V_6_5_0)) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.QUERIES, "similarity_failure", message);
|
||||
deprecationLogger.critical(DeprecationCategory.QUERIES, "similarity_failure", message);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -114,7 +114,7 @@ public final class AnalysisModule {
|
|||
@Override
|
||||
public TokenFilterFactory get(IndexSettings indexSettings, Environment environment, String name, Settings settings) {
|
||||
if (indexSettings.getIndexVersionCreated().before(Version.V_7_0_0)) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.ANALYSIS, "standard_deprecation",
|
||||
deprecationLogger.critical(DeprecationCategory.ANALYSIS, "standard_deprecation",
|
||||
"The [standard] token filter name is deprecated and will be removed in a future version.");
|
||||
} else {
|
||||
throw new IllegalArgumentException("The [standard] token filter has been removed.");
|
||||
|
@ -175,7 +175,7 @@ public final class AnalysisModule {
|
|||
// in certain circumstances to create a new index referencing the standard token filter
|
||||
// until version 7_5_2
|
||||
if (version.before(Version.V_7_6_0)) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.ANALYSIS, "standard_deprecation",
|
||||
deprecationLogger.critical(DeprecationCategory.ANALYSIS, "standard_deprecation",
|
||||
"The [standard] token filter is deprecated and will be removed in a future version.");
|
||||
} else {
|
||||
throw new IllegalArgumentException("The [standard] token filter has been removed.");
|
||||
|
|
|
@ -150,7 +150,7 @@ public class SyncedFlushService implements IndexEventListener {
|
|||
final ActionListener<SyncedFlushResponse> listener) {
|
||||
final ClusterState state = clusterService.state();
|
||||
if (state.nodes().getMinNodeVersion().onOrAfter(Version.V_7_6_0)) {
|
||||
DEPRECATION_LOGGER.deprecate(DeprecationCategory.API, "synced_flush", SYNCED_FLUSH_DEPRECATION_MESSAGE);
|
||||
DEPRECATION_LOGGER.critical(DeprecationCategory.API, "synced_flush", SYNCED_FLUSH_DEPRECATION_MESSAGE);
|
||||
}
|
||||
final Index[] concreteIndices = indexNameExpressionResolver.concreteIndices(state, indicesOptions, aliasesOrIndices);
|
||||
final Map<String, List<ShardsSyncedFlushResult>> results = ConcurrentCollections.newConcurrentMap();
|
||||
|
|
|
@ -38,7 +38,7 @@ public class ConditionalProcessor extends AbstractProcessor implements WrappingP
|
|||
private static final DeprecationLogger deprecationLogger = DeprecationLogger.getLogger(DynamicMap.class);
|
||||
private static final Map<String, Function<Object, Object>> FUNCTIONS = org.elasticsearch.core.Map.of(
|
||||
"_type", value -> {
|
||||
deprecationLogger.deprecate(DeprecationCategory.SCRIPTING, "conditional-processor__type",
|
||||
deprecationLogger.critical(DeprecationCategory.SCRIPTING, "conditional-processor__type",
|
||||
"[types removal] Looking up doc types [_type] in scripts is deprecated.");
|
||||
return value;
|
||||
});
|
||||
|
|
|
@ -324,7 +324,7 @@ public class Node implements Closeable {
|
|||
logger.info("JVM home [{}], using bundled JDK [{}]", System.getProperty("java.home"), jvmInfo.getUsingBundledJdk());
|
||||
} else {
|
||||
logger.info("JVM home [{}]", System.getProperty("java.home"));
|
||||
deprecationLogger.deprecate(
|
||||
deprecationLogger.critical(
|
||||
DeprecationCategory.OTHER,
|
||||
"no-jdk",
|
||||
"no-jdk distributions that do not bundle a JDK are deprecated and will be removed in a future release");
|
||||
|
@ -338,7 +338,7 @@ public class Node implements Closeable {
|
|||
if (Environment.PATH_SHARED_DATA_SETTING.exists(tmpSettings)) {
|
||||
// NOTE: this must be done with an explicit check here because the deprecation property on a path setting will
|
||||
// cause ES to fail to start since logging is not yet initialized on first read of the setting
|
||||
deprecationLogger.deprecate(
|
||||
deprecationLogger.critical(
|
||||
DeprecationCategory.SETTINGS,
|
||||
"shared-data-path",
|
||||
"setting [path.shared_data] is deprecated and will be removed in a future release"
|
||||
|
@ -347,13 +347,13 @@ public class Node implements Closeable {
|
|||
|
||||
if (initialEnvironment.dataFiles().length > 1) {
|
||||
// NOTE: we use initialEnvironment here, but assertEquivalent below ensures the data paths do not change
|
||||
deprecationLogger.deprecate(DeprecationCategory.SETTINGS, "multiple-data-paths",
|
||||
deprecationLogger.critical(DeprecationCategory.SETTINGS, "multiple-data-paths",
|
||||
"Configuring multiple [path.data] paths is deprecated. Use RAID or other system level features for utilizing " +
|
||||
"multiple disks. This feature will be removed in 8.0.");
|
||||
}
|
||||
if (Environment.dataPathUsesList(tmpSettings)) {
|
||||
// already checked for multiple values above, so if this is a list it is a single valued list
|
||||
deprecationLogger.deprecate(DeprecationCategory.SETTINGS, "multiple-data-paths-list",
|
||||
deprecationLogger.critical(DeprecationCategory.SETTINGS, "multiple-data-paths-list",
|
||||
"Configuring [path.data] with a list is deprecated. Instead specify as a string value.");
|
||||
}
|
||||
|
||||
|
@ -402,7 +402,7 @@ public class Node implements Closeable {
|
|||
if (maybeLegacyRoleSettings.isEmpty() == false) {
|
||||
final String legacyRoleSettingNames =
|
||||
maybeLegacyRoleSettings.stream().map(Setting::getKey).collect(Collectors.joining(", "));
|
||||
deprecationLogger.deprecate(
|
||||
deprecationLogger.critical(
|
||||
DeprecationCategory.SETTINGS,
|
||||
"legacy role settings",
|
||||
"legacy role settings [{}] are deprecated, use [node.roles={}]",
|
||||
|
|
|
@ -53,7 +53,7 @@ public class DeprecationRestHandler implements RestHandler {
|
|||
*/
|
||||
@Override
|
||||
public void handleRequest(RestRequest request, RestChannel channel, NodeClient client) throws Exception {
|
||||
deprecationLogger.deprecate(DeprecationCategory.API, deprecationKey, deprecationMessage);
|
||||
deprecationLogger.critical(DeprecationCategory.API, deprecationKey, deprecationMessage);
|
||||
|
||||
handler.handleRequest(request, channel, client);
|
||||
}
|
||||
|
|
|
@ -54,7 +54,7 @@ public class RestCloseIndexAction extends BaseRestHandler {
|
|||
closeIndexRequest.indicesOptions(IndicesOptions.fromRequest(request, closeIndexRequest.indicesOptions()));
|
||||
String waitForActiveShards = request.param("wait_for_active_shards");
|
||||
if (waitForActiveShards == null) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.API, "close-index-wait_for_active_shards-default",
|
||||
deprecationLogger.critical(DeprecationCategory.API, "close-index-wait_for_active_shards-default",
|
||||
WAIT_FOR_ACTIVE_SHARDS_DEFAULT_DEPRECATION_MESSAGE);
|
||||
} else if ("index-setting".equalsIgnoreCase(waitForActiveShards)) {
|
||||
closeIndexRequest.waitForActiveShards(ActiveShardCount.DEFAULT);
|
||||
|
|
|
@ -50,7 +50,7 @@ public class RestCreateIndexAction extends BaseRestHandler {
|
|||
DEFAULT_INCLUDE_TYPE_NAME_POLICY);
|
||||
|
||||
if (request.hasParam(INCLUDE_TYPE_NAME_PARAMETER)) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.TYPES, "create_index_with_types", TYPES_DEPRECATION_MESSAGE);
|
||||
deprecationLogger.critical(DeprecationCategory.TYPES, "create_index_with_types", TYPES_DEPRECATION_MESSAGE);
|
||||
}
|
||||
|
||||
CreateIndexRequest createIndexRequest = new CreateIndexRequest(request.param("index"));
|
||||
|
|
|
@ -49,7 +49,7 @@ public class RestForceMergeAction extends BaseRestHandler {
|
|||
mergeRequest.onlyExpungeDeletes(request.paramAsBoolean("only_expunge_deletes", mergeRequest.onlyExpungeDeletes()));
|
||||
mergeRequest.flush(request.paramAsBoolean("flush", mergeRequest.flush()));
|
||||
if (mergeRequest.onlyExpungeDeletes() && mergeRequest.maxNumSegments() != ForceMergeRequest.Defaults.MAX_NUM_SEGMENTS) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.API, "force_merge_expunge_deletes_and_max_num_segments_deprecation",
|
||||
deprecationLogger.critical(DeprecationCategory.API, "force_merge_expunge_deletes_and_max_num_segments_deprecation",
|
||||
"setting only_expunge_deletes and max_num_segments at the same time is deprecated and will be rejected in a future version");
|
||||
}
|
||||
return channel -> client.admin().indices().forceMerge(mergeRequest, new RestToXContentListener<>(channel));
|
||||
|
|
|
@ -70,7 +70,7 @@ public class RestGetFieldMappingAction extends BaseRestHandler {
|
|||
" is set to true.");
|
||||
}
|
||||
if (request.hasParam(INCLUDE_TYPE_NAME_PARAMETER)) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.TYPES, "get_field_mapping_with_types", TYPES_DEPRECATION_MESSAGE);
|
||||
deprecationLogger.critical(DeprecationCategory.TYPES, "get_field_mapping_with_types", TYPES_DEPRECATION_MESSAGE);
|
||||
}
|
||||
|
||||
GetFieldMappingsRequest getMappingsRequest = new GetFieldMappingsRequest();
|
||||
|
@ -78,7 +78,7 @@ public class RestGetFieldMappingAction extends BaseRestHandler {
|
|||
getMappingsRequest.indicesOptions(IndicesOptions.fromRequest(request, getMappingsRequest.indicesOptions()));
|
||||
|
||||
if (request.hasParam("local")) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.API, "get_field_mapping_local",
|
||||
deprecationLogger.critical(DeprecationCategory.API, "get_field_mapping_local",
|
||||
"Use [local] in get field mapping requests is deprecated. "
|
||||
+ "The parameter will be removed in the next major version");
|
||||
}
|
||||
|
|
|
@ -63,7 +63,7 @@ public class RestGetIndexTemplateAction extends BaseRestHandler {
|
|||
|
||||
final GetIndexTemplatesRequest getIndexTemplatesRequest = new GetIndexTemplatesRequest(names);
|
||||
if (request.hasParam(INCLUDE_TYPE_NAME_PARAMETER)) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.TYPES, "get_index_template_include_type_name", TYPES_DEPRECATION_MESSAGE);
|
||||
deprecationLogger.critical(DeprecationCategory.TYPES, "get_index_template_include_type_name", TYPES_DEPRECATION_MESSAGE);
|
||||
}
|
||||
getIndexTemplatesRequest.local(request.paramAsBoolean("local", getIndexTemplatesRequest.local()));
|
||||
getIndexTemplatesRequest.masterNodeTimeout(request.paramAsTime("master_timeout", getIndexTemplatesRequest.masterNodeTimeout()));
|
||||
|
|
|
@ -62,7 +62,7 @@ public class RestGetIndicesAction extends BaseRestHandler {
|
|||
String[] indices = Strings.splitStringByCommaToArray(request.param("index"));
|
||||
// starting with 7.0 we don't include types by default in the response to GET requests
|
||||
if (request.hasParam(INCLUDE_TYPE_NAME_PARAMETER) && request.method().equals(GET)) {
|
||||
deprecationLogger.deprecate(DeprecationCategory.TYPES, "get_indices_with_types", TYPES_DEPRECATION_MESSAGE);
|
||||
deprecationLogger.critical(DeprecationCategory.TYPES, "get_indices_with_types", TYPES_DEPRECATION_MESSAGE);
|
||||
}
|
||||
final GetIndexRequest getIndexRequest = new GetIndexRequest();
|
||||
getIndexRequest.indices(indices);
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue