Skip to content

SOLR-18163: Remove v2-disabling sysprop#4233

Draft
gerlowskija wants to merge 3 commits intoapache:mainfrom
gerlowskija:SOLR-18163-remove-v2-disabling-sysprop
Draft

SOLR-18163: Remove v2-disabling sysprop#4233
gerlowskija wants to merge 3 commits intoapache:mainfrom
gerlowskija:SOLR-18163-remove-v2-disabling-sysprop

Conversation

@gerlowskija
Copy link
Contributor

https://issues.apache.org/jira/browse/SOLR-18163

Description

Solr has long supported an experimental sysprop solr.api.v2.enabled that can be used to disable the v2 API if set to false. This has been a nice safety-valve for users, but it prevents us from doing any dog-fooding of the v2 APIs since it makes it possible for the APIs to not be available at all.

The v2 APIs are maturing and would really benefit from this additional testing and feedback.

Solution

This commit removes the experimental system property and all references to v2 "optionality" in the codebase.

Tests

Modifications to a BATS test meant to test our deprecation sysprop warnings.

Checklist

Please review the following and check all that apply:

  • I have reviewed the guidelines for How to Contribute and my code conforms to the standards described there to the best of my ability.
  • I have created a Jira issue and added the issue ID to my pull request title.
  • I have given Solr maintainers access to contribute to my PR branch. (optional but recommended, not available for branches on forks living under an organisation)
  • I have developed this patch against the main branch.
  • I have run ./gradlew check.
  • I have added tests for my changes.
  • I have added documentation for the Reference Guide
  • I have added a changelog entry for my change

Solr has long supported an experimental sysprop `solr.api.v2.enabled`
that can be used to disable the v2 API if set to false.  This has been a
nice safety-valve for users, but it prevents us from doing any
dog-fooding of the v2 APIs since it makes it possible for the APIs to
not be available at all.

The v2 APIs are maturing and would really benefit from this additional
testing and feedback.  For this reason, this commit removes the
experimental system property and all references to v2 "optionality" in
the codebase.
@github-actions github-actions bot added documentation Improvements or additions to documentation jetty-server client:solrj tests labels Mar 21, 2026
@gerlowskija
Copy link
Contributor Author

gerlowskija commented Mar 21, 2026

Still TODO here:

  • changelog entry
  • Upgrade Notes entry, so folks can see that this sysprop has gone away

This PR is for 'main' only. But when we backport this to branch_10x, we should also put a check on startup that can log a message if the (now defunct) system property is specified, so that users can notice that this former config option is no longer actually doing anything for them.

Copy link
Contributor

@epugh epugh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One idea... Do we need a way of flagging no longer used system properties/settings in a global way? Similar to the DeprecatedSystemPropertyMappings.properties that would loudly warn, but not break things?

I could see this being added to such a file...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

client:solrj documentation Improvements or additions to documentation jetty-server tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants