diff --git a/AGENTS.md b/AGENTS.md index 078406dfb748..4410483efebf 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=&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 | 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 508e5288cd43..4ebb3a317e2b 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 BalanceReplicasRequestBody(Set nodes, Boolean waitForFinalState, @JsonProperty(value = "nodes") public Set 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 5b49d59d72a9..71a54bcc3a0b 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 03e0a3751f27..bd3fedab7a6b 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 ed73bd5b9a05..b5dae3840dc3 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 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 a0a7e3afd9b8..9622559cb544 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 MigrateReplicasRequestBody( @JsonProperty public Set 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 95f7cb380d2c..f3f49a876f88 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 ReplaceNodeRequestBody(String targetNodeName, Boolean waitForFinalState, @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 2cc5f8d9f5cf..91871cd0d314 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 FileStore getFileStore() { * @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 7a5b6995a267..6c636b51902e 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 @@ private void initIndexReaderFactory() { * @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 13b2cb8a6828..36ee024f7f23 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 @@ private CoreContainer getCoreContainer() { @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 obj) throws Exception { @@ -266,6 +270,10 @@ public void addRole(PayloadObj obj) throws Exception { 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 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 cfd2377ebe6d..74b1db623827 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 4ce808400649..ccbb5b2f8fce 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 @@ * 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 static BBoxStrategy newInstance(SpatialContext ctx, String fieldNamePrefi * 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 b7b794917e4b..d955f6c1d457 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 @@ * 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 a40e3a443396..c5e9edd05be7 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 @@ * @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 fa612425b0f8..3fd134fe570d 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 @@ * * @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 c038d804b7a1..dfc71d7106df 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 @@ * * @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 LegacyFieldType() {} * @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 void setNumericType(LegacyNumericType type) { * @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 LegacyNumericType numericType() { * @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 void setNumericPrecisionStep(int precisionStep) { * @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 b1a60beabb1a..3d0c5cf8d518 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 @@ * @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 21ce5f2ca1a1..6b79e4bd8b10 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 @@ * @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 6411c2e3d21e..0f9bb7794512 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 @@ * @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 a83305100259..4b62f5ac6d3f 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 @@ * on Points. * @since 2.9 */ -@Deprecated +@Deprecated(since = "6.0") public final class LegacyNumericRangeQuery 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 9ac670fce22d..03bade9cc545 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 @@ * @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 2ee66130d2cc..3995f4981222 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 @@ * @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 7bfcb04111e6..0aa58bab5e44 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 @@ * @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 c90ce1170bb4..1f7a2e5ac286 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 { * @deprecated new field types should not be added to this list, instead use {@link * ExternalizeStoredValuesAsObjects} */ - @Deprecated public static final Set> KNOWN_TYPES = new HashSet<>(); + @Deprecated(since = "10.1") + public static final Set> 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 83ea0fb99ed2..15e7c7a15932 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 @@ * * * @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 7d83f0d721c7..7fdf0915374c 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 @@ * @see Double * @see Java * Language Specification, s4.2.3 - * @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 9512176d33d1..7c23683d6f78 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 @@ * * @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 static String getMainValuePrefix(FieldType ft) { } } -@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 5a786c6d58cc..8c87c60bc3b9 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 @@ * @see Float * @see Java * Language Specification, s4.2.3 - * @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 c0adef7a4ade..b595eaa99c00 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 @@ * * * @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 1d27aac03e27..e9e37b3b8e57 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 @@ * * * @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 4153f1974321..aca8c6aa4681 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 @@ * @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 ce0fc6a005fe..0cdbbf77a0ce 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 @@ * * @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 8b80b87053d2..1da96a2647e7 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 @@ *
  • doing grouped faceting ({@code group.facet}) on a single-valued numeric field. * */ -@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 38441722a29a..c163784a8bdc 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 @@ * can be reset, clone it again. * */ -@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 93b32320be4e..581b136f821c 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 Parser { * @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 String toString() { * * @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 String toString() { * * @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 TermsEnum termsEnum(Terms terms) throws IOException { * * @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 TermsEnum termsEnum(Terms terms) throws IOException { * * @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 5f85aac034e1..dcad90587f34 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 static enum Type { * * @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 static enum Type { * * @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 static enum Type { * * @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 static enum Type { * * @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 769fc58cb29c..5303d8f23236 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 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 static void ensureWorkingMockito() { 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 783b4af6edc2..b2e698c3cd3d 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 void setDefaultZKHost(String zkHost) { /** * @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 05c3d88d199f..8d3285db92dc 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 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}. * - *
    - * Current implementation delegates to {@link DigestZkCredentialsProvider} with an injected {@link VMParamsZkCredentialsInjector}
    - * 
    + * @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 e83ce93f7a5b..5d54d12155a1 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 final NamedList request(final SolrRequest request) * 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 fb975b9bab27..5dc69902c0ab 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 ApiVersion getApiVersion() { /** * @deprecated Please use {@link SolrRequest#getContentWriter(String)} instead. */ - @Deprecated + @Deprecated(since = "7.2") public Collection 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 4f2ab1251223..56d1c018d2b9 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 ApiVersion getApiVersion() { } @Override - @Deprecated + @Deprecated(since = "10.1") public Collection 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 cb499afca8b7..07c8af0c5cd0 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 @@ private static boolean hasInfoToFindLeaders(UpdateRequest updateRequest, String * @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 585331054616..ac7af67427c8 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 String getAsyncId() { 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 Backup setIndexBackupStrategy(String indexBackupStrategy) { * 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 cca9c544c6a7..f57cf2bafd70 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 interface ContentWriter { /** * @deprecated Use {@link #getContentWriter(SolrRequest)}. */ - @Deprecated + @Deprecated(since = "7.6") public abstract Collection 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 f07741e996e7..07a657242992 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 Integer getStart() { * @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 eaa2cb804ae3..6d4182c60635 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 4c075b12a46b..475090e82ad2 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 8b7e783e41b0..37d98fb2e67d 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 7064c13e7076..40832f59b9dc 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 Set getLiveNodes() { return liveNodes; } - @Deprecated + @Deprecated(since = "10.0") public Map> getReplicaNamesPerCollectionOnNode(final String nodeName) { Map> 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 14b85ef94a44..c27c8afebe8c 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 @@ enum CollectionAction { 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 b77516daf08b..b55162d01cd4 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 7c1de75568e5..dcf475327ab6 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 @@ * @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 a280f1d8a6b5..295f595bf1c8 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 static void copyMinConf(Path dstRoot, String propertiesContent, String so // 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 @@ private void randomizeCloudSolrClient() { * * @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 static HttpJettySolrClient getHttpSolrClient(Replica replica) { * @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 0a0f8554da0c..bd97bf8c690e 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 URL getProxyBaseUrl() { } } - @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 0640c02bcd1e..2d0502aebcf3 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 @@ protected void after() { 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(); }