diff --git a/server/src/main/java/org/elasticsearch/TransportVersions.java b/server/src/main/java/org/elasticsearch/TransportVersions.java index 696fe6efe610c..59794e310eb1a 100644 --- a/server/src/main/java/org/elasticsearch/TransportVersions.java +++ b/server/src/main/java/org/elasticsearch/TransportVersions.java @@ -206,6 +206,7 @@ static TransportVersion def(int id) { public static final TransportVersion ESQL_SERIALIZE_SOURCE_FUNCTIONS_WARNINGS = def(9_016_0_00); public static final TransportVersion ESQL_DRIVER_NODE_DESCRIPTION = def(9_017_0_00); public static final TransportVersion MULTI_PROJECT = def(9_018_0_00); + public static final TransportVersion STORED_SCRIPT_CONTENT_LENGTH = def(9_019_0_00); /* * STOP! READ THIS FIRST! No, really, diff --git a/server/src/main/java/org/elasticsearch/action/admin/cluster/storedscripts/PutStoredScriptRequest.java b/server/src/main/java/org/elasticsearch/action/admin/cluster/storedscripts/PutStoredScriptRequest.java index c3bdfc5a594c0..30fdf788e2b33 100644 --- a/server/src/main/java/org/elasticsearch/action/admin/cluster/storedscripts/PutStoredScriptRequest.java +++ b/server/src/main/java/org/elasticsearch/action/admin/cluster/storedscripts/PutStoredScriptRequest.java @@ -9,16 +9,17 @@ package org.elasticsearch.action.admin.cluster.storedscripts; +import org.elasticsearch.TransportVersions; import org.elasticsearch.action.ActionRequestValidationException; import org.elasticsearch.action.support.master.AcknowledgedRequest; import org.elasticsearch.common.Strings; +import org.elasticsearch.common.bytes.BytesArray; import org.elasticsearch.common.bytes.BytesReference; import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; import org.elasticsearch.common.xcontent.XContentHelper; import org.elasticsearch.core.Nullable; import org.elasticsearch.core.TimeValue; -import org.elasticsearch.core.UpdateForV9; import org.elasticsearch.script.StoredScriptSource; import org.elasticsearch.xcontent.ToXContentFragment; import org.elasticsearch.xcontent.XContentBuilder; @@ -37,27 +38,21 @@ public class PutStoredScriptRequest extends AcknowledgedRequest client.execute( diff --git a/server/src/main/java/org/elasticsearch/script/ScriptService.java b/server/src/main/java/org/elasticsearch/script/ScriptService.java index 6bd0ece7909ad..f84f1eb834bfd 100644 --- a/server/src/main/java/org/elasticsearch/script/ScriptService.java +++ b/server/src/main/java/org/elasticsearch/script/ScriptService.java @@ -687,12 +687,12 @@ public void putStoredScript( PutStoredScriptRequest request, ActionListener listener ) { - if (request.content().length() > maxSizeInBytes) { + if (request.contentLength() > maxSizeInBytes) { throw new IllegalArgumentException( "exceeded max allowed stored script size in bytes [" + maxSizeInBytes + "] with size [" - + request.content().length() + + request.contentLength() + "] for script [" + request.id() + "]" diff --git a/server/src/test/java/org/elasticsearch/action/admin/cluster/storedscripts/PutStoredScriptRequestTests.java b/server/src/test/java/org/elasticsearch/action/admin/cluster/storedscripts/PutStoredScriptRequestTests.java index 023e7693f8a47..eff35ddf8013a 100644 --- a/server/src/test/java/org/elasticsearch/action/admin/cluster/storedscripts/PutStoredScriptRequestTests.java +++ b/server/src/test/java/org/elasticsearch/action/admin/cluster/storedscripts/PutStoredScriptRequestTests.java @@ -9,7 +9,6 @@ package org.elasticsearch.action.admin.cluster.storedscripts; -import org.elasticsearch.common.bytes.BytesArray; import org.elasticsearch.common.bytes.BytesReference; import org.elasticsearch.common.io.stream.BytesStreamOutput; import org.elasticsearch.common.io.stream.StreamInput; @@ -22,6 +21,8 @@ import java.io.IOException; import java.util.Collections; +import static org.hamcrest.Matchers.equalTo; + public class PutStoredScriptRequestTests extends ESTestCase { public void testSerialization() throws IOException { @@ -30,18 +31,15 @@ public void testSerialization() throws IOException { TEST_REQUEST_TIMEOUT, "bar", "context", - new BytesArray("{}"), - XContentType.JSON, + 0, new StoredScriptSource("foo", "bar", Collections.emptyMap()) ); - assertEquals(XContentType.JSON, storedScriptRequest.xContentType()); try (BytesStreamOutput output = new BytesStreamOutput()) { storedScriptRequest.writeTo(output); try (StreamInput in = output.bytes().streamInput()) { PutStoredScriptRequest serialized = new PutStoredScriptRequest(in); - assertEquals(XContentType.JSON, serialized.xContentType()); assertEquals(storedScriptRequest.id(), serialized.id()); assertEquals(storedScriptRequest.context(), serialized.context()); } @@ -62,8 +60,7 @@ public void testToXContent() throws IOException { TEST_REQUEST_TIMEOUT, "test1", null, - expectedRequestBody, - xContentType, + expectedRequestBody.length(), StoredScriptSource.parse(expectedRequestBody, xContentType) ); @@ -73,7 +70,6 @@ public void testToXContent() throws IOException { requestBuilder.endObject(); BytesReference actualRequestBody = BytesReference.bytes(requestBuilder); - - assertEquals(expectedRequestBody, actualRequestBody); + assertThat(actualRequestBody.length(), equalTo(expectedRequestBody.length())); } } diff --git a/test/framework/src/main/java/org/elasticsearch/action/admin/cluster/storedscripts/StoredScriptIntegTestUtils.java b/test/framework/src/main/java/org/elasticsearch/action/admin/cluster/storedscripts/StoredScriptIntegTestUtils.java index 0a090af431dae..af1eca07acd26 100644 --- a/test/framework/src/main/java/org/elasticsearch/action/admin/cluster/storedscripts/StoredScriptIntegTestUtils.java +++ b/test/framework/src/main/java/org/elasticsearch/action/admin/cluster/storedscripts/StoredScriptIntegTestUtils.java @@ -39,8 +39,7 @@ public static PutStoredScriptRequest newPutStoredScriptTestRequest(String id, By TEST_REQUEST_TIMEOUT, id, null, - jsonContent, - XContentType.JSON, + jsonContent.length(), StoredScriptSource.parse(jsonContent, XContentType.JSON) ); }