Skip to content

Commit 01d9b80

Browse files
committed
Remove special treatment for update-by-doc and update-by-script
1 parent 9e4003c commit 01d9b80

File tree

5 files changed

+14
-38
lines changed

5 files changed

+14
-38
lines changed

server/src/main/java/org/elasticsearch/action/index/IndexRequest.java

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,8 @@ public class IndexRequest extends ReplicatedWriteRequest<IndexRequest> implement
147147
*/
148148
private Object rawTimestamp;
149149
private long normalisedBytesParsed = -1;
150+
151+
// FIXME remove flags
150152
private boolean originatesFromUpdateByScript;
151153
private boolean originatesFromUpdateByDoc;
152154

@@ -976,22 +978,4 @@ public List<String> getExecutedPipelines() {
976978
return Collections.unmodifiableList(executedPipelines);
977979
}
978980
}
979-
980-
public IndexRequest setOriginatesFromUpdateByScript(boolean originatesFromUpdateByScript) {
981-
this.originatesFromUpdateByScript = originatesFromUpdateByScript;
982-
return this;
983-
}
984-
985-
public boolean originatesFromUpdateByScript() {
986-
return originatesFromUpdateByScript;
987-
}
988-
989-
public boolean originatesFromUpdateByDoc() {
990-
return originatesFromUpdateByDoc;
991-
}
992-
993-
public IndexRequest setOriginatesFromUpdateByDoc(boolean originatesFromUpdateByDoc) {
994-
this.originatesFromUpdateByDoc = originatesFromUpdateByDoc;
995-
return this;
996-
}
997981
}

server/src/main/java/org/elasticsearch/action/update/UpdateHelper.java

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,7 @@
2828
import org.elasticsearch.index.mapper.RoutingFieldMapper;
2929
import org.elasticsearch.index.shard.IndexShard;
3030
import org.elasticsearch.index.shard.ShardId;
31-
import org.elasticsearch.plugins.internal.DocumentParsingProvider;
32-
import org.elasticsearch.plugins.internal.XContentMeteringParserDecorator;
31+
import org.elasticsearch.plugins.internal.XContentParserDecorator;
3332
import org.elasticsearch.script.Script;
3433
import org.elasticsearch.script.ScriptService;
3534
import org.elasticsearch.script.UpdateCtxMap;
@@ -51,11 +50,9 @@ public class UpdateHelper {
5150
private static final Logger logger = LogManager.getLogger(UpdateHelper.class);
5251

5352
private final ScriptService scriptService;
54-
private final DocumentParsingProvider documentParsingProvider;
5553

56-
public UpdateHelper(ScriptService scriptService, DocumentParsingProvider documentParsingProvider) {
54+
public UpdateHelper(ScriptService scriptService) {
5755
this.scriptService = scriptService;
58-
this.documentParsingProvider = documentParsingProvider;
5956
}
6057

6158
/**
@@ -183,14 +180,13 @@ static String calculateRouting(GetResult getResult, @Nullable IndexRequest updat
183180
Result prepareUpdateIndexRequest(IndexShard indexShard, UpdateRequest request, GetResult getResult, boolean detectNoop) {
184181
final IndexRequest currentRequest = request.doc();
185182
final String routing = calculateRouting(getResult, currentRequest);
186-
final XContentMeteringParserDecorator meteringParserDecorator = documentParsingProvider.newMeteringParserDecorator(request);
187183
final Tuple<XContentType, Map<String, Object>> sourceAndContent = XContentHelper.convertToMap(getResult.internalSourceRef(), true);
188184
final XContentType updateSourceContentType = sourceAndContent.v1();
189185
final Map<String, Object> updatedSourceAsMap = sourceAndContent.v2();
190186

191187
final boolean noop = XContentHelper.update(
192188
updatedSourceAsMap,
193-
currentRequest.sourceAsMap(meteringParserDecorator),
189+
currentRequest.sourceAsMap(XContentParserDecorator.NOOP),
194190
detectNoop
195191
) == false;
196192

@@ -228,9 +224,7 @@ Result prepareUpdateIndexRequest(IndexShard indexShard, UpdateRequest request, G
228224
.setIfPrimaryTerm(getResult.getPrimaryTerm())
229225
.waitForActiveShards(request.waitForActiveShards())
230226
.timeout(request.timeout())
231-
.setRefreshPolicy(request.getRefreshPolicy())
232-
.setOriginatesFromUpdateByDoc(true);
233-
finalIndexRequest.setNormalisedBytesParsed(meteringParserDecorator.meteredDocumentSize().ingestedBytes());
227+
.setRefreshPolicy(request.getRefreshPolicy());
234228
return new Result(finalIndexRequest, DocWriteResponse.Result.UPDATED, updatedSourceAsMap, updateSourceContentType);
235229
}
236230
}
@@ -272,8 +266,7 @@ Result prepareUpdateScriptRequest(IndexShard indexShard, UpdateRequest request,
272266
.setIfPrimaryTerm(getResult.getPrimaryTerm())
273267
.waitForActiveShards(request.waitForActiveShards())
274268
.timeout(request.timeout())
275-
.setRefreshPolicy(request.getRefreshPolicy())
276-
.setOriginatesFromUpdateByScript(true);
269+
.setRefreshPolicy(request.getRefreshPolicy());
277270
return new Result(indexRequest, DocWriteResponse.Result.UPDATED, updatedSourceAsMap, updateSourceContentType);
278271
}
279272
case DELETE -> {

server/src/main/java/org/elasticsearch/node/NodeConstruction.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ static NodeConstruction prepareConstruction(
283283

284284
ScriptService scriptService = constructor.createScriptService(settingsModule, threadPool, serviceProvider);
285285

286-
constructor.createUpdateHelper(documentParsingProvider, scriptService);
286+
constructor.createUpdateHelper(scriptService);
287287

288288
constructor.construct(
289289
threadPool,
@@ -641,10 +641,10 @@ private DataStreamGlobalRetentionSettings createDataStreamServicesAndGlobalReten
641641
return dataStreamGlobalRetentionSettings;
642642
}
643643

644-
private UpdateHelper createUpdateHelper(DocumentParsingProvider documentParsingProvider, ScriptService scriptService) {
645-
UpdateHelper updateHelper = new UpdateHelper(scriptService, documentParsingProvider);
644+
private UpdateHelper createUpdateHelper(ScriptService scriptService) {
645+
UpdateHelper updateHelper = new UpdateHelper(scriptService);
646646

647-
modules.add(b -> { b.bind(UpdateHelper.class).toInstance(new UpdateHelper(scriptService, documentParsingProvider)); });
647+
modules.add(b -> b.bind(UpdateHelper.class).toInstance(updateHelper));
648648
return updateHelper;
649649
}
650650

server/src/test/java/org/elasticsearch/action/update/UpdateRequestTests.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
import org.elasticsearch.index.mapper.MappingLookup;
2727
import org.elasticsearch.index.shard.IndexShard;
2828
import org.elasticsearch.index.shard.ShardId;
29-
import org.elasticsearch.plugins.internal.DocumentParsingProvider;
3029
import org.elasticsearch.script.MockScriptEngine;
3130
import org.elasticsearch.script.Script;
3231
import org.elasticsearch.script.ScriptEngine;
@@ -121,7 +120,7 @@ public void setUp() throws Exception {
121120
final MockScriptEngine engine = new MockScriptEngine("mock", scripts, Collections.emptyMap());
122121
Map<String, ScriptEngine> engines = Collections.singletonMap(engine.getType(), engine);
123122
ScriptService scriptService = new ScriptService(baseSettings, engines, ScriptModule.CORE_CONTEXTS, () -> 1L);
124-
updateHelper = new UpdateHelper(scriptService, DocumentParsingProvider.EMPTY_INSTANCE);
123+
updateHelper = new UpdateHelper(scriptService);
125124
}
126125

127126
@SuppressWarnings("unchecked")
@@ -594,7 +593,7 @@ public void testNoopDetection() throws Exception {
594593
try (var parser = createParser(JsonXContent.jsonXContent, new BytesArray("{\"doc\": {\"body\": \"foo\"}}"))) {
595594
request = new UpdateRequest("test", "1").fromXContent(parser);
596595
}
597-
UpdateHelper updateHelper = new UpdateHelper(mock(ScriptService.class), DocumentParsingProvider.EMPTY_INSTANCE);
596+
UpdateHelper updateHelper = new UpdateHelper(mock(ScriptService.class));
598597
UpdateHelper.Result result = updateHelper.prepareUpdateIndexRequest(indexShard, request, getResult, true);
599598

600599
assertThat(result.action(), instanceOf(UpdateResponse.class));

server/src/test/java/org/elasticsearch/snapshots/SnapshotResiliencyTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2421,7 +2421,7 @@ public RecyclerBytesStreamOutput newNetworkBytesStream() {
24212421
threadPool,
24222422
shardStateAction,
24232423
mappingUpdatedAction,
2424-
new UpdateHelper(scriptService, DocumentParsingProvider.EMPTY_INSTANCE),
2424+
new UpdateHelper(scriptService),
24252425
actionFilters,
24262426
indexingMemoryLimits,
24272427
EmptySystemIndices.INSTANCE,

0 commit comments

Comments
 (0)