Skip to content

Commit 4882b93

Browse files
authored
Issue deprecation warnings when preconfigured delimited_payload_filter is used (#43684)
#26625 deprecated delimited_payload_filter and added tests to check that warnings would be emitted when both a normal and pre-configured filter were used. Unfortunately, due to a bug in the Analyze API, the pre- configured filter check was never actually triggered, and it turns out that the deprecation warning was not in fact being emitted in this case. #43568 fixed the Analyze API bug, which then surfaced this on backport. This commit ensures that the preconfigured filter also emits the warnings and triggers an error if a new index tries to use a preconfigured delimited_payload_filter
1 parent 8ff5519 commit 4882b93

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/CommonAnalysisPlugin.java

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -405,10 +405,18 @@ public List<PreConfiguredTokenFilter> getPreConfiguredTokenFilters() {
405405
input -> new CommonGramsFilter(input, CharArraySet.EMPTY_SET)));
406406
filters.add(PreConfiguredTokenFilter.singleton("czech_stem", false, CzechStemFilter::new));
407407
filters.add(PreConfiguredTokenFilter.singleton("decimal_digit", true, DecimalDigitFilter::new));
408-
filters.add(PreConfiguredTokenFilter.singleton("delimited_payload_filter", false, input ->
409-
new DelimitedPayloadTokenFilter(input,
410-
DelimitedPayloadTokenFilterFactory.DEFAULT_DELIMITER,
411-
DelimitedPayloadTokenFilterFactory.DEFAULT_ENCODER)));
408+
filters.add(PreConfiguredTokenFilter.singletonWithVersion("delimited_payload_filter", false, (input, version) -> {
409+
if (version.onOrAfter(Version.V_7_0_0)) {
410+
throw new IllegalArgumentException(
411+
"[delimited_payload_filter] is not supported for new indices, use [delimited_payload] instead");
412+
}
413+
if (version.onOrAfter(Version.V_6_2_0)) {
414+
deprecationLogger.deprecated("Deprecated [delimited_payload_filter] used, replaced by [delimited_payload]");
415+
}
416+
return new DelimitedPayloadTokenFilter(input,
417+
DelimitedPayloadTokenFilterFactory.DEFAULT_DELIMITER,
418+
DelimitedPayloadTokenFilterFactory.DEFAULT_ENCODER);
419+
}));
412420
filters.add(PreConfiguredTokenFilter.singleton("delimited_payload", false, input ->
413421
new DelimitedPayloadTokenFilter(input,
414422
DelimitedPayloadTokenFilterFactory.DEFAULT_DELIMITER,

0 commit comments

Comments
 (0)