This is an automated email from the ASF dual-hosted git repository.
epugh pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/solr.git
The following commit(s) were added to refs/heads/main by this push:
new 5352b58c42e SOLR-18352: Improve DX by more accurately communicating
deprecated code status (#4750)
5352b58c42e is described below
commit 5352b58c42ea14bfbe38d135c08b50ee7562a6d2
Author: Eric Pugh <[email protected]>
AuthorDate: Fri Aug 28 08:35:53 2026 -0400
SOLR-18352: Improve DX by more accurately communicating deprecated code
status (#4750)
Co-authored-by: David Smiley <[email protected]>
---
AGENTS.md | 10 ++++++++
.../api/model/BalanceReplicasRequestBody.java | 5 ++++
.../api/model/CreateCollectionRequestBody.java | 5 ++++
.../client/api/model/CreateReplicaRequestBody.java | 5 ++++
.../client/api/model/CreateShardRequestBody.java | 5 ++++
.../api/model/MigrateReplicasRequestBody.java | 5 ++++
.../client/api/model/ReplaceNodeRequestBody.java | 5 ++++
.../java/org/apache/solr/core/CoreContainer.java | 2 +-
.../src/java/org/apache/solr/core/SolrCore.java | 2 +-
.../java/org/apache/solr/handler/ClusterAPI.java | 8 +++++++
.../apache/solr/handler/admin/ClusterStatus.java | 4 ++++
.../java/org/apache/solr/legacy/BBoxStrategy.java | 16 +++++++++----
.../org/apache/solr/legacy/BBoxValueSource.java | 3 ++-
.../org/apache/solr/legacy/LegacyDoubleField.java | 2 +-
.../java/org/apache/solr/legacy/LegacyField.java | 2 +-
.../org/apache/solr/legacy/LegacyFieldType.java | 10 ++++----
.../org/apache/solr/legacy/LegacyFloatField.java | 2 +-
.../org/apache/solr/legacy/LegacyIntField.java | 2 +-
.../org/apache/solr/legacy/LegacyLongField.java | 2 +-
.../solr/legacy/LegacyNumericRangeQuery.java | 2 +-
.../solr/legacy/LegacyNumericTokenStream.java | 2 +-
.../org/apache/solr/legacy/LegacyNumericType.java | 2 +-
.../org/apache/solr/legacy/LegacyNumericUtils.java | 2 +-
.../org/apache/solr/response/DocsStreamer.java | 3 ++-
.../java/org/apache/solr/schema/TrieDateField.java | 5 ++--
.../org/apache/solr/schema/TrieDoubleField.java | 5 ++--
.../src/java/org/apache/solr/schema/TrieField.java | 11 +++++----
.../org/apache/solr/schema/TrieFloatField.java | 5 ++--
.../java/org/apache/solr/schema/TrieIntField.java | 5 ++--
.../java/org/apache/solr/schema/TrieLongField.java | 5 ++--
.../search/EarlyTerminatingSortingCollector.java | 2 +-
.../search/LegacyNumericRangeQueryBuilder.java | 2 +-
.../solr/search/NumericHidingLeafReader.java | 2 +-
.../src/java/org/apache/solr/spelling/Token.java | 2 +-
.../org/apache/solr/uninverting/FieldCache.java | 10 ++++----
.../apache/solr/uninverting/UninvertingReader.java | 8 +++----
.../messageprocessor/TestMessageProcessor.java | 5 ++++
.../solr/client/solrj/io/SolrClientCache.java | 2 +-
...eSetCredentialsDigestZkCredentialsProvider.java | 9 ++++----
.../org/apache/solr/client/solrj/SolrClient.java | 2 ++
.../org/apache/solr/client/solrj/SolrRequest.java | 2 +-
.../solr/client/solrj/WrappedSolrRequest.java | 2 +-
.../solr/client/solrj/impl/CloudSolrClient.java | 2 +-
.../solrj/request/CollectionAdminRequest.java | 9 +++++++-
.../solr/client/solrj/request/RequestWriter.java | 2 +-
.../solr/client/solrj/request/SolrQuery.java | 8 +++++--
.../solrj/request/beans/CreateShardPayload.java | 5 ++++
.../solrj/request/beans/MoveReplicaPayload.java | 5 ++++
.../solrj/request/beans/SplitShardPayload.java | 5 ++++
.../org/apache/solr/common/cloud/ClusterState.java | 2 +-
.../solr/common/params/CollectionParams.java | 8 +++++++
.../solr/common/params/CommonAdminParams.java | 8 ++++++-
.../org/apache/solr/common/util/ContentStream.java | 2 +-
.../src/java/org/apache/solr/SolrTestCaseJ4.java | 27 ++++++++++++++++++----
.../org/apache/solr/embedded/JettySolrRunner.java | 5 +++-
.../org/apache/solr/util/SolrJettyTestRule.java | 8 +++++--
56 files changed, 209 insertions(+), 77 deletions(-)
diff --git a/AGENTS.md b/AGENTS.md
index 078406dfb74..4410483efeb 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -85,6 +85,16 @@ Solr issues are tracked at https://issues.apache.org/jira
(project key `SOLR`).
- Search: `curl
"https://issues.apache.org/jira/rest/api/2/search?jql=<url-encoded
JQL>&fields=summary,status,resolution&maxResults=10"` with JQL like
`project=SOLR AND text~"some phrase" ORDER BY updated DESC`
- Single issue (with comments): `curl
"https://issues.apache.org/jira/rest/api/2/issue/SOLR-12345?fields=summary,description,comment"`
+## Git Branches and Repository History
+
+- This repo's history predates the Lucene/Solr split: before Solr 9.0, Solr
was released jointly with Lucene from a combined `lucene-solr` repository.
Commits and tags from that era are still present here.
+- Release tags come in two families — check both when doing any
git-blame/version archaeology (e.g. figuring out which Solr version something
was added or deprecated in), or you will silently get a too-recent answer for
anything before the split:
+ - `releases/lucene-solr/X.Y.Z` — joint releases, pre-9.0 (Solr versions up
to 8.x)
+ - `releases/solr/X.Y.Z` — standalone Solr releases, 9.0 onward
+- Exclude `releases/lucene/*` (pure Lucene releases, not Solr), and `grafts/*`
/ `history/branches/*` refs (historical/graft markers, not real releases) from
any version lookup.
+- Example pattern to find the earliest release containing a commit: `git tag
--contains <hash> | grep -E
'^releases/(solr|lucene-solr)/[0-9]+\.[0-9]+(\.[0-9]+)?$' | sed -E
's#^releases/(solr|lucene-solr)/##' | sort -V | head -1`
+- The active development branch is `main`; its in-progress version is the
`baseVersion` string in the root `build.gradle`. Maintenance branches for prior
lines follow the `branch_9x`, `branch_10x`, etc. naming pattern.
+
## Security
For security findings, follow the project's threat model:
diff --git
a/solr/api/src/java/org/apache/solr/client/api/model/BalanceReplicasRequestBody.java
b/solr/api/src/java/org/apache/solr/client/api/model/BalanceReplicasRequestBody.java
index 508e5288cd4..4ebb3a317e2 100644
---
a/solr/api/src/java/org/apache/solr/client/api/model/BalanceReplicasRequestBody.java
+++
b/solr/api/src/java/org/apache/solr/client/api/model/BalanceReplicasRequestBody.java
@@ -36,6 +36,11 @@ public class BalanceReplicasRequestBody {
@JsonProperty(value = "nodes")
public Set<String> nodes;
+ /**
+ * @deprecated Solr is moving toward always waiting for final state, with no
option to opt out;
+ * once that happens, this parameter will have no effect and will likely
be removed. See
+ * SOLR-17712.
+ */
@Schema(
description =
"If true, the request will complete only when all affected replicas
become active. "
diff --git
a/solr/api/src/java/org/apache/solr/client/api/model/CreateCollectionRequestBody.java
b/solr/api/src/java/org/apache/solr/client/api/model/CreateCollectionRequestBody.java
index 5b49d59d72a..71a54bcc3a0 100644
---
a/solr/api/src/java/org/apache/solr/client/api/model/CreateCollectionRequestBody.java
+++
b/solr/api/src/java/org/apache/solr/client/api/model/CreateCollectionRequestBody.java
@@ -38,6 +38,11 @@ public class CreateCollectionRequestBody {
@JsonProperty public Integer nrtReplicas;
+ /**
+ * @deprecated Solr is moving toward always waiting for final state, with no
option to opt out;
+ * once that happens, this parameter will have no effect and will likely
be removed. See
+ * SOLR-17712.
+ */
@JsonProperty
@Deprecated(since = "9.10")
public Boolean waitForFinalState;
diff --git
a/solr/api/src/java/org/apache/solr/client/api/model/CreateReplicaRequestBody.java
b/solr/api/src/java/org/apache/solr/client/api/model/CreateReplicaRequestBody.java
index 03e0a3751f2..bd3fedab7a6 100644
---
a/solr/api/src/java/org/apache/solr/client/api/model/CreateReplicaRequestBody.java
+++
b/solr/api/src/java/org/apache/solr/client/api/model/CreateReplicaRequestBody.java
@@ -31,6 +31,11 @@ public class CreateReplicaRequestBody {
@JsonProperty public Integer tlogReplicas;
@JsonProperty public Integer pullReplicas;
+ /**
+ * @deprecated Solr is moving toward always waiting for final state, with no
option to opt out;
+ * once that happens, this parameter will have no effect and will likely
be removed. See
+ * SOLR-17712.
+ */
@JsonProperty
@Deprecated(since = "9.10")
public Boolean waitForFinalState;
diff --git
a/solr/api/src/java/org/apache/solr/client/api/model/CreateShardRequestBody.java
b/solr/api/src/java/org/apache/solr/client/api/model/CreateShardRequestBody.java
index ed73bd5b9a0..b5dae3840dc 100644
---
a/solr/api/src/java/org/apache/solr/client/api/model/CreateShardRequestBody.java
+++
b/solr/api/src/java/org/apache/solr/client/api/model/CreateShardRequestBody.java
@@ -40,6 +40,11 @@ public class CreateShardRequestBody {
@JsonProperty("nodeSet")
public List<String> nodeSet;
+ /**
+ * @deprecated Solr is moving toward always waiting for final state, with no
option to opt out;
+ * once that happens, this parameter will have no effect and will likely
be removed. See
+ * SOLR-17712.
+ */
@JsonProperty
@Deprecated(since = "9.10")
public Boolean waitForFinalState;
diff --git
a/solr/api/src/java/org/apache/solr/client/api/model/MigrateReplicasRequestBody.java
b/solr/api/src/java/org/apache/solr/client/api/model/MigrateReplicasRequestBody.java
index a0a7e3afd9b..9622559cb54 100644
---
a/solr/api/src/java/org/apache/solr/client/api/model/MigrateReplicasRequestBody.java
+++
b/solr/api/src/java/org/apache/solr/client/api/model/MigrateReplicasRequestBody.java
@@ -42,6 +42,11 @@ public class MigrateReplicasRequestBody {
@JsonProperty
public Set<String> targetNodes;
+ /**
+ * @deprecated Solr is moving toward always waiting for final state, with no
option to opt out;
+ * once that happens, this parameter will have no effect and will likely
be removed. See
+ * SOLR-17712.
+ */
@Schema(
description =
"If true, the request will complete only when all affected replicas
become active. "
diff --git
a/solr/api/src/java/org/apache/solr/client/api/model/ReplaceNodeRequestBody.java
b/solr/api/src/java/org/apache/solr/client/api/model/ReplaceNodeRequestBody.java
index 95f7cb380d2..f3f49a876f8 100644
---
a/solr/api/src/java/org/apache/solr/client/api/model/ReplaceNodeRequestBody.java
+++
b/solr/api/src/java/org/apache/solr/client/api/model/ReplaceNodeRequestBody.java
@@ -36,6 +36,11 @@ public class ReplaceNodeRequestBody {
@JsonProperty("targetNodeName")
public String targetNodeName;
+ /**
+ * @deprecated Solr is moving toward always waiting for final state, with no
option to opt out;
+ * once that happens, this parameter will have no effect and will likely
be removed. See
+ * SOLR-17712.
+ */
@Schema(
description =
"If true, the request will complete only when all affected replicas
become active. "
diff --git a/solr/core/src/java/org/apache/solr/core/CoreContainer.java
b/solr/core/src/java/org/apache/solr/core/CoreContainer.java
index 2cc5f8d9f5c..91871cd0d31 100644
--- a/solr/core/src/java/org/apache/solr/core/CoreContainer.java
+++ b/solr/core/src/java/org/apache/solr/core/CoreContainer.java
@@ -707,7 +707,7 @@ public class CoreContainer {
* @see HttpSolrClient#requestWithBaseUrl(String, SolrRequest, String)
* @deprecated likely to simply be moved to the ObjectCache so as to not be
used
*/
- @Deprecated
+ @Deprecated(since = "10.0")
public SolrClientCache getSolrClientCache() {
// TODO put in the objectCache instead
return solrClientCache;
diff --git a/solr/core/src/java/org/apache/solr/core/SolrCore.java
b/solr/core/src/java/org/apache/solr/core/SolrCore.java
index 7a5b6995a26..6c636b51902 100644
--- a/solr/core/src/java/org/apache/solr/core/SolrCore.java
+++ b/solr/core/src/java/org/apache/solr/core/SolrCore.java
@@ -865,7 +865,7 @@ public class SolrCore implements SolrInfoBean, Closeable {
* @deprecated Use of this method can only lead to race conditions. Try to
actually obtain a lock
* instead.
*/
- @Deprecated
+ @Deprecated(since = "7.0")
private static boolean isWriterLocked(Directory directory) throws
IOException {
try {
directory.obtainLock(IndexWriter.WRITE_LOCK_NAME).close();
diff --git a/solr/core/src/java/org/apache/solr/handler/ClusterAPI.java
b/solr/core/src/java/org/apache/solr/handler/ClusterAPI.java
index 13b2cb8a682..36ee024f7f2 100644
--- a/solr/core/src/java/org/apache/solr/handler/ClusterAPI.java
+++ b/solr/core/src/java/org/apache/solr/handler/ClusterAPI.java
@@ -257,6 +257,10 @@ public class ClusterAPI {
@EndPoint(method = POST, path = "/cluster", permission = COLL_EDIT_PERM)
public class Commands {
+ /**
+ * @deprecated This API will be removed in Solr 11. Use Node Roles ({@code
-Dsolr.node.roles})
+ * at startup instead.
+ */
@Command(name = "add-role")
@Deprecated(since = "10.1")
public void addRole(PayloadObj<RoleInfo> obj) throws Exception {
@@ -266,6 +270,10 @@ public class ClusterAPI {
collectionsHandler.handleRequestBody(wrapParams(obj.getRequest(), m),
obj.getResponse());
}
+ /**
+ * @deprecated This API will be removed in Solr 11. Use Node Roles ({@code
-Dsolr.node.roles})
+ * at startup instead.
+ */
@Command(name = "remove-role")
@Deprecated(since = "10.1")
public void removeRole(PayloadObj<RoleInfo> obj) throws Exception {
diff --git
a/solr/core/src/java/org/apache/solr/handler/admin/ClusterStatus.java
b/solr/core/src/java/org/apache/solr/handler/admin/ClusterStatus.java
index cfd2377ebe6..74b1db62382 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/ClusterStatus.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/ClusterStatus.java
@@ -51,6 +51,10 @@ public class ClusterStatus {
public static final String LIVENODES_PROP = "liveNodes";
public static final String CLUSTER_PROP = "clusterProperties";
+ /**
+ * @deprecated This API will be removed in Solr 11. Use Node Roles ({@code
-Dsolr.node.roles}) at
+ * startup instead.
+ */
@Deprecated(since = "10.1")
public static final String ROLES_PROP = "roles";
diff --git a/solr/core/src/java/org/apache/solr/legacy/BBoxStrategy.java
b/solr/core/src/java/org/apache/solr/legacy/BBoxStrategy.java
index 4ce80840064..ccbb5b2f8fc 100644
--- a/solr/core/src/java/org/apache/solr/legacy/BBoxStrategy.java
+++ b/solr/core/src/java/org/apache/solr/legacy/BBoxStrategy.java
@@ -72,8 +72,11 @@ import org.locationtech.spatial4j.shape.Shape;
* org.apache.lucene.index.LeafReader#getNumericDocValues}.
*
* @lucene.experimental
+ * @deprecated This class lives in the {@code org.apache.solr.legacy} package,
which is being
+ * removed; no replacement has been identified yet for {@link
org.apache.solr.schema.BBoxField},
+ * which uses this strategy.
*/
-@Deprecated
+@Deprecated(since = "9.0")
public class BBoxStrategy extends SpatialStrategy {
// note: we use a FieldType to articulate the options we want on the field.
We don't use it as-is
@@ -82,7 +85,11 @@ public class BBoxStrategy extends SpatialStrategy {
/** pointValues, docValues, and nothing else. */
public static FieldType DEFAULT_FIELDTYPE;
- @Deprecated public static LegacyFieldType LEGACY_FIELDTYPE;
+ /**
+ * @deprecated Use {@link #DEFAULT_FIELDTYPE} instead.
+ */
+ @Deprecated(since = "10.0")
+ public static LegacyFieldType LEGACY_FIELDTYPE;
static {
// Default: pointValues + docValues
@@ -142,9 +149,10 @@ public class BBoxStrategy extends SpatialStrategy {
* Creates a new {@link BBoxStrategy} instance that uses {@link
LegacyDoubleField} for backwards
* compatibility
*
- * @deprecated LegacyNumerics will be removed
+ * @deprecated LegacyNumerics will be removed. Use {@link
#newInstance(SpatialContext, String)}
+ * instead.
*/
- @Deprecated
+ @Deprecated(since = "7.0")
public static BBoxStrategy newLegacyInstance(SpatialContext ctx, String
fieldNamePrefix) {
return new BBoxStrategy(ctx, fieldNamePrefix, LEGACY_FIELDTYPE);
}
diff --git a/solr/core/src/java/org/apache/solr/legacy/BBoxValueSource.java
b/solr/core/src/java/org/apache/solr/legacy/BBoxValueSource.java
index b7b794917e4..d955f6c1d45 100644
--- a/solr/core/src/java/org/apache/solr/legacy/BBoxValueSource.java
+++ b/solr/core/src/java/org/apache/solr/legacy/BBoxValueSource.java
@@ -31,8 +31,9 @@ import org.locationtech.spatial4j.shape.Shape;
* org.apache.lucene.queries.function.FunctionValues#objectVal(int)}.
*
* @lucene.internal
+ * @deprecated Internal helper for {@link BBoxStrategy}, which is deprecated.
*/
-@Deprecated
+@Deprecated(since = "9.0")
class BBoxValueSource extends ShapeValuesSource {
private final BBoxStrategy strategy;
diff --git a/solr/core/src/java/org/apache/solr/legacy/LegacyDoubleField.java
b/solr/core/src/java/org/apache/solr/legacy/LegacyDoubleField.java
index a40e3a44339..c5e9edd05be 100644
--- a/solr/core/src/java/org/apache/solr/legacy/LegacyDoubleField.java
+++ b/solr/core/src/java/org/apache/solr/legacy/LegacyDoubleField.java
@@ -91,7 +91,7 @@ import org.apache.lucene.index.IndexOptions;
* @deprecated Please use {@link DoublePoint} instead
* @since 2.9
*/
-@Deprecated
+@Deprecated(since = "6.0")
public final class LegacyDoubleField extends LegacyField {
/**
diff --git a/solr/core/src/java/org/apache/solr/legacy/LegacyField.java
b/solr/core/src/java/org/apache/solr/legacy/LegacyField.java
index fa612425b0f..3fd134fe570 100644
--- a/solr/core/src/java/org/apache/solr/legacy/LegacyField.java
+++ b/solr/core/src/java/org/apache/solr/legacy/LegacyField.java
@@ -26,7 +26,7 @@ import org.apache.lucene.index.IndexOptions;
*
* @deprecated Please switch to {@link org.apache.lucene.index.PointValues}
instead
*/
-@Deprecated
+@Deprecated(since = "7.0")
public class LegacyField extends Field {
/**
diff --git a/solr/core/src/java/org/apache/solr/legacy/LegacyFieldType.java
b/solr/core/src/java/org/apache/solr/legacy/LegacyFieldType.java
index c038d804b7a..dfc71d7106d 100644
--- a/solr/core/src/java/org/apache/solr/legacy/LegacyFieldType.java
+++ b/solr/core/src/java/org/apache/solr/legacy/LegacyFieldType.java
@@ -24,7 +24,7 @@ import org.apache.lucene.index.IndexOptions;
*
* @deprecated Please switch to {@link org.apache.lucene.index.PointValues}
instead
*/
-@Deprecated
+@Deprecated(since = "7.0")
public final class LegacyFieldType extends FieldType {
private LegacyNumericType numericType;
private int numericPrecisionStep = LegacyNumericUtils.PRECISION_STEP_DEFAULT;
@@ -47,7 +47,7 @@ public final class LegacyFieldType extends FieldType {
* @see #numericType()
* @deprecated Please switch to {@link org.apache.lucene.index.PointValues}
instead
*/
- @Deprecated
+ @Deprecated(since = "7.0")
public void setNumericType(LegacyNumericType type) {
checkIfFrozen();
numericType = type;
@@ -62,7 +62,7 @@ public final class LegacyFieldType extends FieldType {
* @see #setNumericType(LegacyNumericType)
* @deprecated Please switch to {@link org.apache.lucene.index.PointValues}
instead
*/
- @Deprecated
+ @Deprecated(since = "7.0")
public LegacyNumericType numericType() {
return numericType;
}
@@ -76,7 +76,7 @@ public final class LegacyFieldType extends FieldType {
* @see #numericPrecisionStep()
* @deprecated Please switch to {@link org.apache.lucene.index.PointValues}
instead
*/
- @Deprecated
+ @Deprecated(since = "7.0")
public void setNumericPrecisionStep(int precisionStep) {
checkIfFrozen();
if (precisionStep < 1) {
@@ -95,7 +95,7 @@ public final class LegacyFieldType extends FieldType {
* @see #setNumericPrecisionStep(int)
* @deprecated Please switch to {@link org.apache.lucene.index.PointValues}
instead
*/
- @Deprecated
+ @Deprecated(since = "7.0")
public int numericPrecisionStep() {
return numericPrecisionStep;
}
diff --git a/solr/core/src/java/org/apache/solr/legacy/LegacyFloatField.java
b/solr/core/src/java/org/apache/solr/legacy/LegacyFloatField.java
index b1a60beabb1..3d0c5cf8d51 100644
--- a/solr/core/src/java/org/apache/solr/legacy/LegacyFloatField.java
+++ b/solr/core/src/java/org/apache/solr/legacy/LegacyFloatField.java
@@ -91,7 +91,7 @@ import org.apache.lucene.index.IndexOptions;
* @deprecated Please use {@link FloatPoint} instead
* @since 2.9
*/
-@Deprecated
+@Deprecated(since = "6.0")
public final class LegacyFloatField extends LegacyField {
/**
diff --git a/solr/core/src/java/org/apache/solr/legacy/LegacyIntField.java
b/solr/core/src/java/org/apache/solr/legacy/LegacyIntField.java
index 21ce5f2ca1a..6b79e4bd8b1 100644
--- a/solr/core/src/java/org/apache/solr/legacy/LegacyIntField.java
+++ b/solr/core/src/java/org/apache/solr/legacy/LegacyIntField.java
@@ -91,7 +91,7 @@ import org.apache.lucene.index.IndexOptions;
* @deprecated Please use {@link IntPoint} instead
* @since 2.9
*/
-@Deprecated
+@Deprecated(since = "6.0")
public final class LegacyIntField extends LegacyField {
/**
diff --git a/solr/core/src/java/org/apache/solr/legacy/LegacyLongField.java
b/solr/core/src/java/org/apache/solr/legacy/LegacyLongField.java
index 6411c2e3d21..0f9bb779451 100644
--- a/solr/core/src/java/org/apache/solr/legacy/LegacyLongField.java
+++ b/solr/core/src/java/org/apache/solr/legacy/LegacyLongField.java
@@ -97,7 +97,7 @@ import org.apache.lucene.index.IndexOptions;
* @deprecated Please use {@link LongPoint} instead
* @since 2.9
*/
-@Deprecated
+@Deprecated(since = "6.0")
public final class LegacyLongField extends LegacyField {
/**
diff --git
a/solr/core/src/java/org/apache/solr/legacy/LegacyNumericRangeQuery.java
b/solr/core/src/java/org/apache/solr/legacy/LegacyNumericRangeQuery.java
index a8330510025..4b62f5ac6d3 100644
--- a/solr/core/src/java/org/apache/solr/legacy/LegacyNumericRangeQuery.java
+++ b/solr/core/src/java/org/apache/solr/legacy/LegacyNumericRangeQuery.java
@@ -177,7 +177,7 @@ import org.apache.lucene.util.NumericUtils;
* on Points.
* @since 2.9
*/
-@Deprecated
+@Deprecated(since = "6.0")
public final class LegacyNumericRangeQuery<T extends Number> extends
MultiTermQuery {
private LegacyNumericRangeQuery(
diff --git
a/solr/core/src/java/org/apache/solr/legacy/LegacyNumericTokenStream.java
b/solr/core/src/java/org/apache/solr/legacy/LegacyNumericTokenStream.java
index 9ac670fce22..03bade9cc54 100644
--- a/solr/core/src/java/org/apache/solr/legacy/LegacyNumericTokenStream.java
+++ b/solr/core/src/java/org/apache/solr/legacy/LegacyNumericTokenStream.java
@@ -81,7 +81,7 @@ import org.apache.lucene.util.NumericUtils;
* @deprecated Please switch to {@link org.apache.lucene.index.PointValues}
instead
* @since 2.9
*/
-@Deprecated
+@Deprecated(since = "6.0")
public final class LegacyNumericTokenStream extends TokenStream {
/** The full precision token gets this token type assigned. */
diff --git a/solr/core/src/java/org/apache/solr/legacy/LegacyNumericType.java
b/solr/core/src/java/org/apache/solr/legacy/LegacyNumericType.java
index 2ee66130d2c..3995f498122 100644
--- a/solr/core/src/java/org/apache/solr/legacy/LegacyNumericType.java
+++ b/solr/core/src/java/org/apache/solr/legacy/LegacyNumericType.java
@@ -22,7 +22,7 @@ package org.apache.solr.legacy;
* @since 3.2
* @deprecated Please switch to {@link org.apache.lucene.index.PointValues}
instead
*/
-@Deprecated
+@Deprecated(since = "7.0")
public enum LegacyNumericType {
/** 32-bit integer numeric type */
INT,
diff --git a/solr/core/src/java/org/apache/solr/legacy/LegacyNumericUtils.java
b/solr/core/src/java/org/apache/solr/legacy/LegacyNumericUtils.java
index 7bfcb04111e..0aa58bab5e4 100644
--- a/solr/core/src/java/org/apache/solr/legacy/LegacyNumericUtils.java
+++ b/solr/core/src/java/org/apache/solr/legacy/LegacyNumericUtils.java
@@ -49,7 +49,7 @@ import org.apache.lucene.util.BytesRefBuilder;
* @deprecated Please use {@link org.apache.lucene.index.PointValues} instead.
* @since 2.9, API changed non backwards-compliant in 4.0
*/
-@Deprecated
+@Deprecated(since = "6.0")
public final class LegacyNumericUtils {
private LegacyNumericUtils() {} // no instance!
diff --git a/solr/core/src/java/org/apache/solr/response/DocsStreamer.java
b/solr/core/src/java/org/apache/solr/response/DocsStreamer.java
index c90ce1170bb..1f7a2e5ac28 100644
--- a/solr/core/src/java/org/apache/solr/response/DocsStreamer.java
+++ b/solr/core/src/java/org/apache/solr/response/DocsStreamer.java
@@ -72,7 +72,8 @@ public class DocsStreamer implements Iterator<SolrDocument> {
* @deprecated new field types should not be added to this list, instead use
{@link
* ExternalizeStoredValuesAsObjects}
*/
- @Deprecated public static final Set<Class<? extends FieldType>> KNOWN_TYPES
= new HashSet<>();
+ @Deprecated(since = "10.1")
+ public static final Set<Class<? extends FieldType>> KNOWN_TYPES = new
HashSet<>();
private final ResultContext rctx;
private final SolrDocumentFetcher docFetcher; // a collaborator of
SolrIndexSearcher
diff --git a/solr/core/src/java/org/apache/solr/schema/TrieDateField.java
b/solr/core/src/java/org/apache/solr/schema/TrieDateField.java
index 83ea0fb99ed..15e7c7a1593 100644
--- a/solr/core/src/java/org/apache/solr/schema/TrieDateField.java
+++ b/solr/core/src/java/org/apache/solr/schema/TrieDateField.java
@@ -72,10 +72,9 @@ import org.apache.solr.util.DateMathParser;
* </blockquote>
*
* @see TrieField
- * @deprecated Trie fields are deprecated as of Solr 7.0
- * @see DatePointField
+ * @deprecated Trie fields are deprecated as of Solr 7.0. Use {@link
DatePointField} instead.
*/
-@Deprecated
+@Deprecated(since = "7.0")
public class TrieDateField extends TrieField implements DateValueFieldType {
{
this.type = NumberType.DATE;
diff --git a/solr/core/src/java/org/apache/solr/schema/TrieDoubleField.java
b/solr/core/src/java/org/apache/solr/schema/TrieDoubleField.java
index 7d83f0d721c..7fdf0915374 100644
--- a/solr/core/src/java/org/apache/solr/schema/TrieDoubleField.java
+++ b/solr/core/src/java/org/apache/solr/schema/TrieDoubleField.java
@@ -47,10 +47,9 @@ import org.apache.solr.legacy.LegacyNumericUtils;
* @see Double
* @see <a
href="http://java.sun.com/docs/books/jls/third_edition/html/typesValues.html#4.2.3">Java
* Language Specification, s4.2.3</a>
- * @deprecated Trie fields are deprecated as of Solr 7.0
- * @see DoublePointField
+ * @deprecated Trie fields are deprecated as of Solr 7.0. Use {@link
DoublePointField} instead.
*/
-@Deprecated
+@Deprecated(since = "7.0")
public class TrieDoubleField extends TrieField implements DoubleValueFieldType
{
{
type = NumberType.DOUBLE;
diff --git a/solr/core/src/java/org/apache/solr/schema/TrieField.java
b/solr/core/src/java/org/apache/solr/schema/TrieField.java
index 9512176d33d..7c23683d6f7 100644
--- a/solr/core/src/java/org/apache/solr/schema/TrieField.java
+++ b/solr/core/src/java/org/apache/solr/schema/TrieField.java
@@ -84,10 +84,9 @@ import org.slf4j.LoggerFactory;
*
* @see org.apache.solr.legacy.LegacyNumericRangeQuery
* @since solr 1.4
- * @deprecated Trie fields are deprecated as of Solr 7.0
- * @see PointField
+ * @deprecated Trie fields are deprecated as of Solr 7.0. Use {@link
PointField} instead.
*/
-@Deprecated
+@Deprecated(since = "7.0")
public class TrieField extends NumericFieldType {
public static final int DEFAULT_PRECISION_STEP = 8;
@@ -720,7 +719,11 @@ public class TrieField extends NumericFieldType {
}
}
-@Deprecated
+/**
+ * @deprecated Internal helper for {@link TrieDateField}, which is deprecated.
Use {@link
+ * DatePointField} instead.
+ */
+@Deprecated(since = "7.0")
class TrieDateFieldSource extends LongFieldSource {
public TrieDateFieldSource(String field) {
diff --git a/solr/core/src/java/org/apache/solr/schema/TrieFloatField.java
b/solr/core/src/java/org/apache/solr/schema/TrieFloatField.java
index 5a786c6d58c..8c87c60bc3b 100644
--- a/solr/core/src/java/org/apache/solr/schema/TrieFloatField.java
+++ b/solr/core/src/java/org/apache/solr/schema/TrieFloatField.java
@@ -47,10 +47,9 @@ import org.apache.solr.legacy.LegacyNumericUtils;
* @see Float
* @see <a
href="http://java.sun.com/docs/books/jls/third_edition/html/typesValues.html#4.2.3">Java
* Language Specification, s4.2.3</a>
- * @deprecated Trie fields are deprecated as of Solr 7.0
- * @see FloatPointField
+ * @deprecated Trie fields are deprecated as of Solr 7.0. Use {@link
FloatPointField} instead.
*/
-@Deprecated
+@Deprecated(since = "7.0")
public class TrieFloatField extends TrieField implements FloatValueFieldType {
{
type = NumberType.FLOAT;
diff --git a/solr/core/src/java/org/apache/solr/schema/TrieIntField.java
b/solr/core/src/java/org/apache/solr/schema/TrieIntField.java
index c0adef7a4ad..b595eaa99c0 100644
--- a/solr/core/src/java/org/apache/solr/schema/TrieIntField.java
+++ b/solr/core/src/java/org/apache/solr/schema/TrieIntField.java
@@ -41,10 +41,9 @@ import org.apache.solr.legacy.LegacyNumericUtils;
* </ul>
*
* @see Integer
- * @deprecated Trie fields are deprecated as of Solr 7.0
- * @see IntPointField
+ * @deprecated Trie fields are deprecated as of Solr 7.0. Use {@link
IntPointField} instead.
*/
-@Deprecated
+@Deprecated(since = "7.0")
public class TrieIntField extends TrieField implements IntValueFieldType {
{
type = NumberType.INTEGER;
diff --git a/solr/core/src/java/org/apache/solr/schema/TrieLongField.java
b/solr/core/src/java/org/apache/solr/schema/TrieLongField.java
index 1d27aac03e2..e9e37b3b8e5 100644
--- a/solr/core/src/java/org/apache/solr/schema/TrieLongField.java
+++ b/solr/core/src/java/org/apache/solr/schema/TrieLongField.java
@@ -41,10 +41,9 @@ import org.apache.solr.legacy.LegacyNumericUtils;
* </ul>
*
* @see Long
- * @deprecated Trie fields are deprecated as of Solr 7.0
- * @see LongPointField
+ * @deprecated Trie fields are deprecated as of Solr 7.0. Use {@link
LongPointField} instead.
*/
-@Deprecated
+@Deprecated(since = "7.0")
public class TrieLongField extends TrieField implements LongValueFieldType {
{
type = NumberType.LONG;
diff --git
a/solr/core/src/java/org/apache/solr/search/EarlyTerminatingSortingCollector.java
b/solr/core/src/java/org/apache/solr/search/EarlyTerminatingSortingCollector.java
index 4153f197432..aca8c6aa468 100644
---
a/solr/core/src/java/org/apache/solr/search/EarlyTerminatingSortingCollector.java
+++
b/solr/core/src/java/org/apache/solr/search/EarlyTerminatingSortingCollector.java
@@ -49,7 +49,7 @@ import org.apache.lucene.search.TotalHitCountCollector;
* @deprecated Use {@link TopFieldCollector} and set trackTotalHits to false.
* @lucene.experimental
*/
-@Deprecated
+@Deprecated(since = "7.2")
final class EarlyTerminatingSortingCollector extends FilterCollector {
/**
diff --git
a/solr/core/src/java/org/apache/solr/search/LegacyNumericRangeQueryBuilder.java
b/solr/core/src/java/org/apache/solr/search/LegacyNumericRangeQueryBuilder.java
index ce0fc6a005f..0cdbbf77a0c 100644
---
a/solr/core/src/java/org/apache/solr/search/LegacyNumericRangeQueryBuilder.java
+++
b/solr/core/src/java/org/apache/solr/search/LegacyNumericRangeQueryBuilder.java
@@ -89,7 +89,7 @@ import org.w3c.dom.Element;
*
* @deprecated Index with points and use {@link PointRangeQueryBuilder} instead
*/
-@Deprecated
+@Deprecated(since = "7.0")
public class LegacyNumericRangeQueryBuilder implements QueryBuilder {
@Override
diff --git
a/solr/core/src/java/org/apache/solr/search/NumericHidingLeafReader.java
b/solr/core/src/java/org/apache/solr/search/NumericHidingLeafReader.java
index 8b80b87053d..1da96a2647e 100644
--- a/solr/core/src/java/org/apache/solr/search/NumericHidingLeafReader.java
+++ b/solr/core/src/java/org/apache/solr/search/NumericHidingLeafReader.java
@@ -39,7 +39,7 @@ import org.apache.solr.uninverting.UninvertingReader;
* <li>doing grouped faceting ({@code group.facet}) on a single-valued
numeric field.
* </ul>
*/
-@Deprecated
+@Deprecated(since = "6.0")
public class NumericHidingLeafReader extends FilterLeafReader {
/**
diff --git a/solr/core/src/java/org/apache/solr/spelling/Token.java
b/solr/core/src/java/org/apache/solr/spelling/Token.java
index 38441722a29..c163784a8bd 100644
--- a/solr/core/src/java/org/apache/solr/spelling/Token.java
+++ b/solr/core/src/java/org/apache/solr/spelling/Token.java
@@ -53,7 +53,7 @@ import org.apache.lucene.util.BytesRef;
* can be reset, clone it again.
* </ul>
*/
-@Deprecated
+@Deprecated(since = "7.0")
public class Token extends PackedTokenAttributeImpl implements FlagsAttribute,
PayloadAttribute {
// TODO Refactor the spellchecker API to use TokenStreams properly, rather
than this hack
diff --git a/solr/core/src/java/org/apache/solr/uninverting/FieldCache.java
b/solr/core/src/java/org/apache/solr/uninverting/FieldCache.java
index 93b32320be4..581b136f821 100644
--- a/solr/core/src/java/org/apache/solr/uninverting/FieldCache.java
+++ b/solr/core/src/java/org/apache/solr/uninverting/FieldCache.java
@@ -67,7 +67,7 @@ public interface FieldCache {
* @throws IOException if an {@link IOException} occurs
* @deprecated index with Points instead
*/
- @Deprecated
+ @Deprecated(since = "7.0")
public TermsEnum termsEnum(Terms terms) throws IOException;
/** Parse's this field's value */
@@ -167,7 +167,7 @@ public interface FieldCache {
*
* @deprecated Index with points and use {@link #INT_POINT_PARSER} instead.
*/
- @Deprecated
+ @Deprecated(since = "7.0")
public static final Parser LEGACY_INT_PARSER =
new Parser() {
@Override
@@ -194,7 +194,7 @@ public interface FieldCache {
*
* @deprecated Index with points and use {@link #FLOAT_POINT_PARSER} instead.
*/
- @Deprecated
+ @Deprecated(since = "7.0")
public static final Parser LEGACY_FLOAT_PARSER =
new Parser() {
@Override
@@ -222,7 +222,7 @@ public interface FieldCache {
*
* @deprecated Index with points and use {@link #LONG_POINT_PARSER} instead.
*/
- @Deprecated
+ @Deprecated(since = "7.0")
public static final Parser LEGACY_LONG_PARSER =
new Parser() {
@Override
@@ -249,7 +249,7 @@ public interface FieldCache {
*
* @deprecated Index with points and use {@link #DOUBLE_POINT_PARSER}
instead.
*/
- @Deprecated
+ @Deprecated(since = "7.0")
public static final Parser LEGACY_DOUBLE_PARSER =
new Parser() {
@Override
diff --git
a/solr/core/src/java/org/apache/solr/uninverting/UninvertingReader.java
b/solr/core/src/java/org/apache/solr/uninverting/UninvertingReader.java
index 5f85aac034e..dcad90587f3 100644
--- a/solr/core/src/java/org/apache/solr/uninverting/UninvertingReader.java
+++ b/solr/core/src/java/org/apache/solr/uninverting/UninvertingReader.java
@@ -85,7 +85,7 @@ public class UninvertingReader extends FilterLeafReader {
*
* @deprecated Index with points and use {@link #INTEGER_POINT} instead.
*/
- @Deprecated
+ @Deprecated(since = "7.0")
LEGACY_INTEGER,
/**
* Single-valued Long, (e.g. indexed with {@link
org.apache.solr.legacy.LegacyLongField})
@@ -94,7 +94,7 @@ public class UninvertingReader extends FilterLeafReader {
*
* @deprecated Index with points and use {@link #LONG_POINT} instead.
*/
- @Deprecated
+ @Deprecated(since = "7.0")
LEGACY_LONG,
/**
* Single-valued Float, (e.g. indexed with {@link
org.apache.solr.legacy.LegacyFloatField})
@@ -103,7 +103,7 @@ public class UninvertingReader extends FilterLeafReader {
*
* @deprecated Index with points and use {@link #FLOAT_POINT} instead.
*/
- @Deprecated
+ @Deprecated(since = "7.0")
LEGACY_FLOAT,
/**
* Single-valued Double, (e.g. indexed with {@link
org.apache.solr.legacy.LegacyDoubleField})
@@ -112,7 +112,7 @@ public class UninvertingReader extends FilterLeafReader {
*
* @deprecated Index with points and use {@link #DOUBLE_POINT} instead.
*/
- @Deprecated
+ @Deprecated(since = "7.0")
LEGACY_DOUBLE,
/**
* Single-valued Binary, (e.g. indexed with {@link StringField})
diff --git
a/solr/cross-dc-manager/src/test/org/apache/solr/crossdc/manager/messageprocessor/TestMessageProcessor.java
b/solr/cross-dc-manager/src/test/org/apache/solr/crossdc/manager/messageprocessor/TestMessageProcessor.java
index 769fc58cb29..5303d8f2323 100644
---
a/solr/cross-dc-manager/src/test/org/apache/solr/crossdc/manager/messageprocessor/TestMessageProcessor.java
+++
b/solr/cross-dc-manager/src/test/org/apache/solr/crossdc/manager/messageprocessor/TestMessageProcessor.java
@@ -30,6 +30,7 @@ import static org.mockito.Mockito.when;
import java.util.Map;
import org.apache.solr.client.solrj.impl.CloudSolrClient;
+import org.apache.solr.client.solrj.impl.ClusterStateProvider;
import org.apache.solr.client.solrj.request.UpdateRequest;
import org.apache.solr.client.solrj.response.UpdateResponse;
import org.apache.solr.common.SolrException;
@@ -72,6 +73,10 @@ public class TestMessageProcessor {
public void setUp() {
MockitoAnnotations.initMocks(this);
+ // handleItem() probes the cluster through the state provider, so the mock
must supply one
+ ClusterStateProvider clusterStateProvider =
Mockito.mock(ClusterStateProvider.class);
+
when(solrClient.getClusterStateProvider()).thenReturn(clusterStateProvider);
+
ConsumerMetrics metrics = Mockito.mock(OtelMetrics.class);
processor = Mockito.spy(new SolrMessageProcessor(metrics, () ->
solrClient, backoffPolicy));
Mockito.doNothing().when(processor).uncheckedSleep(anyLong());
diff --git
a/solr/solrj-streaming/src/java/org/apache/solr/client/solrj/io/SolrClientCache.java
b/solr/solrj-streaming/src/java/org/apache/solr/client/solrj/io/SolrClientCache.java
index 783b4af6edc..b2e698c3cd3 100644
---
a/solr/solrj-streaming/src/java/org/apache/solr/client/solrj/io/SolrClientCache.java
+++
b/solr/solrj-streaming/src/java/org/apache/solr/client/solrj/io/SolrClientCache.java
@@ -79,7 +79,7 @@ public class SolrClientCache implements Closeable {
/**
* @deprecated use {@link
#getCloudSolrClient(CloudSolrClient.CloudSolrClientConnection)}
*/
- @Deprecated
+ @Deprecated(since = "10.1")
public CloudSolrClient getCloudSolrClient(String solrConnectionString) {
var solrConnection =
CloudSolrClient.CloudSolrClientConnection.parse(solrConnectionString);
return getCloudSolrClient(solrConnection);
diff --git
a/solr/solrj-zookeeper/src/java/org/apache/solr/common/cloud/VMParamsSingleSetCredentialsDigestZkCredentialsProvider.java
b/solr/solrj-zookeeper/src/java/org/apache/solr/common/cloud/VMParamsSingleSetCredentialsDigestZkCredentialsProvider.java
index 05c3d88d199..8d3285db92d 100644
---
a/solr/solrj-zookeeper/src/java/org/apache/solr/common/cloud/VMParamsSingleSetCredentialsDigestZkCredentialsProvider.java
+++
b/solr/solrj-zookeeper/src/java/org/apache/solr/common/cloud/VMParamsSingleSetCredentialsDigestZkCredentialsProvider.java
@@ -20,14 +20,13 @@ import java.util.List;
import org.apache.curator.framework.AuthInfo;
/**
- * Deprecated in favor of a combination of {@link DigestZkCredentialsProvider}
and {@link
+ * Current implementation delegates to {@link DigestZkCredentialsProvider}
with an injected {@link
* VMParamsZkCredentialsInjector}.
*
- * <pre>
- * Current implementation delegates to {@link DigestZkCredentialsProvider}
with an injected {@link VMParamsZkCredentialsInjector}
- * </pre>
+ * @deprecated Use a combination of {@link DigestZkCredentialsProvider} and
{@link
+ * VMParamsZkCredentialsInjector} instead.
*/
-@Deprecated
+@Deprecated(since = "10.0")
public class VMParamsSingleSetCredentialsDigestZkCredentialsProvider
extends DefaultZkCredentialsProvider {
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/SolrClient.java
b/solr/solrj/src/java/org/apache/solr/client/solrj/SolrClient.java
index e83ce93f7a5..5d54d12155a 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/SolrClient.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/SolrClient.java
@@ -1198,6 +1198,8 @@ public abstract class SolrClient implements Serializable,
Closeable {
* This method defines the context in which this Solr client is being used
(e.g. for internal
* communication between Solr nodes or as an external client). The default
value is {@code
* SolrClientContext#Client}
+ *
+ * @deprecated No replacement has been designed yet; see SOLR-14720.
*/
@Deprecated(since = "10.1") // TODO replace or refactor; see SOLR-14720
related
public SolrRequest.SolrClientContext getContext() {
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/SolrRequest.java
b/solr/solrj/src/java/org/apache/solr/client/solrj/SolrRequest.java
index fb975b9bab2..5dc69902c0a 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/SolrRequest.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/SolrRequest.java
@@ -275,7 +275,7 @@ public abstract class SolrRequest<T> implements
Serializable {
/**
* @deprecated Please use {@link SolrRequest#getContentWriter(String)}
instead.
*/
- @Deprecated
+ @Deprecated(since = "7.2")
public Collection<ContentStream> getContentStreams() throws IOException {
return null;
}
diff --git
a/solr/solrj/src/java/org/apache/solr/client/solrj/WrappedSolrRequest.java
b/solr/solrj/src/java/org/apache/solr/client/solrj/WrappedSolrRequest.java
index 4f2ab125122..56d1c018d2b 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/WrappedSolrRequest.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/WrappedSolrRequest.java
@@ -161,7 +161,7 @@ public class WrappedSolrRequest<T> extends SolrRequest<T> {
}
@Override
- @Deprecated
+ @Deprecated(since = "10.1")
public Collection<ContentStream> getContentStreams() throws IOException {
return wrapped.getContentStreams();
}
diff --git
a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudSolrClient.java
b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudSolrClient.java
index cb499afca8b..07c8af0c5cd 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudSolrClient.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudSolrClient.java
@@ -198,7 +198,7 @@ public abstract class CloudSolrClient extends SolrClient {
* @deprecated problematic as a 'get' method, since one implementation will
do a remote request
* each time this is called, potentially return lots of data that isn't
even needed.
*/
- @Deprecated
+ @Deprecated(since = "10.1")
public ClusterState getClusterState() {
// The future of "ClusterState" isn't clear. Could make it more of a
cache instead of a
// snapshot, so we un-deprecate. Or we avoid it and maybe make the
ClusterStateProvider as that
diff --git
a/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionAdminRequest.java
b/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionAdminRequest.java
index 58533105461..ac7af67427c 100644
---
a/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionAdminRequest.java
+++
b/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionAdminRequest.java
@@ -165,6 +165,11 @@ public abstract class CollectionAdminRequest<T extends
CollectionAdminResponse>
return asyncId;
}
+ /**
+ * @deprecated Solr is moving toward always waiting for final state, with
no option to opt out;
+ * once that happens, this parameter will have no effect and will
likely be removed. See
+ * SOLR-17712.
+ */
@Deprecated(since = "9.10")
public void setWaitForFinalState(boolean waitForFinalState) {
this.waitForFinalState = waitForFinalState;
@@ -1153,8 +1158,10 @@ public abstract class CollectionAdminRequest<T extends
CollectionAdminResponse>
* reason to do so.
*
* @param incremental true to use incremental backups, false otherwise.
+ * @deprecated The 'full-snapshot' format is being removed; incremental
backups are already the
+ * default, so this method no longer needs to be called.
*/
- @Deprecated
+ @Deprecated(since = "9.0")
public Backup setIncremental(boolean incremental) {
this.incremental = incremental;
return this;
diff --git
a/solr/solrj/src/java/org/apache/solr/client/solrj/request/RequestWriter.java
b/solr/solrj/src/java/org/apache/solr/client/solrj/request/RequestWriter.java
index cca9c544c6a..f57cf2bafd7 100644
---
a/solr/solrj/src/java/org/apache/solr/client/solrj/request/RequestWriter.java
+++
b/solr/solrj/src/java/org/apache/solr/client/solrj/request/RequestWriter.java
@@ -54,7 +54,7 @@ public abstract class RequestWriter {
/**
* @deprecated Use {@link #getContentWriter(SolrRequest)}.
*/
- @Deprecated
+ @Deprecated(since = "7.6")
public abstract Collection<ContentStream> getContentStreams(SolrRequest<?>
req)
throws IOException;
diff --git
a/solr/solrj/src/java/org/apache/solr/client/solrj/request/SolrQuery.java
b/solr/solrj/src/java/org/apache/solr/client/solrj/request/SolrQuery.java
index f07741e996e..07a65724299 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/request/SolrQuery.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/request/SolrQuery.java
@@ -1145,13 +1145,17 @@ public class SolrQuery extends ModifiableSolrParams {
* @deprecated use QueryRequest#QueryRequest(String, SolrParams)
* @see SolrRequest#setPath(String)
*/
- @Deprecated
+ @Deprecated(since = "10.0")
public SolrQuery setRequestHandler(String qt) {
this.set(CommonParams.QT, qt);
return this;
}
- @Deprecated
+ /**
+ * @deprecated use QueryRequest#QueryRequest(String, SolrParams)
+ * @see SolrRequest#getPath()
+ */
+ @Deprecated(since = "10.0")
public String getRequestHandler() {
return this.get(CommonParams.QT);
}
diff --git
a/solr/solrj/src/java/org/apache/solr/client/solrj/request/beans/CreateShardPayload.java
b/solr/solrj/src/java/org/apache/solr/client/solrj/request/beans/CreateShardPayload.java
index eaa2cb804ae..6d4182c6063 100644
---
a/solr/solrj/src/java/org/apache/solr/client/solrj/request/beans/CreateShardPayload.java
+++
b/solr/solrj/src/java/org/apache/solr/client/solrj/request/beans/CreateShardPayload.java
@@ -34,6 +34,11 @@ public class CreateShardPayload implements ReflectMapWriter {
@JsonProperty public String async;
+ /**
+ * @deprecated Solr is moving toward always waiting for final state, with no
option to opt out;
+ * once that happens, this parameter will have no effect and will likely
be removed. See
+ * SOLR-17712.
+ */
@JsonProperty
@Deprecated(since = "9.10")
public Boolean waitForFinalState;
diff --git
a/solr/solrj/src/java/org/apache/solr/client/solrj/request/beans/MoveReplicaPayload.java
b/solr/solrj/src/java/org/apache/solr/client/solrj/request/beans/MoveReplicaPayload.java
index 4c075b12a46..475090e82ad 100644
---
a/solr/solrj/src/java/org/apache/solr/client/solrj/request/beans/MoveReplicaPayload.java
+++
b/solr/solrj/src/java/org/apache/solr/client/solrj/request/beans/MoveReplicaPayload.java
@@ -29,6 +29,11 @@ public class MoveReplicaPayload implements ReflectMapWriter {
@JsonProperty public String sourceNode;
+ /**
+ * @deprecated Solr is moving toward always waiting for final state, with no
option to opt out;
+ * once that happens, this parameter will have no effect and will likely
be removed. See
+ * SOLR-17712.
+ */
@JsonProperty
@Deprecated(since = "9.10")
public Boolean waitForFinalState = false;
diff --git
a/solr/solrj/src/java/org/apache/solr/client/solrj/request/beans/SplitShardPayload.java
b/solr/solrj/src/java/org/apache/solr/client/solrj/request/beans/SplitShardPayload.java
index 8b7e783e41b..37d98fb2e67 100644
---
a/solr/solrj/src/java/org/apache/solr/client/solrj/request/beans/SplitShardPayload.java
+++
b/solr/solrj/src/java/org/apache/solr/client/solrj/request/beans/SplitShardPayload.java
@@ -46,6 +46,11 @@ public class SplitShardPayload implements ReflectMapWriter {
@JsonProperty public String async;
+ /**
+ * @deprecated Solr is moving toward always waiting for final state, with no
option to opt out;
+ * once that happens, this parameter will have no effect and will likely
be removed. See
+ * SOLR-17712.
+ */
@JsonProperty
@Deprecated(since = "9.10")
public Boolean waitForFinalState;
diff --git a/solr/solrj/src/java/org/apache/solr/common/cloud/ClusterState.java
b/solr/solrj/src/java/org/apache/solr/common/cloud/ClusterState.java
index 7064c13e707..40832f59b9d 100644
--- a/solr/solrj/src/java/org/apache/solr/common/cloud/ClusterState.java
+++ b/solr/solrj/src/java/org/apache/solr/common/cloud/ClusterState.java
@@ -160,7 +160,7 @@ public class ClusterState implements MapWriter {
return liveNodes;
}
- @Deprecated
+ @Deprecated(since = "10.0")
public Map<String, List<Replica>> getReplicaNamesPerCollectionOnNode(final
String nodeName) {
Map<String, List<Replica>> replicaNamesPerCollectionOnNode = new
HashMap<>();
collectionStates.values().stream()
diff --git
a/solr/solrj/src/java/org/apache/solr/common/params/CollectionParams.java
b/solr/solrj/src/java/org/apache/solr/common/params/CollectionParams.java
index 14b85ef94a4..c27c8afebe8 100644
--- a/solr/solrj/src/java/org/apache/solr/common/params/CollectionParams.java
+++ b/solr/solrj/src/java/org/apache/solr/common/params/CollectionParams.java
@@ -97,8 +97,16 @@ public interface CollectionParams {
DELETEREPLICA(true, LockLevel.SHARD),
FORCELEADER(true, LockLevel.SHARD),
MIGRATE(true, LockLevel.COLLECTION),
+ /**
+ * @deprecated This API will be removed in Solr 11. Use Node Roles ({@code
-Dsolr.node.roles})
+ * at startup instead.
+ */
@Deprecated(since = "10.1")
ADDROLE(true, LockLevel.NONE),
+ /**
+ * @deprecated This API will be removed in Solr 11. Use Node Roles ({@code
-Dsolr.node.roles})
+ * at startup instead.
+ */
@Deprecated(since = "10.1")
REMOVEROLE(true, LockLevel.NONE),
CLUSTERPROP(true, LockLevel.NONE),
diff --git
a/solr/solrj/src/java/org/apache/solr/common/params/CommonAdminParams.java
b/solr/solrj/src/java/org/apache/solr/common/params/CommonAdminParams.java
index b77516daf08..b55162d01cd 100644
--- a/solr/solrj/src/java/org/apache/solr/common/params/CommonAdminParams.java
+++ b/solr/solrj/src/java/org/apache/solr/common/params/CommonAdminParams.java
@@ -21,7 +21,13 @@ public interface CommonAdminParams {
/** Async or not? * */
String ASYNC = "async";
- /** Wait for final state of the operation. */
+ /**
+ * Wait for final state of the operation.
+ *
+ * @deprecated Solr is moving toward always waiting for final state, with no
option to opt out;
+ * once that happens, this parameter will have no effect and will likely
be removed. See
+ * SOLR-17712.
+ */
@Deprecated(since = "9.10")
String WAIT_FOR_FINAL_STATE = "waitForFinalState";
diff --git a/solr/solrj/src/java/org/apache/solr/common/util/ContentStream.java
b/solr/solrj/src/java/org/apache/solr/common/util/ContentStream.java
index 7c1de75568e..dcf475327ab 100644
--- a/solr/solrj/src/java/org/apache/solr/common/util/ContentStream.java
+++ b/solr/solrj/src/java/org/apache/solr/common/util/ContentStream.java
@@ -25,7 +25,7 @@ import
org.apache.solr.client.solrj.request.RequestWriter.ContentWriter;
* @since solr 1.2
* @deprecated Use {@link ContentWriter} instead.
*/
-@Deprecated
+@Deprecated(since = "10.0")
public interface ContentStream {
String getName();
diff --git a/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
b/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
index a280f1d8a6b..295f595bf1c 100644
--- a/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
+++ b/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
@@ -2254,7 +2254,11 @@ public abstract class SolrTestCaseJ4 extends
SolrTestCase {
// and copies the stock files in there.
/** Copies the test collection1 config into {@code dstRoot}/{@code
collection}/conf */
- @Deprecated // Instead use a basic config + whatever is needed or default
config
+ /**
+ * @deprecated Use a basic config plus whatever is needed, or the default
config, instead of
+ * copying the full collection1 test config.
+ */
+ @Deprecated(since = "10.0") // Instead use a basic config + whatever is
needed or default config
public static void copySolrHomeToTemp(Path dstRoot, String collection)
throws IOException {
Path subHome = dstRoot.resolve(collection).resolve("conf");
Files.createDirectories(subHome);
@@ -2527,13 +2531,23 @@ public abstract class SolrTestCaseJ4 extends
SolrTestCase {
*
* @param url the base URL for a Solr node. Should not contain a core or
collection name.
*/
- @Deprecated // probably use an existing client like on a testRule/jettyRunner
+ /**
+ * @deprecated Prefer an existing client, e.g. from a {@link
+ * org.apache.solr.util.SolrClientTestRule} or {@link
+ * org.apache.solr.embedded.JettySolrRunner#getSolrClient()}.
+ */
+ @Deprecated(since = "10.1") // probably use an existing client like on a
testRule/jettyRunner
public static HttpJettySolrClient getHttpSolrClient(String url) {
return new HttpJettySolrClient.Builder(url).build();
}
/** Create a basic HttpSolrClient pointed at the specified replica */
- @Deprecated // probably use an existing client like on a testRule/jettyRunner
+ /**
+ * @deprecated Prefer an existing client, e.g. from a {@link
+ * org.apache.solr.util.SolrClientTestRule} or {@link
+ * org.apache.solr.embedded.JettySolrRunner#getSolrClient()}.
+ */
+ @Deprecated(since = "10.1") // probably use an existing client like on a
testRule/jettyRunner
public static HttpJettySolrClient getHttpSolrClient(Replica replica) {
return getHttpSolrClient(replica.getBaseUrl(), replica.getCoreName());
}
@@ -2547,7 +2561,12 @@ public abstract class SolrTestCaseJ4 extends
SolrTestCase {
* @param defaultCoreName the name of a core that the created client should
default to when making
* core-aware requests
*/
- @Deprecated // probably use an existing client like on a testRule/jettyRunner
+ /**
+ * @deprecated Prefer an existing client, e.g. from a {@link
+ * org.apache.solr.util.SolrClientTestRule} or {@link
+ * org.apache.solr.embedded.JettySolrRunner#getSolrClient()}.
+ */
+ @Deprecated(since = "10.1") // probably use an existing client like on a
testRule/jettyRunner
public static HttpJettySolrClient getHttpSolrClient(String url, String
defaultCoreName) {
return new
HttpJettySolrClient.Builder(url).withDefaultCollection(defaultCoreName).build();
}
diff --git
a/solr/test-framework/src/java/org/apache/solr/embedded/JettySolrRunner.java
b/solr/test-framework/src/java/org/apache/solr/embedded/JettySolrRunner.java
index 0a0f8554da0..bd97bf8c690 100644
--- a/solr/test-framework/src/java/org/apache/solr/embedded/JettySolrRunner.java
+++ b/solr/test-framework/src/java/org/apache/solr/embedded/JettySolrRunner.java
@@ -785,7 +785,10 @@ public class JettySolrRunner implements SolrBackend {
}
}
- @Deprecated
+ /**
+ * @deprecated Use {@link #getSolrClient()} or {@link #newClient(int, int)}
instead.
+ */
+ @Deprecated(since = "10.1")
public HttpJettySolrClient newClient() {
return new HttpJettySolrClient.Builder(getBaseUrl().toString()).build();
}
diff --git
a/solr/test-framework/src/java/org/apache/solr/util/SolrJettyTestRule.java
b/solr/test-framework/src/java/org/apache/solr/util/SolrJettyTestRule.java
index 0640c02bcd1..2d0502aebcf 100644
--- a/solr/test-framework/src/java/org/apache/solr/util/SolrJettyTestRule.java
+++ b/solr/test-framework/src/java/org/apache/solr/util/SolrJettyTestRule.java
@@ -53,8 +53,12 @@ public class SolrJettyTestRule extends SolrClientTestRule {
super.after(); // closes the backend (JettySolrRunner)
}
- /** Resets the state. DEPRECATED; please don't call! */
- @Deprecated
+ /**
+ * Resets the state.
+ *
+ * @deprecated Please don't call! There is no replacement API.
+ */
+ @Deprecated(since = "10.0")
public void reset() {
after();
}