This is an automated email from the ASF dual-hosted git repository. dsmiley pushed a commit to branch branch_10_0 in repository https://gitbox.apache.org/repos/asf/solr.git
commit 7d78f48e7a798fefa1e94dbbdee0dcd194f9d247 Author: David Smiley <[email protected]> AuthorDate: Fri Nov 7 17:38:00 2025 -0500 SOLR-17069 SOLR-17503: Don't include jetty-jakarta-servlet-api JAR (EE9) (#3838) We should not have this JAR org.eclipse.jetty.toolchain:jetty-jakarta-servlet-api as it is for Jakarta EE 9, and it contains javax XSD definitions. It also contains servlet classes for v5 that compete with jakarta servlet-api v6 that we already depend on in some places. * Use mocking instead of implementing the entire HttpServletRequest and response interfaces. * toml: remove unused jetty lib references * NOTICE: the servlet references were obsolete. The servlet JAR has it's own license file, and isn't CDDL either. (cherry picked from commit 50808cdcdb9c2985aff5995f9ff3f5c8782f1be0) --- gradle/libs.versions.toml | 6 +- solr/api/gradle.lockfile | 1 - solr/benchmark/gradle.lockfile | 1 - solr/core/build.gradle | 5 +- solr/core/gradle.lockfile | 3 +- .../apache/solr/servlet/HttpSolrCallCloudTest.java | 581 ++------------------- .../solr/servlet/TestRequestRateLimiter.java | 386 +------------- solr/cross-dc-manager/gradle.lockfile | 1 - .../jetty-jakarta-servlet-api-5.0.2.jar.sha1 | 1 - solr/modules/analysis-extras/gradle.lockfile | 3 +- solr/modules/clustering/gradle.lockfile | 3 +- solr/modules/cross-dc/gradle.lockfile | 3 +- solr/modules/cuvs/gradle.lockfile | 3 +- solr/modules/extraction/gradle.lockfile | 3 +- solr/modules/gcs-repository/gradle.lockfile | 3 +- solr/modules/jwt-auth/build.gradle | 2 +- solr/modules/jwt-auth/gradle.lockfile | 3 +- solr/modules/langid/gradle.lockfile | 3 +- solr/modules/llm/gradle.lockfile | 3 +- solr/modules/ltr/gradle.lockfile | 3 +- solr/modules/opentelemetry/gradle.lockfile | 3 +- solr/modules/s3-repository/gradle.lockfile | 3 +- solr/modules/scripting/gradle.lockfile | 3 +- solr/modules/sql/gradle.lockfile | 3 +- solr/server/build.gradle | 3 +- solr/server/gradle.lockfile | 3 +- solr/solr-ref-guide/gradle.lockfile | 1 - .../pages/major-changes-in-solr-10.adoc | 3 +- solr/solrj-streaming/gradle.lockfile | 1 - solr/solrj-zookeeper/gradle.lockfile | 1 - solr/solrj/gradle.lockfile | 1 - .../client/solrj/impl/BasicHttpSolrClientTest.java | 1 + solr/test-framework/gradle.lockfile | 1 - solr/webapp/gradle.lockfile | 3 +- 34 files changed, 73 insertions(+), 974 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 43bfc4bb5f0..86f6a33a61d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -83,7 +83,6 @@ dockerfile-baseimage-java = "25" dropwizard-metrics = "4.2.26" eclipse-ecj = "3.39.0" eclipse-jetty = "12.0.27" -eclipse-jettytoolchain = "5.0.2" # @keep jgit version used by git-status.gradle eclipse-jgit = "7.3.0.202506031305-r" essenty = "2.5.0" @@ -122,6 +121,7 @@ hsqldb = "2.7.4" ibm-icu = "77.1" immutables-valueannotations = "2.10.1" j256-simplemagic = "1.17" +# Keep these Jakarta versions aligned with EE 10 jakarta-annotation = "2.1.1" jakarta-inject = "2.0.1" jakarta-servlet = "6.0.0" @@ -332,7 +332,6 @@ eclipse-jetty-alpnjavaserver = { module = "org.eclipse.jetty:jetty-alpn-java-ser eclipse-jetty-alpnserver = { module = "org.eclipse.jetty:jetty-alpn-server", version.ref = "eclipse-jetty" } eclipse-jetty-client = { module = "org.eclipse.jetty:jetty-client", version.ref = "eclipse-jetty" } eclipse-jetty-deploy = { module = "org.eclipse.jetty:jetty-deploy", version.ref = "eclipse-jetty" } -eclipse-jetty-ee = { module = "org.eclipse.jetty:jetty-ee", version.ref = "eclipse-jetty" } eclipse-jetty-ee10-servlet = { module = "org.eclipse.jetty.ee10:jetty-ee10-servlet", version.ref = "eclipse-jetty" } eclipse-jetty-ee10-servlets = { module = "org.eclipse.jetty.ee10:jetty-ee10-servlets", version.ref = "eclipse-jetty" } eclipse-jetty-ee10-webapp = { module = "org.eclipse.jetty.ee10:jetty-ee10-webapp", version.ref = "eclipse-jetty" } @@ -344,14 +343,11 @@ eclipse-jetty-http2-httpclienttransport = { module = "org.eclipse.jetty.http2:je eclipse-jetty-http2-server = { module = "org.eclipse.jetty.http2:jetty-http2-server", version.ref = "eclipse-jetty" } eclipse-jetty-io = { module = "org.eclipse.jetty:jetty-io", version.ref = "eclipse-jetty" } eclipse-jetty-jmx = { module = "org.eclipse.jetty:jetty-jmx", version.ref = "eclipse-jetty" } -eclipse-jetty-jndi = { module = "org.eclipse.jetty:jetty-jndi", version.ref = "eclipse-jetty" } -eclipse-jetty-plus = { module = "org.eclipse.jetty:jetty-plus", version.ref = "eclipse-jetty" } eclipse-jetty-rewrite = { module = "org.eclipse.jetty:jetty-rewrite", version.ref = "eclipse-jetty" } eclipse-jetty-security = { module = "org.eclipse.jetty:jetty-security", version.ref = "eclipse-jetty" } eclipse-jetty-server = { module = "org.eclipse.jetty:jetty-server", version.ref = "eclipse-jetty" } eclipse-jetty-session = { module = "org.eclipse.jetty:jetty-session", version.ref = "eclipse-jetty" } eclipse-jetty-start = { module = "org.eclipse.jetty:jetty-start", version.ref = "eclipse-jetty" } -eclipse-jetty-toolchain-servletapi = { module = "org.eclipse.jetty.toolchain:jetty-jakarta-servlet-api", version.ref = "eclipse-jettytoolchain" } eclipse-jetty-util = { module = "org.eclipse.jetty:jetty-util", version.ref = "eclipse-jetty" } eclipse-jetty-xml = { module = "org.eclipse.jetty:jetty-xml", version.ref = "eclipse-jetty" } eclipse-jgit-jgit = { module = "org.eclipse.jgit:org.eclipse.jgit", version.ref = "eclipse-jgit" } diff --git a/solr/api/gradle.lockfile b/solr/api/gradle.lockfile index f0f31acca93..80e1151820b 100644 --- a/solr/api/gradle.lockfile +++ b/solr/api/gradle.lockfile @@ -130,7 +130,6 @@ org.eclipse.jetty.http2:jetty-http2-client:12.0.27=jarValidation,testCompileClas org.eclipse.jetty.http2:jetty-http2-common:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-server:12.0.27=jarValidation,testRuntimeClasspath -org.eclipse.jetty.toolchain:jetty-jakarta-servlet-api:5.0.2=jarValidation,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-client:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-client:12.0.27=jarValidation,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-server:12.0.27=jarValidation,testRuntimeClasspath diff --git a/solr/benchmark/gradle.lockfile b/solr/benchmark/gradle.lockfile index bedee55d6b8..c69eb9ea37a 100644 --- a/solr/benchmark/gradle.lockfile +++ b/solr/benchmark/gradle.lockfile @@ -121,7 +121,6 @@ org.eclipse.jetty.http2:jetty-http2-client:12.0.27=compileClasspath,jarValidatio org.eclipse.jetty.http2:jetty-http2-common:12.0.27=compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-server:12.0.27=jarValidation,runtimeClasspath,testRuntimeClasspath -org.eclipse.jetty.toolchain:jetty-jakarta-servlet-api:5.0.2=jarValidation,runtimeClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-client:12.0.27=compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-client:12.0.27=jarValidation,runtimeClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-server:12.0.27=jarValidation,runtimeClasspath,testRuntimeClasspath diff --git a/solr/core/build.gradle b/solr/core/build.gradle index bbe9b292141..1737714ab2f 100644 --- a/solr/core/build.gradle +++ b/solr/core/build.gradle @@ -67,11 +67,11 @@ dependencies { implementation libs.jersey.core.common implementation libs.jersey.core.server implementation libs.hk2.api + implementation libs.jakarta.inject.api implementation libs.jakarta.ws.rsapi implementation libs.jakarta.annotation.api - - // Non-API below; although there are exceptions + implementation libs.jakarta.servlet.api runtimeOnly libs.apache.lucene.analysis.kuromoji runtimeOnly libs.apache.lucene.analysis.nori @@ -116,7 +116,6 @@ dependencies { implementation libs.eclipse.jetty.client implementation libs.eclipse.jetty.http implementation libs.eclipse.jetty.io - implementation libs.eclipse.jetty.toolchain.servletapi implementation libs.eclipse.jetty.util // ZooKeeper diff --git a/solr/core/gradle.lockfile b/solr/core/gradle.lockfile index 453b1f64320..ccc40fb7f4f 100644 --- a/solr/core/gradle.lockfile +++ b/solr/core/gradle.lockfile @@ -78,7 +78,7 @@ io.swagger.core.v3:swagger-annotations-jakarta:2.2.22=apiHelper,compileClasspath jakarta.activation:jakarta.activation-api:2.1.3=permitUnusedDeclared jakarta.annotation:jakarta.annotation-api:2.1.1=compileClasspath,jarValidation,permitUnusedDeclared,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath jakarta.inject:jakarta.inject-api:2.0.1=compileClasspath,jarValidation,permitUnusedDeclared,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath -jakarta.servlet:jakarta.servlet-api:6.0.0=jarValidation,testCompileClasspath,testRuntimeClasspath +jakarta.servlet:jakarta.servlet-api:6.0.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath jakarta.validation:jakarta.validation-api:3.0.2=compileClasspath,jarValidation,permitUnusedDeclared,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath jakarta.ws.rs:jakarta.ws.rs-api:3.1.0=apiHelper,compileClasspath,jarValidation,permitUnusedDeclared,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath jakarta.xml.bind:jakarta.xml.bind-api:4.0.2=permitUnusedDeclared @@ -140,7 +140,6 @@ org.eclipse.jetty.http2:jetty-http2-client:12.0.27=apiHelper,compileClasspath,ja org.eclipse.jetty.http2:jetty-http2-common:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-server:12.0.27=jarValidation,testRuntimeClasspath -org.eclipse.jetty.toolchain:jetty-jakarta-servlet-api:5.0.2=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-client:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-client:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-server:12.0.27=jarValidation,testRuntimeClasspath diff --git a/solr/core/src/test/org/apache/solr/servlet/HttpSolrCallCloudTest.java b/solr/core/src/test/org/apache/solr/servlet/HttpSolrCallCloudTest.java index 7e6fbf8bd07..447ce487506 100644 --- a/solr/core/src/test/org/apache/solr/servlet/HttpSolrCallCloudTest.java +++ b/solr/core/src/test/org/apache/solr/servlet/HttpSolrCallCloudTest.java @@ -17,45 +17,25 @@ package org.apache.solr.servlet; -import jakarta.servlet.AsyncContext; -import jakarta.servlet.DispatcherType; -import jakarta.servlet.ReadListener; -import jakarta.servlet.RequestDispatcher; -import jakarta.servlet.ServletContext; -import jakarta.servlet.ServletException; -import jakarta.servlet.ServletInputStream; -import jakarta.servlet.ServletOutputStream; -import jakarta.servlet.ServletRequest; -import jakarta.servlet.ServletResponse; import jakarta.servlet.UnavailableException; -import jakarta.servlet.WriteListener; -import jakarta.servlet.http.Cookie; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; -import jakarta.servlet.http.HttpSession; -import jakarta.servlet.http.HttpUpgradeHandler; -import jakarta.servlet.http.Part; -import java.io.BufferedReader; import java.io.IOException; import java.io.PrintWriter; -import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection; import java.net.URI; -import java.security.Principal; -import java.util.Collection; -import java.util.Enumeration; +import java.nio.charset.StandardCharsets; import java.util.HashSet; -import java.util.List; -import java.util.Locale; -import java.util.Map; import java.util.Set; import org.apache.solr.SolrTestCaseJ4; import org.apache.solr.client.solrj.request.CollectionAdminRequest; import org.apache.solr.cloud.AbstractDistribZkTestBase; import org.apache.solr.cloud.SolrCloudTestCase; +import org.apache.solr.common.util.SuppressForbidden; import org.apache.solr.embedded.JettySolrRunner; import org.junit.BeforeClass; import org.junit.Test; +import org.mockito.Mockito; @SolrTestCaseJ4.SuppressSSL public class HttpSolrCallCloudTest extends SolrCloudTestCase { @@ -65,6 +45,7 @@ public class HttpSolrCallCloudTest extends SolrCloudTestCase { @BeforeClass public static void setupCluster() throws Exception { + SolrTestCaseJ4.assumeWorkingMockito(); configureCluster(1) .addConfig( "config", TEST_PATH().resolve("configsets").resolve("cloud-minimal").resolve("conf")) @@ -78,9 +59,9 @@ public class HttpSolrCallCloudTest extends SolrCloudTestCase { @Test public void testCoreChosen() throws Exception { - assertCoreChosen(NUM_SHARD, new TestRequest("/collection1/update")); - assertCoreChosen(NUM_SHARD, new TestRequest("/collection1/update/json")); - assertCoreChosen(NUM_SHARD * REPLICA_FACTOR, new TestRequest("/collection1/select")); + assertCoreChosen(NUM_SHARD, newRequest("/collection1/update")); + assertCoreChosen(NUM_SHARD, newRequest("/collection1/update/json")); + assertCoreChosen(NUM_SHARD * REPLICA_FACTOR, newRequest("/collection1/select")); } // https://issues.apache.org/jira/browse/SOLR-16019 @@ -94,7 +75,8 @@ public class HttpSolrCallCloudTest extends SolrCloudTestCase { assertEquals(400, connection.getResponseCode()); } - private void assertCoreChosen(int numCores, TestRequest testRequest) throws UnavailableException { + private void assertCoreChosen(int numCores, HttpServletRequest testRequest) + throws UnavailableException { JettySolrRunner jettySolrRunner = cluster.getJettySolrRunner(0); Set<String> coreNames = new HashSet<>(); SolrDispatchFilter dispatchFilter = jettySolrRunner.getSolrDispatchFilter(); @@ -102,7 +84,7 @@ public class HttpSolrCallCloudTest extends SolrCloudTestCase { if (coreNames.size() == numCores) return; HttpSolrCall httpSolrCall = new HttpSolrCall( - dispatchFilter, dispatchFilter.getCores(), testRequest, new TestResponse(), false); + dispatchFilter, dispatchFilter.getCores(), testRequest, newResponse(), false); try { httpSolrCall.init(); } catch (Exception e) { @@ -114,523 +96,34 @@ public class HttpSolrCallCloudTest extends SolrCloudTestCase { assertEquals(numCores, coreNames.size()); } - public static class TestRequest implements HttpServletRequest { - private final String path; - - public TestRequest(String path) { - this.path = path; - } - - @Override - public String getAuthType() { - return ""; - } - - @Override - public Cookie[] getCookies() { - return new Cookie[0]; - } - - @Override - public long getDateHeader(String name) { - return 0; - } - - @Override - public String getHeader(String name) { - return ""; - } - - @Override - public Enumeration<String> getHeaders(String name) { - return null; - } - - @Override - public Enumeration<String> getHeaderNames() { - return null; - } - - @Override - public int getIntHeader(String name) { - return 0; - } - - @Override - public String getMethod() { - return ""; - } - - @Override - public String getPathInfo() { - return ""; - } - - @Override - public String getPathTranslated() { - return ""; - } - - @Override - public String getContextPath() { - return ""; - } - - @Override - public String getQueryString() { - return "version=2"; - } - - @Override - public String getRemoteUser() { - return ""; - } - - @Override - public boolean isUserInRole(String role) { - return false; - } - - @Override - public Principal getUserPrincipal() { - return null; - } - - @Override - public String getRequestedSessionId() { - return ""; - } - - @Override - public String getRequestURI() { - return path; - } - - @Override - public StringBuffer getRequestURL() { - return null; - } - - @Override - public String getServletPath() { - return path; - } - - @Override - public HttpSession getSession(boolean create) { - return null; - } - - @Override - public HttpSession getSession() { - return null; - } - - @Override - public String changeSessionId() { - return ""; - } - - @Override - public boolean isRequestedSessionIdValid() { - return false; - } - - @Override - public boolean isRequestedSessionIdFromCookie() { - return false; - } - - @Override - public boolean isRequestedSessionIdFromURL() { - return false; - } - - @Override - public boolean isRequestedSessionIdFromUrl() { - return false; - } - - @Override - public boolean authenticate(HttpServletResponse response) throws IOException, ServletException { - return false; - } - - @Override - public void login(String username, String password) throws ServletException {} - - @Override - public void logout() throws ServletException {} - - @Override - public Collection<Part> getParts() throws IOException, ServletException { - return List.of(); - } - - @Override - public Part getPart(String name) throws IOException, ServletException { - return null; - } - - @Override - public <T extends HttpUpgradeHandler> T upgrade(Class<T> handlerClass) - throws IOException, ServletException { - return null; - } - - @Override - public Object getAttribute(String name) { - return null; - } - - @Override - public Enumeration<String> getAttributeNames() { - return null; - } - - @Override - public String getCharacterEncoding() { - return ""; - } - - @Override - public void setCharacterEncoding(String env) throws UnsupportedEncodingException {} - - @Override - public int getContentLength() { - return 0; - } - - @Override - public long getContentLengthLong() { - return 0; - } - - @Override - public String getContentType() { - return "application/json"; - } - - @Override - public ServletInputStream getInputStream() throws IOException { - return new ServletInputStream() { - @Override - public boolean isFinished() { - return true; - } - - @Override - public boolean isReady() { - return true; - } - - @Override - public void setReadListener(ReadListener readListener) {} - - @Override - public int read() { - return 0; - } - }; - } - - @Override - public String getParameter(String name) { - return ""; - } - - @Override - public Enumeration<String> getParameterNames() { - return null; - } - - @Override - public String[] getParameterValues(String name) { - return new String[0]; - } - - @Override - public Map<String, String[]> getParameterMap() { - return Map.of(); - } - - @Override - public String getProtocol() { - return ""; - } - - @Override - public String getScheme() { - return ""; - } - - @Override - public String getServerName() { - return ""; - } - - @Override - public int getServerPort() { - return 0; - } - - @Override - public BufferedReader getReader() throws IOException { - return null; - } - - @Override - public String getRemoteAddr() { - return ""; - } - - @Override - public String getRemoteHost() { - return ""; - } - - @Override - public void setAttribute(String name, Object o) {} - - @Override - public void removeAttribute(String name) {} - - @Override - public Locale getLocale() { - return null; - } - - @Override - public Enumeration<Locale> getLocales() { - return null; - } - - @Override - public boolean isSecure() { - return false; - } - - @Override - public RequestDispatcher getRequestDispatcher(String path) { - return null; - } - - @Override - public String getRealPath(String path) { - return ""; - } - - @Override - public int getRemotePort() { - return 0; - } - - @Override - public String getLocalName() { - return ""; - } - - @Override - public String getLocalAddr() { - return ""; - } - - @Override - public int getLocalPort() { - return 0; - } - - @Override - public ServletContext getServletContext() { - return null; - } - - @Override - public AsyncContext startAsync() throws IllegalStateException { - return null; - } - - @Override - public AsyncContext startAsync(ServletRequest servletRequest, ServletResponse servletResponse) - throws IllegalStateException { - return null; - } - - @Override - public boolean isAsyncStarted() { - return false; - } - - @Override - public boolean isAsyncSupported() { - return false; - } - - @Override - public AsyncContext getAsyncContext() { - return null; - } - - @Override - public DispatcherType getDispatcherType() { - return null; - } + private static HttpServletRequest newRequest(String path) { + HttpServletRequest req = Mockito.mock(HttpServletRequest.class); + Mockito.when(req.getMethod()).thenReturn("GET"); + Mockito.when(req.getRequestURI()).thenReturn(path); + Mockito.when(req.getServletPath()).thenReturn(path); + Mockito.when(req.getQueryString()).thenReturn("version=2"); + Mockito.when(req.getContentType()).thenReturn("application/json"); + Mockito.when(req.getHeader("Content-Type")).thenReturn("application/json"); + try { + Mockito.when(req.getInputStream()) + .thenReturn(ServletUtils.ClosedServletInputStream.CLOSED_SERVLET_INPUT_STREAM); + } catch (IOException e) { // impossible; only required because we mock methods that throw + throw new RuntimeException(e); + } + return req; } - public static class TestResponse implements HttpServletResponse { - - @Override - public void addCookie(Cookie cookie) {} - - @Override - public boolean containsHeader(String name) { - return false; - } - - @Override - public String encodeURL(String url) { - return ""; - } - - @Override - public String encodeRedirectURL(String url) { - return ""; - } - - @Override - public String encodeUrl(String url) { - return ""; - } - - @Override - public String encodeRedirectUrl(String url) { - return ""; - } - - @Override - public void sendError(int sc, String msg) throws IOException {} - - @Override - public void sendError(int sc) throws IOException {} - - @Override - public void sendRedirect(String location) throws IOException {} - - @Override - public void setDateHeader(String name, long date) {} - - @Override - public void addDateHeader(String name, long date) {} - - @Override - public void setHeader(String name, String value) {} - - @Override - public void addHeader(String name, String value) {} - - @Override - public void setIntHeader(String name, int value) {} - - @Override - public void addIntHeader(String name, int value) {} - - @Override - public void setStatus(int sc) {} - - @Override - public void setStatus(int sc, String sm) {} - - @Override - public int getStatus() { - return 0; - } - - @Override - public String getHeader(String name) { - return ""; - } - - @Override - public Collection<String> getHeaders(String name) { - return List.of(); - } - - @Override - public Collection<String> getHeaderNames() { - return List.of(); - } - - @Override - public String getCharacterEncoding() { - return ""; - } - - @Override - public String getContentType() { - return ""; - } - - @Override - public ServletOutputStream getOutputStream() throws IOException { - return new ServletOutputStream() { - @Override - public boolean isReady() { - return true; - } - - @Override - public void setWriteListener(WriteListener writeListener) {} - - @Override - public void write(int b) {} - }; - } - - @Override - public PrintWriter getWriter() throws IOException { - return null; - } - - @Override - public void setCharacterEncoding(String charset) {} - - @Override - public void setContentLength(int len) {} - - @Override - public void setContentLengthLong(long len) {} - - @Override - public void setContentType(String type) {} - - @Override - public void setBufferSize(int size) {} - - @Override - public int getBufferSize() { - return 0; - } - - @Override - public void flushBuffer() throws IOException {} - - @Override - public void resetBuffer() {} - - @Override - public boolean isCommitted() { - return true; - } - - @Override - public void reset() {} - - @Override - public void setLocale(Locale loc) {} - - @Override - public Locale getLocale() { - return null; - } + @SuppressForbidden(reason = "tests needn't comply") + private static HttpServletResponse newResponse() { + HttpServletResponse resp = Mockito.mock(HttpServletResponse.class); + try { + Mockito.when(resp.getOutputStream()) + .thenReturn(ServletUtils.ClosedServletOutputStream.CLOSED_SERVLET_OUTPUT_STREAM); + Mockito.when(resp.getWriter()) + .thenReturn(new PrintWriter(System.out, false, StandardCharsets.UTF_8)); + } catch (IOException e) { // impossible; only required because we mock methods that throw + throw new RuntimeException(e); + } + return resp; } } diff --git a/solr/core/src/test/org/apache/solr/servlet/TestRequestRateLimiter.java b/solr/core/src/test/org/apache/solr/servlet/TestRequestRateLimiter.java index 53a65ad7f40..f563de91ebd 100644 --- a/solr/core/src/test/org/apache/solr/servlet/TestRequestRateLimiter.java +++ b/solr/core/src/test/org/apache/solr/servlet/TestRequestRateLimiter.java @@ -23,31 +23,11 @@ import static org.apache.solr.servlet.RateLimitManager.DEFAULT_SLOT_ACQUISITION_ import static org.hamcrest.CoreMatchers.containsString; import static org.hamcrest.CoreMatchers.instanceOf; -import jakarta.servlet.AsyncContext; -import jakarta.servlet.DispatcherType; -import jakarta.servlet.RequestDispatcher; -import jakarta.servlet.ServletContext; -import jakarta.servlet.ServletException; -import jakarta.servlet.ServletInputStream; -import jakarta.servlet.ServletRequest; -import jakarta.servlet.ServletResponse; -import jakarta.servlet.http.Cookie; import jakarta.servlet.http.HttpServletRequest; -import jakarta.servlet.http.HttpServletResponse; -import jakarta.servlet.http.HttpSession; -import jakarta.servlet.http.HttpUpgradeHandler; -import jakarta.servlet.http.Part; -import java.io.BufferedReader; import java.io.Closeable; import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.security.Principal; import java.util.ArrayList; -import java.util.Collection; -import java.util.Enumeration; import java.util.List; -import java.util.Locale; -import java.util.Map; import java.util.Random; import java.util.concurrent.Callable; import java.util.concurrent.CountDownLatch; @@ -58,6 +38,7 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.LongAdder; +import org.apache.solr.SolrTestCaseJ4; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.SolrRequest; @@ -72,6 +53,7 @@ import org.apache.solr.common.util.ExecutorUtil; import org.apache.solr.core.RateLimiterConfig; import org.junit.BeforeClass; import org.junit.Test; +import org.mockito.Mockito; public class TestRequestRateLimiter extends SolrCloudTestCase { private static final String FIRST_COLLECTION = "c1"; @@ -79,6 +61,7 @@ public class TestRequestRateLimiter extends SolrCloudTestCase { @BeforeClass public static void setupCluster() throws Exception { + SolrTestCaseJ4.assumeWorkingMockito(); configureCluster(1).addConfig(FIRST_COLLECTION, configset("cloud-minimal")).configure(); } @@ -293,363 +276,16 @@ public class TestRequestRateLimiter extends SolrCloudTestCase { assertTrue(mgr.getRequestRateLimiter(SolrRequest.SolrRequestType.UPDATE).isEmpty()); } - private static final HttpServletRequest QUERY_REQ = new DummyRequest(null, "QUERY"); - private static final HttpServletRequest UPDATE_REQ = new DummyRequest(null, "UPDATE"); - - private static class DummyRequest implements HttpServletRequest { - private final String ctx; - private final String type; - - public DummyRequest(String ctx, String type) { - this.ctx = ctx; - this.type = type; - } - - @Override - public String getAuthType() { - return ""; - } - - @Override - public Cookie[] getCookies() { - return new Cookie[0]; - } - - @Override - public long getDateHeader(String name) { - return 0; - } - - @Override - public String getHeader(String name) { - switch (name) { - case SOLR_REQUEST_CONTEXT_PARAM: - return ctx; - case SOLR_REQUEST_TYPE_PARAM: - return type; - default: - throw new IllegalArgumentException(); - } - } - - @Override - public Enumeration<String> getHeaders(String name) { - return null; - } - - @Override - public Enumeration<String> getHeaderNames() { - return null; - } - - @Override - public int getIntHeader(String name) { - return 0; - } - - @Override - public String getMethod() { - return ""; - } - - @Override - public String getPathInfo() { - return ""; - } - - @Override - public String getPathTranslated() { - return ""; - } - - @Override - public String getContextPath() { - return ""; - } - - @Override - public String getQueryString() { - return ""; - } - - @Override - public String getRemoteUser() { - return ""; - } - - @Override - public boolean isUserInRole(String role) { - return false; - } - - @Override - public Principal getUserPrincipal() { - return null; - } - - @Override - public String getRequestedSessionId() { - return ""; - } - - @Override - public String getRequestURI() { - return ""; - } - - @Override - public StringBuffer getRequestURL() { - return null; - } - - @Override - public String getServletPath() { - return ""; - } - - @Override - public HttpSession getSession(boolean create) { - return null; - } - - @Override - public HttpSession getSession() { - return null; - } - - @Override - public String changeSessionId() { - return ""; - } - - @Override - public boolean isRequestedSessionIdValid() { - return false; - } - - @Override - public boolean isRequestedSessionIdFromCookie() { - return false; - } - - @Override - public boolean isRequestedSessionIdFromURL() { - return false; - } - - @Override - public boolean isRequestedSessionIdFromUrl() { - return false; - } - - @Override - public boolean authenticate(HttpServletResponse response) throws IOException, ServletException { - return false; - } - - @Override - public void login(String username, String password) throws ServletException {} - - @Override - public void logout() throws ServletException {} - - @Override - public Collection<Part> getParts() throws IOException, ServletException { - return List.of(); - } - - @Override - public Part getPart(String name) throws IOException, ServletException { - return null; - } - - @Override - public <T extends HttpUpgradeHandler> T upgrade(Class<T> handlerClass) - throws IOException, ServletException { - return null; - } - - @Override - public Object getAttribute(String name) { - return null; - } - - @Override - public Enumeration<String> getAttributeNames() { - return null; - } - - @Override - public String getCharacterEncoding() { - return ""; - } - - @Override - public void setCharacterEncoding(String env) throws UnsupportedEncodingException {} - - @Override - public int getContentLength() { - return 0; - } - - @Override - public long getContentLengthLong() { - return 0; - } - - @Override - public String getContentType() { - return ""; - } - - @Override - public ServletInputStream getInputStream() throws IOException { - return null; - } - - @Override - public String getParameter(String name) { - return ""; - } - - @Override - public Enumeration<String> getParameterNames() { - return null; - } - - @Override - public String[] getParameterValues(String name) { - return new String[0]; - } - - @Override - public Map<String, String[]> getParameterMap() { - return Map.of(); - } - - @Override - public String getProtocol() { - return ""; - } - - @Override - public String getScheme() { - return ""; - } - - @Override - public String getServerName() { - return ""; - } - - @Override - public int getServerPort() { - return 0; - } - - @Override - public BufferedReader getReader() throws IOException { - return null; - } - - @Override - public String getRemoteAddr() { - return ""; - } - - @Override - public String getRemoteHost() { - return ""; - } - - @Override - public void setAttribute(String name, Object o) {} - - @Override - public void removeAttribute(String name) {} - - @Override - public Locale getLocale() { - return null; - } - - @Override - public Enumeration<Locale> getLocales() { - return null; - } - - @Override - public boolean isSecure() { - return false; - } - - @Override - public RequestDispatcher getRequestDispatcher(String path) { - return null; - } - - @Override - public String getRealPath(String path) { - return ""; - } - - @Override - public int getRemotePort() { - return 0; - } - - @Override - public String getLocalName() { - return ""; - } - - @Override - public String getLocalAddr() { - return ""; - } - - @Override - public int getLocalPort() { - return 0; - } - - @Override - public ServletContext getServletContext() { - return null; - } - - @Override - public AsyncContext startAsync() throws IllegalStateException { - return null; - } - - @Override - public AsyncContext startAsync(ServletRequest servletRequest, ServletResponse servletResponse) - throws IllegalStateException { - return null; - } - - @Override - public boolean isAsyncStarted() { - return false; - } - - @Override - public boolean isAsyncSupported() { - return false; - } - - @Override - public AsyncContext getAsyncContext() { - return null; - } - - @Override - public DispatcherType getDispatcherType() { - return null; - } + private static HttpServletRequest newRequest(String type, String ctx) { + HttpServletRequest req = Mockito.mock(HttpServletRequest.class); + Mockito.when(req.getHeader(SOLR_REQUEST_TYPE_PARAM)).thenReturn(type); + Mockito.when(req.getHeader(SOLR_REQUEST_CONTEXT_PARAM)).thenReturn(ctx); + return req; } + private static final HttpServletRequest QUERY_REQ = newRequest("QUERY", null); + private static final HttpServletRequest UPDATE_REQ = newRequest("UPDATE", null); + @Nightly public void testSlotBorrowing() throws Exception { try (CloudSolrClient client = diff --git a/solr/cross-dc-manager/gradle.lockfile b/solr/cross-dc-manager/gradle.lockfile index 89f6c3c7584..c5725676656 100644 --- a/solr/cross-dc-manager/gradle.lockfile +++ b/solr/cross-dc-manager/gradle.lockfile @@ -161,7 +161,6 @@ org.eclipse.jetty.http2:jetty-http2-client:12.0.27=compileClasspath,jarValidatio org.eclipse.jetty.http2:jetty-http2-common:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-server:12.0.27=jarValidation,solrPlatformLibs,testRuntimeClasspath -org.eclipse.jetty.toolchain:jetty-jakarta-servlet-api:5.0.2=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-client:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-server:12.0.27=jarValidation,solrPlatformLibs,testRuntimeClasspath diff --git a/solr/licenses/jetty-jakarta-servlet-api-5.0.2.jar.sha1 b/solr/licenses/jetty-jakarta-servlet-api-5.0.2.jar.sha1 deleted file mode 100644 index 24ce91c7556..00000000000 --- a/solr/licenses/jetty-jakarta-servlet-api-5.0.2.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -027fce6d666a203526236d33d00e202a4136230f diff --git a/solr/modules/analysis-extras/gradle.lockfile b/solr/modules/analysis-extras/gradle.lockfile index 0755383e6c4..3e404fed263 100644 --- a/solr/modules/analysis-extras/gradle.lockfile +++ b/solr/modules/analysis-extras/gradle.lockfile @@ -72,7 +72,7 @@ io.sgr:s2-geometry-library-java:1.0.0=apiHelper,jarValidation,runtimeClasspath,r io.swagger.core.v3:swagger-annotations-jakarta:2.2.22=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath jakarta.annotation:jakarta.annotation-api:2.1.1=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath jakarta.inject:jakarta.inject-api:2.0.1=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath -jakarta.servlet:jakarta.servlet-api:6.0.0=jarValidation,testCompileClasspath,testRuntimeClasspath +jakarta.servlet:jakarta.servlet-api:6.0.0=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath jakarta.validation:jakarta.validation-api:3.0.2=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath jakarta.ws.rs:jakarta.ws.rs-api:3.1.0=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor @@ -136,7 +136,6 @@ org.eclipse.jetty.http2:jetty-http2-client:12.0.27=apiHelper,compileClasspath,ja org.eclipse.jetty.http2:jetty-http2-common:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-server:12.0.27=jarValidation,testRuntimeClasspath -org.eclipse.jetty.toolchain:jetty-jakarta-servlet-api:5.0.2=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-client:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-client:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-server:12.0.27=jarValidation,testRuntimeClasspath diff --git a/solr/modules/clustering/gradle.lockfile b/solr/modules/clustering/gradle.lockfile index 3956d4fc49a..7f1c903c5f0 100644 --- a/solr/modules/clustering/gradle.lockfile +++ b/solr/modules/clustering/gradle.lockfile @@ -70,7 +70,7 @@ io.sgr:s2-geometry-library-java:1.0.0=jarValidation,runtimeClasspath,runtimeLibs io.swagger.core.v3:swagger-annotations-jakarta:2.2.22=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath jakarta.annotation:jakarta.annotation-api:2.1.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath jakarta.inject:jakarta.inject-api:2.0.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath -jakarta.servlet:jakarta.servlet-api:6.0.0=jarValidation,testCompileClasspath,testRuntimeClasspath +jakarta.servlet:jakarta.servlet-api:6.0.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath jakarta.validation:jakarta.validation-api:3.0.2=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath jakarta.ws.rs:jakarta.ws.rs-api:3.1.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor @@ -124,7 +124,6 @@ org.eclipse.jetty.http2:jetty-http2-client:12.0.27=compileClasspath,jarValidatio org.eclipse.jetty.http2:jetty-http2-common:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-server:12.0.27=jarValidation,testRuntimeClasspath -org.eclipse.jetty.toolchain:jetty-jakarta-servlet-api:5.0.2=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-client:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-server:12.0.27=jarValidation,testRuntimeClasspath diff --git a/solr/modules/cross-dc/gradle.lockfile b/solr/modules/cross-dc/gradle.lockfile index 691dd1cb522..88655f6183f 100644 --- a/solr/modules/cross-dc/gradle.lockfile +++ b/solr/modules/cross-dc/gradle.lockfile @@ -71,7 +71,7 @@ io.sgr:s2-geometry-library-java:1.0.0=apiHelper,jarValidation,runtimeClasspath,r io.swagger.core.v3:swagger-annotations-jakarta:2.2.22=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath jakarta.annotation:jakarta.annotation-api:2.1.1=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath jakarta.inject:jakarta.inject-api:2.0.1=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath -jakarta.servlet:jakarta.servlet-api:6.0.0=jarValidation,testCompileClasspath,testRuntimeClasspath +jakarta.servlet:jakarta.servlet-api:6.0.0=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath jakarta.validation:jakarta.validation-api:3.0.2=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath jakarta.ws.rs:jakarta.ws.rs-api:3.1.0=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor @@ -127,7 +127,6 @@ org.eclipse.jetty.http2:jetty-http2-client:12.0.27=apiHelper,compileClasspath,ja org.eclipse.jetty.http2:jetty-http2-common:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-server:12.0.27=jarValidation,testRuntimeClasspath -org.eclipse.jetty.toolchain:jetty-jakarta-servlet-api:5.0.2=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-client:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-client:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-server:12.0.27=jarValidation,testRuntimeClasspath diff --git a/solr/modules/cuvs/gradle.lockfile b/solr/modules/cuvs/gradle.lockfile index 50bfde70279..07131084b65 100644 --- a/solr/modules/cuvs/gradle.lockfile +++ b/solr/modules/cuvs/gradle.lockfile @@ -72,7 +72,7 @@ io.sgr:s2-geometry-library-java:1.0.0=jarValidation,runtimeClasspath,runtimeLibs io.swagger.core.v3:swagger-annotations-jakarta:2.2.22=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath jakarta.annotation:jakarta.annotation-api:2.1.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath jakarta.inject:jakarta.inject-api:2.0.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath -jakarta.servlet:jakarta.servlet-api:6.0.0=jarValidation,testCompileClasspath,testRuntimeClasspath +jakarta.servlet:jakarta.servlet-api:6.0.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath jakarta.validation:jakarta.validation-api:3.0.2=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath jakarta.ws.rs:jakarta.ws.rs-api:3.1.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor @@ -125,7 +125,6 @@ org.eclipse.jetty.http2:jetty-http2-client:12.0.27=compileClasspath,jarValidatio org.eclipse.jetty.http2:jetty-http2-common:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-server:12.0.27=jarValidation,testRuntimeClasspath -org.eclipse.jetty.toolchain:jetty-jakarta-servlet-api:5.0.2=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-client:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-server:12.0.27=jarValidation,testRuntimeClasspath diff --git a/solr/modules/extraction/gradle.lockfile b/solr/modules/extraction/gradle.lockfile index 0ff229b9282..a8c49ad423c 100644 --- a/solr/modules/extraction/gradle.lockfile +++ b/solr/modules/extraction/gradle.lockfile @@ -73,7 +73,7 @@ io.sgr:s2-geometry-library-java:1.0.0=jarValidation,runtimeClasspath,runtimeLibs io.swagger.core.v3:swagger-annotations-jakarta:2.2.22=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath jakarta.annotation:jakarta.annotation-api:2.1.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath jakarta.inject:jakarta.inject-api:2.0.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath -jakarta.servlet:jakarta.servlet-api:6.0.0=jarValidation,testCompileClasspath,testRuntimeClasspath +jakarta.servlet:jakarta.servlet-api:6.0.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath jakarta.validation:jakarta.validation-api:3.0.2=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath jakarta.ws.rs:jakarta.ws.rs-api:3.1.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor @@ -129,7 +129,6 @@ org.eclipse.jetty.http2:jetty-http2-client:12.0.27=compileClasspath,jarValidatio org.eclipse.jetty.http2:jetty-http2-common:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-server:12.0.27=jarValidation,testRuntimeClasspath -org.eclipse.jetty.toolchain:jetty-jakarta-servlet-api:5.0.2=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-client:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-server:12.0.27=jarValidation,testRuntimeClasspath diff --git a/solr/modules/gcs-repository/gradle.lockfile b/solr/modules/gcs-repository/gradle.lockfile index 5c9b3c36d4b..5b039ec1577 100644 --- a/solr/modules/gcs-repository/gradle.lockfile +++ b/solr/modules/gcs-repository/gradle.lockfile @@ -121,7 +121,7 @@ io.sgr:s2-geometry-library-java:1.0.0=apiHelper,jarValidation,runtimeClasspath,r io.swagger.core.v3:swagger-annotations-jakarta:2.2.22=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath jakarta.annotation:jakarta.annotation-api:2.1.1=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath jakarta.inject:jakarta.inject-api:2.0.1=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath -jakarta.servlet:jakarta.servlet-api:6.0.0=jarValidation,testCompileClasspath,testRuntimeClasspath +jakarta.servlet:jakarta.servlet-api:6.0.0=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath jakarta.validation:jakarta.validation-api:3.0.2=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath jakarta.ws.rs:jakarta.ws.rs-api:3.1.0=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath javax.inject:javax.inject:1=annotationProcessor,errorprone,jarValidation,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath @@ -176,7 +176,6 @@ org.eclipse.jetty.http2:jetty-http2-client:12.0.27=apiHelper,compileClasspath,ja org.eclipse.jetty.http2:jetty-http2-common:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-server:12.0.27=jarValidation,testRuntimeClasspath -org.eclipse.jetty.toolchain:jetty-jakarta-servlet-api:5.0.2=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-client:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-client:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-server:12.0.27=jarValidation,testRuntimeClasspath diff --git a/solr/modules/jwt-auth/build.gradle b/solr/modules/jwt-auth/build.gradle index 8cb1d237bc0..7cc4afb007e 100644 --- a/solr/modules/jwt-auth/build.gradle +++ b/solr/modules/jwt-auth/build.gradle @@ -38,9 +38,9 @@ dependencies { implementation libs.eclipse.jetty.client implementation libs.eclipse.jetty.http - implementation libs.eclipse.jetty.toolchain.servletapi implementation libs.google.guava implementation libs.slf4j.api + implementation libs.jakarta.servlet.api testImplementation project(':solr:test-framework') testImplementation libs.apache.lucene.testframework diff --git a/solr/modules/jwt-auth/gradle.lockfile b/solr/modules/jwt-auth/gradle.lockfile index 53ce9aa43ca..1cb162af3de 100644 --- a/solr/modules/jwt-auth/gradle.lockfile +++ b/solr/modules/jwt-auth/gradle.lockfile @@ -84,7 +84,7 @@ io.sgr:s2-geometry-library-java:1.0.0=jarValidation,runtimeClasspath,runtimeLibs io.swagger.core.v3:swagger-annotations-jakarta:2.2.22=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath jakarta.annotation:jakarta.annotation-api:2.1.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath jakarta.inject:jakarta.inject-api:2.0.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath -jakarta.servlet:jakarta.servlet-api:6.0.0=jarValidation,testCompileClasspath,testRuntimeClasspath +jakarta.servlet:jakarta.servlet-api:6.0.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath jakarta.validation:jakarta.validation-api:3.0.2=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath jakarta.ws.rs:jakarta.ws.rs-api:3.1.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor @@ -148,7 +148,6 @@ org.eclipse.jetty.http2:jetty-http2-client:12.0.27=compileClasspath,jarValidatio org.eclipse.jetty.http2:jetty-http2-common:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-server:12.0.27=jarValidation,testRuntimeClasspath -org.eclipse.jetty.toolchain:jetty-jakarta-servlet-api:5.0.2=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-client:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-server:12.0.27=jarValidation,testRuntimeClasspath diff --git a/solr/modules/langid/gradle.lockfile b/solr/modules/langid/gradle.lockfile index bef5adb997e..f0f9e63cbe9 100644 --- a/solr/modules/langid/gradle.lockfile +++ b/solr/modules/langid/gradle.lockfile @@ -71,7 +71,7 @@ io.sgr:s2-geometry-library-java:1.0.0=jarValidation,runtimeClasspath,runtimeLibs io.swagger.core.v3:swagger-annotations-jakarta:2.2.22=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath jakarta.annotation:jakarta.annotation-api:2.1.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath jakarta.inject:jakarta.inject-api:2.0.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath -jakarta.servlet:jakarta.servlet-api:6.0.0=jarValidation,testCompileClasspath,testRuntimeClasspath +jakarta.servlet:jakarta.servlet-api:6.0.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath jakarta.validation:jakarta.validation-api:3.0.2=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath jakarta.ws.rs:jakarta.ws.rs-api:3.1.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor @@ -126,7 +126,6 @@ org.eclipse.jetty.http2:jetty-http2-client:12.0.27=compileClasspath,jarValidatio org.eclipse.jetty.http2:jetty-http2-common:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-server:12.0.27=jarValidation,testRuntimeClasspath -org.eclipse.jetty.toolchain:jetty-jakarta-servlet-api:5.0.2=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-client:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-server:12.0.27=jarValidation,testRuntimeClasspath diff --git a/solr/modules/llm/gradle.lockfile b/solr/modules/llm/gradle.lockfile index febb1155d26..9e0f104cb20 100644 --- a/solr/modules/llm/gradle.lockfile +++ b/solr/modules/llm/gradle.lockfile @@ -85,7 +85,7 @@ io.sgr:s2-geometry-library-java:1.0.0=jarValidation,runtimeClasspath,runtimeLibs io.swagger.core.v3:swagger-annotations-jakarta:2.2.22=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath jakarta.annotation:jakarta.annotation-api:2.1.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath jakarta.inject:jakarta.inject-api:2.0.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath -jakarta.servlet:jakarta.servlet-api:6.0.0=jarValidation,testCompileClasspath,testRuntimeClasspath +jakarta.servlet:jakarta.servlet-api:6.0.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath jakarta.validation:jakarta.validation-api:3.0.2=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath jakarta.ws.rs:jakarta.ws.rs-api:3.1.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor @@ -138,7 +138,6 @@ org.eclipse.jetty.http2:jetty-http2-client:12.0.27=compileClasspath,jarValidatio org.eclipse.jetty.http2:jetty-http2-common:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-server:12.0.27=jarValidation,testRuntimeClasspath -org.eclipse.jetty.toolchain:jetty-jakarta-servlet-api:5.0.2=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-client:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-server:12.0.27=jarValidation,testRuntimeClasspath diff --git a/solr/modules/ltr/gradle.lockfile b/solr/modules/ltr/gradle.lockfile index 44debb42806..c3ae6edc2b3 100644 --- a/solr/modules/ltr/gradle.lockfile +++ b/solr/modules/ltr/gradle.lockfile @@ -70,7 +70,7 @@ io.sgr:s2-geometry-library-java:1.0.0=jarValidation,runtimeClasspath,runtimeLibs io.swagger.core.v3:swagger-annotations-jakarta:2.2.22=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath jakarta.annotation:jakarta.annotation-api:2.1.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath jakarta.inject:jakarta.inject-api:2.0.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath -jakarta.servlet:jakarta.servlet-api:6.0.0=jarValidation,testCompileClasspath,testRuntimeClasspath +jakarta.servlet:jakarta.servlet-api:6.0.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath jakarta.validation:jakarta.validation-api:3.0.2=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath jakarta.ws.rs:jakarta.ws.rs-api:3.1.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor @@ -124,7 +124,6 @@ org.eclipse.jetty.http2:jetty-http2-client:12.0.27=compileClasspath,jarValidatio org.eclipse.jetty.http2:jetty-http2-common:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-server:12.0.27=jarValidation,testRuntimeClasspath -org.eclipse.jetty.toolchain:jetty-jakarta-servlet-api:5.0.2=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-client:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-server:12.0.27=jarValidation,testRuntimeClasspath diff --git a/solr/modules/opentelemetry/gradle.lockfile b/solr/modules/opentelemetry/gradle.lockfile index f794d05b31c..e2134951102 100644 --- a/solr/modules/opentelemetry/gradle.lockfile +++ b/solr/modules/opentelemetry/gradle.lockfile @@ -102,7 +102,7 @@ io.sgr:s2-geometry-library-java:1.0.0=jarValidation,runtimeClasspath,runtimeLibs io.swagger.core.v3:swagger-annotations-jakarta:2.2.22=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath jakarta.annotation:jakarta.annotation-api:2.1.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath jakarta.inject:jakarta.inject-api:2.0.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath -jakarta.servlet:jakarta.servlet-api:6.0.0=jarValidation,testCompileClasspath,testRuntimeClasspath +jakarta.servlet:jakarta.servlet-api:6.0.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath jakarta.validation:jakarta.validation-api:3.0.2=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath jakarta.ws.rs:jakarta.ws.rs-api:3.1.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor @@ -156,7 +156,6 @@ org.eclipse.jetty.http2:jetty-http2-client:12.0.27=compileClasspath,jarValidatio org.eclipse.jetty.http2:jetty-http2-common:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-server:12.0.27=jarValidation,testRuntimeClasspath -org.eclipse.jetty.toolchain:jetty-jakarta-servlet-api:5.0.2=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-client:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-server:12.0.27=jarValidation,testRuntimeClasspath diff --git a/solr/modules/s3-repository/gradle.lockfile b/solr/modules/s3-repository/gradle.lockfile index 3d1b670cedc..0e5a2d0e222 100644 --- a/solr/modules/s3-repository/gradle.lockfile +++ b/solr/modules/s3-repository/gradle.lockfile @@ -91,7 +91,7 @@ jakarta.enterprise:jakarta.enterprise.cdi-api:4.0.1=jarValidation,testCompileCla jakarta.enterprise:jakarta.enterprise.lang-model:4.0.1=jarValidation,testCompileClasspath,testRuntimeClasspath jakarta.inject:jakarta.inject-api:2.0.1=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath jakarta.interceptor:jakarta.interceptor-api:2.1.0=jarValidation,testCompileClasspath,testRuntimeClasspath -jakarta.servlet:jakarta.servlet-api:6.0.0=jarValidation,testCompileClasspath,testRuntimeClasspath +jakarta.servlet:jakarta.servlet-api:6.0.0=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath jakarta.transaction:jakarta.transaction-api:2.0.1=jarValidation,testCompileClasspath,testRuntimeClasspath jakarta.validation:jakarta.validation-api:3.0.2=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath jakarta.websocket:jakarta.websocket-api:2.1.1=jarValidation,testCompileClasspath,testRuntimeClasspath @@ -161,7 +161,6 @@ org.eclipse.jetty.http2:jetty-http2-client:12.0.27=apiHelper,compileClasspath,ja org.eclipse.jetty.http2:jetty-http2-common:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-server:12.0.27=jarValidation,testRuntimeClasspath -org.eclipse.jetty.toolchain:jetty-jakarta-servlet-api:5.0.2=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.eclipse.jetty.websocket:jetty-websocket-core-client:12.0.12=jarValidation,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.websocket:jetty-websocket-core-common:12.0.12=jarValidation,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.websocket:jetty-websocket-core-server:12.0.12=jarValidation,testCompileClasspath,testRuntimeClasspath diff --git a/solr/modules/scripting/gradle.lockfile b/solr/modules/scripting/gradle.lockfile index 5c53df53d4f..aee3663cffc 100644 --- a/solr/modules/scripting/gradle.lockfile +++ b/solr/modules/scripting/gradle.lockfile @@ -70,7 +70,7 @@ io.sgr:s2-geometry-library-java:1.0.0=jarValidation,runtimeClasspath,runtimeLibs io.swagger.core.v3:swagger-annotations-jakarta:2.2.22=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath jakarta.annotation:jakarta.annotation-api:2.1.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath jakarta.inject:jakarta.inject-api:2.0.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath -jakarta.servlet:jakarta.servlet-api:6.0.0=jarValidation,testCompileClasspath,testRuntimeClasspath +jakarta.servlet:jakarta.servlet-api:6.0.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath jakarta.validation:jakarta.validation-api:3.0.2=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath jakarta.ws.rs:jakarta.ws.rs-api:3.1.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor @@ -123,7 +123,6 @@ org.eclipse.jetty.http2:jetty-http2-client:12.0.27=compileClasspath,jarValidatio org.eclipse.jetty.http2:jetty-http2-common:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-server:12.0.27=jarValidation,testRuntimeClasspath -org.eclipse.jetty.toolchain:jetty-jakarta-servlet-api:5.0.2=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-client:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-server:12.0.27=jarValidation,testRuntimeClasspath diff --git a/solr/modules/sql/gradle.lockfile b/solr/modules/sql/gradle.lockfile index 890237bbc88..e4e28c6495f 100644 --- a/solr/modules/sql/gradle.lockfile +++ b/solr/modules/sql/gradle.lockfile @@ -73,7 +73,7 @@ io.sgr:s2-geometry-library-java:1.0.0=jarValidation,runtimeClasspath,runtimeLibs io.swagger.core.v3:swagger-annotations-jakarta:2.2.22=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath jakarta.annotation:jakarta.annotation-api:2.1.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath jakarta.inject:jakarta.inject-api:2.0.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath -jakarta.servlet:jakarta.servlet-api:6.0.0=jarValidation,testCompileClasspath,testRuntimeClasspath +jakarta.servlet:jakarta.servlet-api:6.0.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath jakarta.validation:jakarta.validation-api:3.0.2=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath jakarta.ws.rs:jakarta.ws.rs-api:3.1.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor @@ -147,7 +147,6 @@ org.eclipse.jetty.http2:jetty-http2-client:12.0.27=compileClasspath,jarValidatio org.eclipse.jetty.http2:jetty-http2-common:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-server:12.0.27=jarValidation,testRuntimeClasspath -org.eclipse.jetty.toolchain:jetty-jakarta-servlet-api:5.0.2=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-client:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-server:12.0.27=jarValidation,testRuntimeClasspath diff --git a/solr/server/build.gradle b/solr/server/build.gradle index 5c4025543a8..132f92ec0f8 100644 --- a/solr/server/build.gradle +++ b/solr/server/build.gradle @@ -60,8 +60,7 @@ dependencies { serverLib libs.eclipse.jetty.http2.server serverLib libs.eclipse.jetty.http2.common serverLib libs.eclipse.jetty.http2.hpack - - serverLib libs.eclipse.jetty.toolchain.servletapi + serverLib libs.jakarta.servlet.api libExt libs.lmax.disruptor libExt libs.slf4j.jcloverslf4j diff --git a/solr/server/gradle.lockfile b/solr/server/gradle.lockfile index 64790086950..beebf53ddef 100644 --- a/solr/server/gradle.lockfile +++ b/solr/server/gradle.lockfile @@ -66,7 +66,7 @@ io.sgr:s2-geometry-library-java:1.0.0=jarValidation,runtimeClasspath,solrCore io.swagger.core.v3:swagger-annotations-jakarta:2.2.22=jarValidation,runtimeClasspath,solrCore jakarta.annotation:jakarta.annotation-api:2.1.1=jarValidation,runtimeClasspath,solrCore jakarta.inject:jakarta.inject-api:2.0.1=jarValidation,runtimeClasspath,solrCore -jakarta.servlet:jakarta.servlet-api:6.0.0=jarValidation,runtimeClasspath,serverLib +jakarta.servlet:jakarta.servlet-api:6.0.0=jarValidation,runtimeClasspath,serverLib,solrCore jakarta.validation:jakarta.validation-api:3.0.2=jarValidation,runtimeClasspath,solrCore jakarta.ws.rs:jakarta.ws.rs-api:3.1.0=jarValidation,runtimeClasspath,solrCore javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor @@ -114,7 +114,6 @@ org.eclipse.jetty.http2:jetty-http2-client:12.0.27=jarValidation,runtimeClasspat org.eclipse.jetty.http2:jetty-http2-common:12.0.27=jarValidation,runtimeClasspath,serverLib,solrCore org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=jarValidation,runtimeClasspath,serverLib,solrCore org.eclipse.jetty.http2:jetty-http2-server:12.0.27=jarValidation,runtimeClasspath,serverLib -org.eclipse.jetty.toolchain:jetty-jakarta-servlet-api:5.0.2=jarValidation,runtimeClasspath,serverLib,solrCore org.eclipse.jetty:jetty-alpn-client:12.0.27=jarValidation,runtimeClasspath,solrCore org.eclipse.jetty:jetty-alpn-java-client:12.0.27=jarValidation,runtimeClasspath,solrCore org.eclipse.jetty:jetty-alpn-java-server:12.0.27=jarValidation,runtimeClasspath,serverLib diff --git a/solr/solr-ref-guide/gradle.lockfile b/solr/solr-ref-guide/gradle.lockfile index 4d08f6c81a0..872894e8834 100644 --- a/solr/solr-ref-guide/gradle.lockfile +++ b/solr/solr-ref-guide/gradle.lockfile @@ -120,7 +120,6 @@ org.eclipse.jetty.http2:jetty-http2-client:12.0.27=testCompileClasspath,testRunt org.eclipse.jetty.http2:jetty-http2-common:12.0.27=testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-server:12.0.27=testRuntimeClasspath -org.eclipse.jetty.toolchain:jetty-jakarta-servlet-api:5.0.2=testRuntimeClasspath org.eclipse.jetty:jetty-alpn-client:12.0.27=testCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-client:12.0.27=testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-server:12.0.27=testRuntimeClasspath diff --git a/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-10.adoc b/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-10.adoc index 9fb7c15b653..c283d0c03b6 100644 --- a/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-10.adoc +++ b/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-10.adoc @@ -196,9 +196,10 @@ Nowadays, the HTTP request is available via internal APIs: `SolrQueryRequest.get * There is no longer a distinction between trusted and untrusted configSets; all configSets are now considered trusted. To ensure security, Solr should be properly protected using authentication and authorization mechanisms, allowing only authorized users with administrative privileges to publish them. -=== Upgrade to Jetty 12.x +=== Upgrade to Jetty 12.x and Jakarta namespace Solr upgraded to Jetty 12.x from 10.x as Jetty 10 and 11 have reached end-of-life support. Jetty 12.x requires Java 17 or newer and is fully compatible with Solr's new minimum requirement of Java 21. This upgrade brings support for modern HTTP protocols and adopts the Jakarta EE 10 namespace. For more details, see https://webtide.com/jetty-12-has-arrived/. +This migration marks the point at which Solr no longer includes _any_ JAR with "javax" in it -- the Jakarta migration is complete. === OpenTelemetry diff --git a/solr/solrj-streaming/gradle.lockfile b/solr/solrj-streaming/gradle.lockfile index c304adabf04..443095a4cdc 100644 --- a/solr/solrj-streaming/gradle.lockfile +++ b/solr/solrj-streaming/gradle.lockfile @@ -142,7 +142,6 @@ org.eclipse.jetty.http2:jetty-http2-client:12.0.27=compileClasspath,jarValidatio org.eclipse.jetty.http2:jetty-http2-common:12.0.27=compileClasspath,jarValidation,permitTestUsedUndeclared,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=compileClasspath,jarValidation,permitTestUsedUndeclared,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-server:12.0.27=jarValidation,testRuntimeClasspath -org.eclipse.jetty.toolchain:jetty-jakarta-servlet-api:5.0.2=jarValidation,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-client:12.0.27=compileClasspath,jarValidation,permitTestUsedUndeclared,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-client:12.0.27=jarValidation,permitTestUsedUndeclared,runtimeClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-server:12.0.27=jarValidation,testRuntimeClasspath diff --git a/solr/solrj-zookeeper/gradle.lockfile b/solr/solrj-zookeeper/gradle.lockfile index 82db56eafe3..97ba198f165 100644 --- a/solr/solrj-zookeeper/gradle.lockfile +++ b/solr/solrj-zookeeper/gradle.lockfile @@ -136,7 +136,6 @@ org.eclipse.jetty.http2:jetty-http2-client:12.0.27=compileClasspath,jarValidatio org.eclipse.jetty.http2:jetty-http2-common:12.0.27=compileClasspath,jarValidation,permitTestUsedUndeclared,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=compileClasspath,jarValidation,permitTestUsedUndeclared,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-server:12.0.27=jarValidation,testRuntimeClasspath -org.eclipse.jetty.toolchain:jetty-jakarta-servlet-api:5.0.2=jarValidation,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-client:12.0.27=compileClasspath,jarValidation,permitTestUsedUndeclared,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-client:12.0.27=jarValidation,permitTestUsedUndeclared,runtimeClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-server:12.0.27=jarValidation,testRuntimeClasspath diff --git a/solr/solrj/gradle.lockfile b/solr/solrj/gradle.lockfile index 876ad1344d1..996f16b3edc 100644 --- a/solr/solrj/gradle.lockfile +++ b/solr/solrj/gradle.lockfile @@ -140,7 +140,6 @@ org.eclipse.jetty.http2:jetty-http2-client:12.0.27=apiHelper,compileClasspath,ja org.eclipse.jetty.http2:jetty-http2-common:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-server:12.0.27=jarValidation,testRuntimeClasspath -org.eclipse.jetty.toolchain:jetty-jakarta-servlet-api:5.0.2=jarValidation,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-client:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-client:12.0.27=compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-server:12.0.27=jarValidation,testRuntimeClasspath diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/BasicHttpSolrClientTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/BasicHttpSolrClientTest.java index 676c91e0bda..601c2442c10 100644 --- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/BasicHttpSolrClientTest.java +++ b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/BasicHttpSolrClientTest.java @@ -110,6 +110,7 @@ public class BasicHttpSolrClientTest extends SolrJettyTestBase { public static final int PACKET_MS = 500; @Override + @SuppressForbidden(reason = "don't forbid in tests") protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { String countStr = req.getParameter("count"); IntStream.range(0, countStr == null ? 10 : Integer.parseInt(countStr)) diff --git a/solr/test-framework/gradle.lockfile b/solr/test-framework/gradle.lockfile index 450ac982fe6..9a2211b4c56 100644 --- a/solr/test-framework/gradle.lockfile +++ b/solr/test-framework/gradle.lockfile @@ -122,7 +122,6 @@ org.eclipse.jetty.http2:jetty-http2-client:12.0.27=apiHelper,compileClasspath,ja org.eclipse.jetty.http2:jetty-http2-common:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-server:12.0.27=compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty.toolchain:jetty-jakarta-servlet-api:5.0.2=apiHelper,jarValidation,runtimeClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-client:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-client:12.0.27=apiHelper,jarValidation,runtimeClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-server:12.0.27=jarValidation,runtimeClasspath,testRuntimeClasspath diff --git a/solr/webapp/gradle.lockfile b/solr/webapp/gradle.lockfile index a1ee4d70349..5f98e420353 100644 --- a/solr/webapp/gradle.lockfile +++ b/solr/webapp/gradle.lockfile @@ -66,7 +66,7 @@ io.sgr:s2-geometry-library-java:1.0.0=permitUnusedDeclared,solrCore io.swagger.core.v3:swagger-annotations-jakarta:2.2.22=permitUnusedDeclared,solrCore jakarta.annotation:jakarta.annotation-api:2.1.1=permitUnusedDeclared,solrCore jakarta.inject:jakarta.inject-api:2.0.1=permitUnusedDeclared,solrCore -jakarta.servlet:jakarta.servlet-api:6.0.0=serverLib +jakarta.servlet:jakarta.servlet-api:6.0.0=permitUnusedDeclared,serverLib,solrCore jakarta.validation:jakarta.validation-api:3.0.2=permitUnusedDeclared,solrCore jakarta.ws.rs:jakarta.ws.rs-api:3.1.0=permitUnusedDeclared,solrCore javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor @@ -114,7 +114,6 @@ org.eclipse.jetty.http2:jetty-http2-client:12.0.27=permitUnusedDeclared,solrCore org.eclipse.jetty.http2:jetty-http2-common:12.0.27=permitUnusedDeclared,serverLib,solrCore org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=permitUnusedDeclared,serverLib,solrCore org.eclipse.jetty.http2:jetty-http2-server:12.0.27=serverLib -org.eclipse.jetty.toolchain:jetty-jakarta-servlet-api:5.0.2=permitUnusedDeclared,serverLib,solrCore org.eclipse.jetty:jetty-alpn-client:12.0.27=permitUnusedDeclared,solrCore org.eclipse.jetty:jetty-alpn-java-client:12.0.27=permitUnusedDeclared,solrCore org.eclipse.jetty:jetty-alpn-java-server:12.0.27=serverLib
