-
Couldn't load subscription status.
- Fork 2.3k
Description
Is your feature request related to a problem? Please describe.
We provide @opensearch.internal @opensearch.experimental and @opensearch.api to define code that provides a certain set of BWC guarantees. The problem is, this isn't enforceable without maintainers reviewing and manually rejecting PRs.
Describe the solution you'd like
Similar to Apache Spark's annotations, OpenSearch should introduce a new o.o.core.annotation package that (at minimum) defines enforceable java annotations as follows:
@Internal
@Api
@Experimental
And provides a mechanism to define new annotations.
- [BWC and API enforcement] Define the initial set of annotations, their meaning and relations between them #9222
- [BWC and API enforcement] Enforcing the presence of API annotations at build time #12871
- [BWC and API enforcement] Decorate the existing APIs with proper annotations #9303
- [BWC and API enforcement] Introduce checks for enforcing the API restrictions #9304
- [BWC and API enforcement] Introduce checks for enforcing the API backward compatibility #9305
Describe alternatives you've considered
We're currently using javadoc annotations. Let's make these more enforceable through java public @interface Api {}.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status