Skip to content

Migrate RenameCoreAPI from homegrown @EndPoint/@Command to JAX-RS; use SolrJettyTestRule in tests#24

Closed
Copilot wants to merge 4 commits intomainfrom
copilot/migrate-rename-core-api
Closed

Migrate RenameCoreAPI from homegrown @EndPoint/@Command to JAX-RS; use SolrJettyTestRule in tests#24
Copilot wants to merge 4 commits intomainfrom
copilot/migrate-rename-core-api

Conversation

Copy link

Copilot AI commented Feb 28, 2026

RenameCoreAPI.java was the last remnant of the old @EndPoint/@Command V2 API style for core renaming. The JAX-RS implementation (RenameCore.java, RenameCoreApi.java, RenameCoreRequestBody.java) already existed and was fully wired into CoreAdminHandler.getJerseyResources() and CoreAdminOperation.RENAME_OP — the old class was dead production code only referenced in a mock-based test.

Changes

  • Deleted RenameCoreAPI.java — superseded by RenameCore.java
  • Updated V2CoreAPIMappingTest — removed RenameCoreAPI registration and its mock-based testRenameCoreAllParams test
  • Added RenameCoreAPITest — unit tests for RenameCore using SolrJettyTestRule (no mocks, no initCore), following the pattern of ShowFileRequestHandlerTest:
@ClassRule public static SolrJettyTestRule solrTestRule = new SolrJettyTestRule();

@BeforeClass
public static void beforeTest() throws Exception {
    EnvUtils.setProperty(ALLOW_PATHS_SYSPROP, ExternalPaths.SERVER_HOME.toAbsolutePath().toString());
    solrTestRule.startSolr(createTempDir());
    solrTestRule.newCollection(CORE_NAME).withConfigSet(ExternalPaths.DEFAULT_CONFIGSET).create();
}

@Before
public void setUp() throws Exception {
    api = new RenameCore(
        solrTestRule.getCoreContainer(),
        new CoreAdminHandler.CoreAdminAsyncTracker(),
        new SolrQueryRequestBase(null, new ModifiableSolrParams()),
        new SolrQueryResponse());
}

Tests cover: same-name early return, missing request body, and missing to parameter.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • develocity.apache.org
    • Triggering command: /usr/lib/jvm/temurin-21-jdk-amd64/bin/java /usr/lib/jvm/temurin-21-jdk-amd64/bin/java -XX:ReservedCodeCacheSize=256m -XX:TieredStopAtLevel=1 -XX:+UseParallelGC -XX:ActiveProcessorCount=1 --add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED (dns block)
  • metadata.google.internal
    • Triggering command: /usr/lib/jvm/temurin-21-jdk-amd64/bin/java /usr/lib/jvm/temurin-21-jdk-amd64/bin/java -Dcommon-solr.dir=/home/REDACTED/work/solr/solr/solr -Dgradle.lib.dir=/home/REDACTED/.gradle/wrapper/dists/gradle-8.10-bin/deqhafrv1ntovfmgh0nh3npr9/gradle-8.10/lib -Dgradle.user.home=/home/REDACTED/.gradle -Dgradle.worker.jar=/home/REDACTED/.gradle/caches/8.10/workerMain/gradle-worker.jar -Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom -Djava.security.manager=default -Djava.security.policy=/home/REDACTED/work/solr/solr/gradle/testing/randomization/policies/solr-tests.policy -Djava.util.logging.config.file=/home/REDACTED/work/solr/solr/gradle/testing/defaults-tests/logging.properties -Djdk.map.althashing.threshold=0 -Djetty.insecurerandom=1 -Djetty.testMode=1 -Djunit4.childvm.count=1 -Djunit4.childvm.id=0 -Dorg.gradle.internal.worker.tmpdir=/home/REDACTED/work/solr/solr/solr/core/build/tmp/test/work -DtempDir=/home/REDACTED/work/solr/solr/build/tmp/tests-tmp -Dtests.LUCENE_VERSION=10.3.2 -Dtests.asserts=true -Dtests.codec=random (dns block)

If you need me to access, download, or install something from one of these locations, you can either:


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

…ate tests

Co-authored-by: epugh <22395+epugh@users.noreply.github.com>
Copilot AI changed the title [WIP] Migrate RenameCoreAPI to JAX-RS annotations Complete migration of RenameCoreAPI from @EndPoint/@Command to JAX-RS Feb 28, 2026
@github-actions github-actions bot added the tests label Feb 28, 2026
Co-authored-by: epugh <22395+epugh@users.noreply.github.com>
Copilot AI changed the title Complete migration of RenameCoreAPI from @EndPoint/@Command to JAX-RS Migrate RenameCoreAPI from homegrown @EndPoint/@Command to JAX-RS; use SolrJettyTestRule in tests Feb 28, 2026
@epugh
Copy link
Owner

epugh commented Feb 28, 2026

Superseded by apache#4172 — retargeted to the upstream repo.

@epugh epugh closed this Feb 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants