Repository navigation
feat(collection): add alias management tools (list, create, delete) - #214
Merged
Merged
Conversation
create-alias destructive and idempotent. Added tests. Updated documentation.
- Derive success from response.getStatus() instead of hardcoding true - Add @jsonformat to AliasResult timestamp for ISO 8601 consistency - Use separate TEST_COLLECTION_2 in integration test update scenario
The Build job runs './gradlew classes testClasses spotlessCheck' as a fail-fast gate, and spotlessJavaCheck rejected the new alias files for indentation (spaces where the project's format expects tabs). Because Unit Tests and Integration Tests are gated behind Build, this single formatting miss blocked the entire pipeline. No functional change - output of './gradlew spotlessApply'. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Signed-off-by: adityamparikh <aditya.m.parikh@gmail.com>
createAlias_multipleAliasesCanExist (@order(5)) asserted that TEST_ALIAS still pointed at TEST_COLLECTION, but createAlias_updatesExistingAlias (@order(4)) had already repointed it to TEST_COLLECTION_2 - and asserts that it did. The expectation therefore contradicted the preceding test and failed deterministically: AliasServiceIntegrationTest > createAlias_multipleAliasesCanExist() FAILED java.lang.AssertionError at AliasServiceIntegrationTest.java:119 AliasService itself is correct; only the test expectation was stale. Rather than just correcting the expected value, this makes the test assert solely on aliases it creates itself, so it no longer depends on what an earlier test left TEST_ALIAS pointing at. TEST_ALIAS_2 is still left in place for the deletion tests that follow; TEST_ALIAS_3 is this test's own fixture and is cleaned up in the test. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Signed-off-by: adityamparikh <aditya.m.parikh@gmail.com>
fix(alias): resolve CI failures on apache#159 (spotless + stale test expectation)
Resolves the merge conflict from apache#164's rename of MCP_RESPONSE_RECORDS to MCP_TOOL_RECORDS in SolrNativeHints.java: keeps upstream's renamed list and adds AliasResult to it. No other conflicts. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Signed-off-by: Aditya Parikh <aditya.m.parikh@gmail.com>
adityamparikh
added a commit
to adityamparikh/solr-mcp
that referenced
this pull request
Oct 6, 2026
Brings in apache#195 apache#200 apache#207 apache#212 apache#214 apache#215 apache#221 apache#230 apache#231 apache#233 apache#234 apache#235 apache#238 apache#239 apache#242 apache#243 apache#244 apache#247 and apache#191 apache#192, keeping the Spring Boot 4.1 / Spring AI 2.0 / Jackson 3 / Boot OTel starter line. Resolutions beyond the textual conflicts: - libs.versions.toml: keep sb4's plugin versions, add main's changelog-plugin. - build.gradle.kts (nativeTest args): keep sb4's removal of the manual org.junit.platform.* build-time init (GraalVM plugin >= 0.11 does it), take main's -H:IncludeResources=shows-markdown\.md. - buildSrc: cyclonedx-core-java 10.2.1 -> 13.1.0, the version the cyclonedx 3.4.1 plugin uses. apache#247 pinned it to match plugin 2.4.1; the older model on buildSrc's classpath shadowed the plugin's and failed cyclonedxDirectBom (no Version.VERSION_17). - AliasService (apache#214): MCP annotations from org.springframework.ai.mcp. - ShowsSampleDataTest (apache#207): Jackson 3 JsonMapper. - Tests from apache#195/apache#207/apache#212: add the explicit Assertions static imports sb4 uses in place of main's wildcard. - docs/observability.md: rewrite apache#230's Boot 3 text (gRPC 4317, one shared endpoint, OTel-semconv metric names, /actuator/prometheus, kebab-case span names) for OTLP/HTTP per-signal URLs, Micrometer metrics in milliseconds and ClassName#method spans. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Signed-off-by: Aditya Parikh <aditya.m.parikh@gmail.com>
This was referenced Oct 12, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Rebases #159 onto current
mainto resolve its merge conflict. All alias-management work here is @y-luis-rojo's — this PR only carries their branch forward pastmain's drift since they opened it, so it can actually merge.What changed vs. #159
Only the one conflict, in
SolrNativeHints.java:main's #164 renamedMCP_RESPONSE_RECORDStoMCP_TOOL_RECORDSafter #159 branched off. Resolved by keepingmain's name and addingAliasResultto the (now renamed) list, matching what #159 already registered under the old name. No other files conflicted —AliasResult,AliasService, and their tests are untouched from #159.Original PR description (#159)
feat(collection): add alias management tools (list, create, delete)
Verification
./gradlew build(JDK 25): 438/438 tests pass, 0 skipped, 0 failuresAliasServiceTest,AliasServiceIntegrationTest,SolrNativeHintsTestall greenCloses nothing automatically — leaving #159 open for @y-luis-rojo and @epugh to decide which to merge; happy to close this in favor of #159 once it's rebased, or to close #159 in favor of this one, whichever is easier.
🤖 Generated with Claude Code