Skip to content

Commit f0704e6

Browse files
dreamer-89github-actions[bot]
authored andcommitted
[Type removal] Remove _type deprecation from script and conditional processor (#3239)
* [Type removal] Remove _type deprecation from script and conditional processor Signed-off-by: Suraj Singh <[email protected]> * Spotless check apply Signed-off-by: Suraj Singh <[email protected]> (cherry picked from commit daed5c1)
1 parent 671feeb commit f0704e6

File tree

5 files changed

+3
-103
lines changed

5 files changed

+3
-103
lines changed

modules/ingest-common/src/main/java/org/opensearch/ingest/common/ScriptProcessor.java

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434

3535
import org.opensearch.common.Nullable;
3636
import org.opensearch.common.bytes.BytesReference;
37-
import org.opensearch.common.logging.DeprecationLogger;
3837
import org.opensearch.common.util.CollectionUtils;
3938
import org.opensearch.common.xcontent.LoggingDeprecationHandler;
4039
import org.opensearch.common.xcontent.NamedXContentRegistry;
@@ -45,7 +44,6 @@
4544
import org.opensearch.ingest.AbstractProcessor;
4645
import org.opensearch.ingest.IngestDocument;
4746
import org.opensearch.ingest.Processor;
48-
import org.opensearch.script.DynamicMap;
4947
import org.opensearch.script.IngestScript;
5048
import org.opensearch.script.Script;
5149
import org.opensearch.script.ScriptException;
@@ -55,7 +53,6 @@
5553
import java.io.InputStream;
5654
import java.util.Arrays;
5755
import java.util.Map;
58-
import java.util.function.Function;
5956

6057
import static org.opensearch.ingest.ConfigurationUtils.newConfigurationException;
6158

@@ -64,12 +61,6 @@
6461
*/
6562
public final class ScriptProcessor extends AbstractProcessor {
6663

67-
private static final DeprecationLogger deprecationLogger = DeprecationLogger.getLogger(DynamicMap.class);
68-
private static final Map<String, Function<Object, Object>> PARAMS_FUNCTIONS = org.opensearch.common.collect.Map.of("_type", value -> {
69-
deprecationLogger.deprecate("script_processor", "[types removal] Looking up doc types [_type] in scripts is deprecated.");
70-
return value;
71-
});
72-
7364
public static final String TYPE = "script";
7465

7566
private final Script script;
@@ -111,7 +102,7 @@ public IngestDocument execute(IngestDocument document) {
111102
} else {
112103
ingestScript = precompiledIngestScript;
113104
}
114-
ingestScript.execute(new DynamicMap(document.getSourceAndMetadata(), PARAMS_FUNCTIONS));
105+
ingestScript.execute(document.getSourceAndMetadata());
115106
CollectionUtils.ensureNoSelfReferences(document.getSourceAndMetadata(), "ingest script");
116107
return document;
117108
}

modules/ingest-common/src/test/java/org/opensearch/ingest/common/ScriptProcessorTests.java

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -105,24 +105,4 @@ private void assertIngestDocument(IngestDocument ingestDocument) {
105105
int bytesTotal = ingestDocument.getFieldValue("bytes_in", Integer.class) + ingestDocument.getFieldValue("bytes_out", Integer.class);
106106
assertThat(ingestDocument.getSourceAndMetadata().get("bytes_total"), is(bytesTotal));
107107
}
108-
109-
public void testTypeDeprecation() throws Exception {
110-
String scriptName = "script";
111-
ScriptService scriptService = new ScriptService(
112-
Settings.builder().build(),
113-
Collections.singletonMap(
114-
Script.DEFAULT_SCRIPT_LANG,
115-
new MockScriptEngine(Script.DEFAULT_SCRIPT_LANG, Collections.singletonMap(scriptName, ctx -> {
116-
ctx.get("_type");
117-
return null;
118-
}), Collections.emptyMap())
119-
),
120-
new HashMap<>(ScriptModule.CORE_CONTEXTS)
121-
);
122-
Script script = new Script(ScriptType.INLINE, Script.DEFAULT_SCRIPT_LANG, scriptName, Collections.emptyMap());
123-
IngestDocument ingestDocument = RandomDocumentPicks.randomIngestDocument(random(), Collections.emptyMap());
124-
ScriptProcessor processor = new ScriptProcessor(randomAlphaOfLength(10), null, script, null, scriptService);
125-
processor.execute(ingestDocument);
126-
assertWarnings("[types removal] Looking up doc types [_type] in scripts is deprecated.");
127-
}
128108
}

server/src/main/java/org/opensearch/ingest/ConditionalProcessor.java

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,6 @@
3232

3333
package org.opensearch.ingest;
3434

35-
import org.opensearch.common.logging.DeprecationLogger;
36-
import org.opensearch.script.DynamicMap;
3735
import org.opensearch.script.IngestConditionalScript;
3836
import org.opensearch.script.Script;
3937
import org.opensearch.script.ScriptException;
@@ -51,7 +49,6 @@
5149
import java.util.Set;
5250
import java.util.concurrent.TimeUnit;
5351
import java.util.function.BiConsumer;
54-
import java.util.function.Function;
5552
import java.util.function.LongSupplier;
5653
import java.util.stream.Collectors;
5754

@@ -64,15 +61,6 @@
6461
*/
6562
public class ConditionalProcessor extends AbstractProcessor implements WrappingProcessor {
6663

67-
private static final DeprecationLogger deprecationLogger = DeprecationLogger.getLogger(DynamicMap.class);
68-
private static final Map<String, Function<Object, Object>> FUNCTIONS = org.opensearch.common.collect.Map.of("_type", value -> {
69-
deprecationLogger.deprecate(
70-
"conditional-processor__type",
71-
"[types removal] Looking up doc types [_type] in scripts is deprecated."
72-
);
73-
return value;
74-
});
75-
7664
static final String TYPE = "conditional";
7765

7866
private final Script condition;
@@ -153,7 +141,7 @@ boolean evaluate(IngestDocument ingestDocument) {
153141
IngestConditionalScript.Factory factory = scriptService.compile(condition, IngestConditionalScript.CONTEXT);
154142
script = factory.newInstance(condition.getParams());
155143
}
156-
return script.execute(new UnmodifiableIngestData(new DynamicMap(ingestDocument.getSourceAndMetadata(), FUNCTIONS)));
144+
return script.execute(new UnmodifiableIngestData(ingestDocument.getSourceAndMetadata()));
157145
}
158146

159147
public Processor getInnerProcessor() {

server/src/main/java/org/opensearch/script/UpdateScript.java

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,7 @@
3232

3333
package org.opensearch.script;
3434

35-
import org.opensearch.common.logging.DeprecationLogger;
36-
3735
import java.util.Map;
38-
import java.util.function.Function;
3936

4037
/**
4138
* An update script.
@@ -44,12 +41,6 @@
4441
*/
4542
public abstract class UpdateScript {
4643

47-
private static final DeprecationLogger deprecationLogger = DeprecationLogger.getLogger(DynamicMap.class);
48-
private static final Map<String, Function<Object, Object>> PARAMS_FUNCTIONS = org.opensearch.common.collect.Map.of("_type", value -> {
49-
deprecationLogger.deprecate("update-script", "[types removal] Looking up doc types [_type] in scripts is deprecated.");
50-
return value;
51-
});
52-
5344
public static final String[] PARAMETERS = {};
5445

5546
/** The context used to compile {@link UpdateScript} factories. */
@@ -63,7 +54,7 @@ public abstract class UpdateScript {
6354

6455
public UpdateScript(Map<String, Object> params, Map<String, Object> ctx) {
6556
this.params = params;
66-
this.ctx = new DynamicMap(ctx, PARAMS_FUNCTIONS);
57+
this.ctx = ctx;
6758
}
6859

6960
/** Return the parameters for this script. */

server/src/test/java/org/opensearch/ingest/ConditionalProcessorTests.java

Lines changed: 0 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -163,56 +163,6 @@ public void testActsOnImmutableData() throws Exception {
163163
assertMutatingCtxThrows(ctx -> ((List<Object>) ctx.get("listField")).remove("bar"));
164164
}
165165

166-
public void testTypeDeprecation() throws Exception {
167-
168-
ScriptService scriptService = new ScriptService(
169-
Settings.builder().build(),
170-
Collections.singletonMap(
171-
Script.DEFAULT_SCRIPT_LANG,
172-
new MockScriptEngine(Script.DEFAULT_SCRIPT_LANG, Collections.singletonMap(scriptName, ctx -> {
173-
ctx.get("_type");
174-
return true;
175-
}), Collections.emptyMap())
176-
),
177-
new HashMap<>(ScriptModule.CORE_CONTEXTS)
178-
);
179-
180-
LongSupplier relativeTimeProvider = mock(LongSupplier.class);
181-
when(relativeTimeProvider.getAsLong()).thenReturn(0L, TimeUnit.MILLISECONDS.toNanos(1), 0L, TimeUnit.MILLISECONDS.toNanos(2));
182-
ConditionalProcessor processor = new ConditionalProcessor(
183-
randomAlphaOfLength(10),
184-
"description",
185-
new Script(ScriptType.INLINE, Script.DEFAULT_SCRIPT_LANG, scriptName, Collections.emptyMap()),
186-
scriptService,
187-
new Processor() {
188-
@Override
189-
public IngestDocument execute(final IngestDocument ingestDocument) {
190-
return ingestDocument;
191-
}
192-
193-
@Override
194-
public String getType() {
195-
return null;
196-
}
197-
198-
@Override
199-
public String getTag() {
200-
return null;
201-
}
202-
203-
@Override
204-
public String getDescription() {
205-
return null;
206-
}
207-
},
208-
relativeTimeProvider
209-
);
210-
211-
IngestDocument ingestDocument = RandomDocumentPicks.randomIngestDocument(random(), Collections.emptyMap());
212-
processor.execute(ingestDocument, (result, e) -> {});
213-
assertWarnings("[types removal] Looking up doc types [_type] in scripts is deprecated.");
214-
}
215-
216166
public void testPrecompiledError() {
217167
ScriptService scriptService = MockScriptService.singleContext(
218168
IngestConditionalScript.CONTEXT,

0 commit comments

Comments
 (0)