Skip to content

Commit 0d54c16

Browse files
authored
[BWC and API enforcement] Decorate the existing APIs with proper annotations (part 2) (#10950)
Signed-off-by: Andriy Redko <andriy.redko@aiven.io>
1 parent 3eda422 commit 0d54c16

File tree

497 files changed

+1757
-579
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

497 files changed

+1757
-579
lines changed

libs/common/src/main/java/org/opensearch/common/CheckedBiConsumer.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,16 @@
3232

3333
package org.opensearch.common;
3434

35+
import org.opensearch.common.annotation.PublicApi;
36+
3537
import java.util.function.BiConsumer;
3638

3739
/**
3840
* A {@link BiConsumer}-like interface which allows throwing checked exceptions.
3941
*
40-
* @opensearch.internal
42+
* @opensearch.api
4143
*/
44+
@PublicApi(since = "1.0.0")
4245
@FunctionalInterface
4346
public interface CheckedBiConsumer<T, U, E extends Exception> {
4447
void accept(T t, U u) throws E;

libs/common/src/main/java/org/opensearch/common/CheckedFunction.java

+3
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,16 @@
3232

3333
package org.opensearch.common;
3434

35+
import org.opensearch.common.annotation.PublicApi;
36+
3537
import java.util.function.Function;
3638

3739
/**
3840
* A {@link Function}-like interface which allows throwing checked exceptions.
3941
*
4042
* @opensearch.api
4143
*/
44+
@PublicApi(since = "1.0.0")
4245
@FunctionalInterface
4346
public interface CheckedFunction<T, R, E extends Exception> {
4447
R apply(T t) throws E;

libs/common/src/main/java/org/opensearch/common/TriFunction.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@
3232

3333
package org.opensearch.common;
3434

35+
import org.opensearch.common.annotation.PublicApi;
36+
3537
/**
3638
* Represents a function that accepts three arguments and produces a result.
3739
*
@@ -40,8 +42,9 @@
4042
* @param <U> the type of the third argument
4143
* @param <R> the return type
4244
*
43-
* @opensearch.internal
45+
* @opensearch.api
4446
*/
47+
@PublicApi(since = "1.0.0")
4548
@FunctionalInterface
4649
public interface TriFunction<S, T, U, R> {
4750
/**

libs/common/src/main/java/org/opensearch/common/collect/Tuple.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,15 @@
3232

3333
package org.opensearch.common.collect;
3434

35+
import org.opensearch.common.annotation.PublicApi;
36+
3537
/**
3638
* Java 9 Tuple
3739
* todo: deprecate and remove w/ min jdk upgrade to 11?
3840
*
39-
* @opensearch.internal
41+
* @opensearch.api
4042
*/
43+
@PublicApi(since = "1.0.0")
4144
public class Tuple<V1, V2> {
4245

4346
public static <V1, V2> Tuple<V1, V2> tuple(V1 v1, V2 v2) {

libs/common/src/main/java/org/opensearch/common/crypto/MasterKeyProvider.java

+5
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,17 @@
77
*/
88
package org.opensearch.common.crypto;
99

10+
import org.opensearch.common.annotation.ExperimentalApi;
11+
1012
import java.io.Closeable;
1113
import java.util.Map;
1214

1315
/**
1416
* Master key provider responsible for management of master keys.
17+
*
18+
* @opensearch.experimental
1519
*/
20+
@ExperimentalApi
1621
public interface MasterKeyProvider extends Closeable {
1722

1823
/**

libs/common/src/main/java/org/opensearch/common/io/InputStreamContainer.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,16 @@
88

99
package org.opensearch.common.io;
1010

11+
import org.opensearch.common.annotation.ExperimentalApi;
12+
1113
import java.io.InputStream;
1214

1315
/**
1416
* Model composed of an input stream and the total content length of the stream
1517
*
16-
* @opensearch.internal
18+
* @opensearch.experimental
1719
*/
20+
@ExperimentalApi
1821
public class InputStreamContainer {
1922

2023
private final InputStream inputStream;

libs/core/src/main/java/org/opensearch/OpenSearchParseException.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232

3333
package org.opensearch;
3434

35+
import org.opensearch.common.annotation.PublicApi;
3536
import org.opensearch.core.common.io.stream.StreamInput;
3637
import org.opensearch.core.rest.RestStatus;
3738

@@ -40,8 +41,9 @@
4041
/**
4142
* Unchecked exception that is translated into a {@code 400 BAD REQUEST} error when it bubbles out over HTTP.
4243
*
43-
* @opensearch.internal
44+
* @opensearch.api
4445
*/
46+
@PublicApi(since = "1.0.0")
4547
public class OpenSearchParseException extends OpenSearchException {
4648

4749
public OpenSearchParseException(String msg, Object... args) {

libs/core/src/main/java/org/opensearch/core/action/NotifyOnceListener.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,18 @@
3232

3333
package org.opensearch.core.action;
3434

35+
import org.opensearch.common.annotation.PublicApi;
36+
3537
import java.util.concurrent.atomic.AtomicBoolean;
3638

3739
/**
3840
* A listener that ensures that only one of onResponse or onFailure is called. And the method
3941
* the is called is only called once. Subclasses should implement notification logic with
4042
* innerOnResponse and innerOnFailure.
4143
*
42-
* @opensearch.internal
44+
* @opensearch.api
4345
*/
46+
@PublicApi(since = "1.0.0")
4447
public abstract class NotifyOnceListener<Response> implements ActionListener<Response> {
4548

4649
private final AtomicBoolean hasBeenCalled = new AtomicBoolean(false);

libs/core/src/main/java/org/opensearch/core/common/text/Text.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
package org.opensearch.core.common.text;
3333

3434
import org.apache.lucene.util.BytesRef;
35+
import org.opensearch.common.annotation.PublicApi;
3536
import org.opensearch.core.common.bytes.BytesArray;
3637
import org.opensearch.core.common.bytes.BytesReference;
3738
import org.opensearch.core.xcontent.ToXContentFragment;
@@ -44,8 +45,9 @@
4445
* Both {@link String} and {@link BytesReference} representation of the text. Starts with one of those, and if
4546
* the other is requests, caches the other one in a local reference so no additional conversion will be needed.
4647
*
47-
* @opensearch.internal
48+
* @opensearch.api
4849
*/
50+
@PublicApi(since = "1.0.0")
4951
public final class Text implements Comparable<Text>, ToXContentFragment {
5052

5153
public static final Text[] EMPTY_ARRAY = new Text[0];

libs/core/src/main/java/org/opensearch/core/common/transport/TransportAddress.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232

3333
package org.opensearch.core.common.transport;
3434

35+
import org.opensearch.common.annotation.PublicApi;
3536
import org.opensearch.common.network.NetworkAddress;
3637
import org.opensearch.core.common.io.stream.StreamInput;
3738
import org.opensearch.core.common.io.stream.StreamOutput;
@@ -47,8 +48,9 @@
4748
/**
4849
* A transport address used for IP socket address (wraps {@link java.net.InetSocketAddress}).
4950
*
50-
* @opensearch.internal
51+
* @opensearch.api
5152
*/
53+
@PublicApi(since = "1.0.0")
5254
public final class TransportAddress implements Writeable, ToXContentFragment {
5355

5456
/**

libs/core/src/main/java/org/opensearch/core/tasks/resourcetracker/ResourceStats.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,14 @@
88

99
package org.opensearch.core.tasks.resourcetracker;
1010

11+
import org.opensearch.common.annotation.PublicApi;
12+
1113
/**
1214
* Different resource stats are defined.
1315
*
14-
* @opensearch.internal
16+
* @opensearch.api
1517
*/
18+
@PublicApi(since = "2.1.0")
1619
public enum ResourceStats {
1720
CPU("cpu_time_in_nanos"),
1821
MEMORY("memory_in_bytes");

libs/core/src/main/java/org/opensearch/core/tasks/resourcetracker/ResourceStatsType.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,14 @@
88

99
package org.opensearch.core.tasks.resourcetracker;
1010

11+
import org.opensearch.common.annotation.PublicApi;
12+
1113
/**
1214
* Defines the different types of resource stats.
1315
*
14-
* @opensearch.internal
16+
* @opensearch.api
1517
*/
18+
@PublicApi(since = "2.1.0")
1619
public enum ResourceStatsType {
1720
// resource stats of the worker thread reported directly from runnable.
1821
WORKER_STATS("worker_stats", false);

libs/core/src/main/java/org/opensearch/core/tasks/resourcetracker/ResourceUsageInfo.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
import org.apache.logging.log4j.LogManager;
1212
import org.apache.logging.log4j.Logger;
13+
import org.opensearch.common.annotation.PublicApi;
1314

1415
import java.util.Collections;
1516
import java.util.EnumMap;
@@ -22,8 +23,9 @@
2223
* It captures the resource usage information like memory, CPU about a particular execution of thread
2324
* for a specific stats type.
2425
*
25-
* @opensearch.internal
26+
* @opensearch.api
2627
*/
28+
@PublicApi(since = "2.1.0")
2729
public class ResourceUsageInfo {
2830
private static final Logger logger = LogManager.getLogger(ResourceUsageInfo.class);
2931
private final EnumMap<ResourceStats, ResourceStatsInfo> statsInfo = new EnumMap<>(ResourceStats.class);

libs/core/src/main/java/org/opensearch/core/tasks/resourcetracker/ResourceUsageMetric.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,14 @@
88

99
package org.opensearch.core.tasks.resourcetracker;
1010

11+
import org.opensearch.common.annotation.PublicApi;
12+
1113
/**
1214
* Information about resource usage
1315
*
14-
* @opensearch.internal
16+
* @opensearch.api
1517
*/
18+
@PublicApi(since = "2.1.0")
1619
public class ResourceUsageMetric {
1720
private final ResourceStats stats;
1821
private final long value;

libs/core/src/main/java/org/opensearch/core/tasks/resourcetracker/TaskResourceStats.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
package org.opensearch.core.tasks.resourcetracker;
1010

1111
import org.opensearch.Version;
12+
import org.opensearch.common.annotation.PublicApi;
1213
import org.opensearch.core.common.Strings;
1314
import org.opensearch.core.common.io.stream.StreamInput;
1415
import org.opensearch.core.common.io.stream.StreamOutput;
@@ -29,8 +30,9 @@
2930
* Writeable TaskResourceStats objects are used to represent resource
3031
* snapshot information about currently running task.
3132
*
32-
* @opensearch.internal
33+
* @opensearch.api
3334
*/
35+
@PublicApi(since = "2.1.0")
3436
public class TaskResourceStats implements Writeable, ToXContentFragment {
3537
private final Map<String, TaskResourceUsage> resourceUsage;
3638
private final TaskThreadUsage threadUsage;

libs/core/src/main/java/org/opensearch/core/tasks/resourcetracker/TaskResourceUsage.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
package org.opensearch.core.tasks.resourcetracker;
1010

11+
import org.opensearch.common.annotation.PublicApi;
1112
import org.opensearch.core.ParseField;
1213
import org.opensearch.core.common.Strings;
1314
import org.opensearch.core.common.io.stream.StreamInput;
@@ -30,8 +31,9 @@
3031
* Writeable TaskResourceUsage objects are used to represent resource usage
3132
* information of running tasks.
3233
*
33-
* @opensearch.internal
34+
* @opensearch.api
3435
*/
36+
@PublicApi(since = "2.1.0")
3537
public class TaskResourceUsage implements Writeable, ToXContentFragment {
3638
private static final ParseField CPU_TIME_IN_NANOS = new ParseField("cpu_time_in_nanos");
3739
private static final ParseField MEMORY_IN_BYTES = new ParseField("memory_in_bytes");

libs/core/src/main/java/org/opensearch/core/tasks/resourcetracker/TaskThreadUsage.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
package org.opensearch.core.tasks.resourcetracker;
1010

11+
import org.opensearch.common.annotation.PublicApi;
1112
import org.opensearch.core.ParseField;
1213
import org.opensearch.core.common.Strings;
1314
import org.opensearch.core.common.io.stream.StreamInput;
@@ -29,8 +30,9 @@
2930
* Writeable TaskThreadExecutions objects are used to represent thread related resource usage of running tasks.
3031
* asd
3132
*
32-
* @opensearch.internal
33+
* @opensearch.api
3334
*/
35+
@PublicApi(since = "2.1.0")
3436
public class TaskThreadUsage implements Writeable, ToXContentFragment {
3537

3638
private static final String THREAD_EXECUTIONS = "thread_executions";

libs/core/src/main/java/org/opensearch/core/tasks/resourcetracker/ThreadResourceInfo.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,17 @@
88

99
package org.opensearch.core.tasks.resourcetracker;
1010

11+
import org.opensearch.common.annotation.PublicApi;
12+
1113
/**
1214
* Resource consumption information about a particular execution of thread.
1315
* <p>
1416
* It captures the resource usage information about a particular execution of thread
1517
* for a specific stats type like worker_stats or response_stats etc.,
1618
*
17-
* @opensearch.internal
19+
* @opensearch.api
1820
*/
21+
@PublicApi(since = "2.1.0")
1922
public class ThreadResourceInfo {
2023
private final long threadId;
2124
private volatile boolean isActive = true;

libs/core/src/main/java/org/opensearch/core/xcontent/AbstractObjectParser.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
package org.opensearch.core.xcontent;
3434

3535
import org.opensearch.common.CheckedFunction;
36+
import org.opensearch.common.annotation.PublicApi;
3637
import org.opensearch.core.ParseField;
3738
import org.opensearch.core.xcontent.ObjectParser.NamedObjectParser;
3839
import org.opensearch.core.xcontent.ObjectParser.ValueType;
@@ -47,8 +48,9 @@
4748
/**
4849
* Superclass for {@link ObjectParser} and {@link ConstructingObjectParser}. Defines most of the "declare" methods so they can be shared.
4950
*
50-
* @opensearch.internal
51+
* @opensearch.api
5152
*/
53+
@PublicApi(since = "1.0.0")
5254
public abstract class AbstractObjectParser<Value, Context> {
5355

5456
/**

libs/core/src/main/java/org/opensearch/core/xcontent/ContextParser.java

+5
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,16 @@
3232

3333
package org.opensearch.core.xcontent;
3434

35+
import org.opensearch.common.annotation.PublicApi;
36+
3537
import java.io.IOException;
3638

3739
/**
3840
* Reads an object from a parser using some context.
41+
*
42+
* @opensearch.api
3943
*/
44+
@PublicApi(since = "1.0.0")
4045
@FunctionalInterface
4146
public interface ContextParser<Context, T> {
4247
T parse(XContentParser p, Context c) throws IOException;

libs/core/src/main/java/org/opensearch/core/xcontent/DeprecationHandler.java

+5
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,17 @@
3232

3333
package org.opensearch.core.xcontent;
3434

35+
import org.opensearch.common.annotation.PublicApi;
36+
3537
import java.util.function.Supplier;
3638

3739
/**
3840
* Callback for notifying the creator of the {@link XContentParser} that
3941
* parsing hit a deprecated field.
42+
*
43+
* @opensearch.api
4044
*/
45+
@PublicApi(since = "1.0.0")
4146
public interface DeprecationHandler {
4247
/**
4348
* Throws an {@link UnsupportedOperationException} when parsing hits a

0 commit comments

Comments
 (0)