Skip to content

fix(search): tolerate blank optional arguments and return safe errors - #195

Open
adityamparikh wants to merge 4 commits into
apache:mainfrom
adityamparikh:fix/search-optional-arguments
Open

adityamparikh wants to merge 4 commits into
apache:mainfrom
adityamparikh:fix/search-optional-arguments

Conversation

@adityamparikh

@adityamparikh adityamparikh commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Blank entries in the optional filterQueries, facetFields and sortClauses arguments are ignored; non-blank values and the validation of sort orders are unchanged.
  • Backend failures return an actionable message without raw Solr details, and without a cause the MCP annotation layer could unwrap into the client response (it reports the root cause's message, so a hint attached to a wrapping exception never reached the client). The original Solr status code is preserved, and full diagnostics go to the server log.
  • Applies to both transports; the MCP-level regressions in McpClientIntegrationTestBase run over HTTP and STDIO.

Covered by unit, real-Solr and MCP HTTP/STDIO tests. Native images and other Solr versions were not tested.

🤖 Generated with Claude Code

adityamparikh and others added 2 commits September 11, 2026 14:49
Signed-off-by: Aditya Parikh <aditya.m.parikh@gmail.com>
Co-authored-by: Junie <junie@jetbrains.com>
Signed-off-by: Aditya Parikh <aditya.m.parikh@gmail.com>
Co-authored-by: Junie <junie@jetbrains.com>
adityamparikh added a commit to adityamparikh/solr-mcp that referenced this pull request Sep 11, 2026
Keep this PR indexing-only; move search usability changes to apache#195. Replace root-restricted JSON file ingestion with local STDIO multi-format ingestion without a file-size cap.

Signed-off-by: Aditya Parikh <aditya.m.parikh@gmail.com>
Co-authored-by: Junie <junie@jetbrains.com>
adityamparikh and others added 2 commits September 12, 2026 23:10
The client only sees the generic message, so the log is the only record of
the cause; DEBUG hid it in production. The schemaless-facet integration test
exercised Solr's faceting rather than this change and was the sole reason
for the untyped platform fixture field.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CiUHyyXLTo9ATdgg8eRFZJ
Signed-off-by: Aditya Parikh <aditya.m.parikh@gmail.com>
The untyped platform fixture field went away with the schemaless-facet test,
so the blank-options test now filters on platform_ss.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CiUHyyXLTo9ATdgg8eRFZJ
Signed-off-by: Aditya Parikh <aditya.m.parikh@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant