Skip to content

Commit

Permalink
Merge branch 'main' into transport-actions
Browse files Browse the repository at this point in the history
Signed-off-by: Sarat Vemulapalli <vemulapallisarat@gmail.com>
  • Loading branch information
saratvemulapalli committed May 3, 2023
2 parents 8ae59e8 + 7491614 commit 7aa7fbf
Show file tree
Hide file tree
Showing 33 changed files with 553 additions and 3,470 deletions.
1 change: 1 addition & 0 deletions .ci/bwcVersions
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,5 @@ BWC_VERSION:
- "2.6.0"
- "2.6.1"
- "2.7.0"
- "2.7.1"
- "2.8.0"
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
- Bump `com.diffplug.spotless` from 6.17.0 to 6.18.0
- Bump `io.opencensus:opencensus-api` from 0.18.0 to 0.31.1 ([#7291](https://github.com/opensearch-project/OpenSearch/pull/7291))
- Bump `gradle.plugin.com.github.johnrengelman:shadow` from 7.1.2 to 8.0.0
- Bump `org.apache.shiro:shiro-core` from 1.9.1 to 1.11.0 ([#7397](https://github.com/opensearch-project/OpenSearch/pull/7397)

### Changed
- [CCR] Add getHistoryOperationsFromTranslog method to fetch the history snapshot from translogs ([#3948](https://github.com/opensearch-project/OpenSearch/pull/3948))
Expand Down Expand Up @@ -94,6 +95,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),

### Changed
- Enable `./gradlew build` on MacOS by disabling bcw tests ([#7303](https://github.com/opensearch-project/OpenSearch/pull/7303))
- Moved concurrent-search from sandbox plugin to server module behind feature flag ([#7203](https://github.com/opensearch-project/OpenSearch/pull/7203))

### Deprecated

Expand Down
24 changes: 21 additions & 3 deletions DEVELOPER_GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
- [`server`](#server)
- [`test`](#test)
- [Java Language Formatting Guidelines](#java-language-formatting-guidelines)
- [Adding Dependencies](#adding-dependencies)
- [Editor / IDE Support](#editor--ide-support)
- [Formatting Failures](#formatting-failures)
- [Gradle Build](#gradle-build)
Expand All @@ -40,7 +41,7 @@
- [Distribution Download Plugin](#distribution-download-plugin)
- [Creating fat-JAR of a Module](#creating-fat-jar-of-a-module)
- [Components](#components)
- [Build libraries & interfaces](#build-libraries--interfaces)
- [Build Libraries & Interfaces](#build-libraries--interfaces)
- [Clients & Libraries](#clients--libraries)
- [Plugins](#plugins-1)
- [Indexing & Search](#indexing--search)
Expand Down Expand Up @@ -340,6 +341,18 @@ Please follow these formatting guidelines:
* Note that JavaDoc and block comments i.e. `/* ... */` are not formatted, but line comments i.e `// ...` are.
* There is an implicit rule that negative boolean expressions should use the form `foo == false` instead of `!foo` for better readability of the code. While this isn't strictly enforced, if might get called out in PR reviews as something to change.

## Adding Dependencies

When adding a new dependency or removing an existing dependency via any `build.gradle` (that are not in the test scope), update the dependency LICENSE and library SHAs.

For example, after adding `api "org.slf4j:slf4j-api:${versions.slf4j}"` to [plugins/discovery-ec2/build.gradle](plugins/discovery-ec2/build.gradle), copy the library `LICENSE.txt` and `NOTICE.txt` to `plugins/discovery-ec2/licenses/slf4j-api-LICENSE.txt` and `plugins/discovery-ec2/licenses/slf4j-api-NOTICE.txt`, then run the following to generate `plugins/discovery-ec2/licenses/slf4j-api-1.7.36.jar.sha1`.

```
./gradlew :plugins:discovery-ec2:updateSHAs
```

Ensure that `./gradlew :plugins:discovery-ec2:check` passes before submitting changes.

### Editor / IDE Support

IntelliJ IDEs can [import](https://blog.jetbrains.com/idea/2014/01/intellij-idea-13-importing-code-formatter-settings-from-eclipse/) the [settings file](buildSrc/formatterConfig.xml), and / or use the [Eclipse Code Formatter](https://plugins.jetbrains.com/plugin/6546-eclipse-code-formatter)
Expand Down Expand Up @@ -436,7 +449,7 @@ Refer the installed JAR as any other maven artifact, e.g.

As you work in the OpenSearch repo you may notice issues getting labeled with component labels. It's a housekeeping task to help group together similar pieces of work. You can pretty much ignore it, but if you're curious, here's what the different labels mean:

### Build libraries & interfaces
### Build Libraries & Interfaces

Tasks to make sure the build tasks are useful and packaging and distribution are easy.

Expand All @@ -449,7 +462,6 @@ Includes:
- Compatibility
- Javadoc enforcement


### Clients & Libraries

APIs and communication mechanisms for external connections to OpenSearch. This includes the “library” directory in OpenSearch (a set of common functions).
Expand Down Expand Up @@ -511,6 +523,7 @@ Includes:
Security is our top priority. Avoid checking in credentials.

#### Installation

Install [awslabs/git-secrets](https://github.com/awslabs/git-secrets) by running the following commands.
```
git clone https://github.com/awslabs/git-secrets.git
Expand All @@ -519,6 +532,7 @@ make install
```

#### Configuration

You can configure git secrets per repository, you need to change the directory to the root of the repository and run the following command.
```
git secrets --install
Expand All @@ -545,11 +559,13 @@ OpenSearch addresses backward and forward compatibility at three different level
to ensure backwards compatibility are provided below.

#### Data

The data level consists of index and application data file formats. OpenSearch guarantees file formats and indexes are compatible only back to the first release of
the previous major version. If on disk formats or encodings need to be changed (including index data, cluster state, or any other persisted data) developers must
use Version checks accordingly (e.g., `Version.onOrAfter`, `Version.before`) to guarantee backwards compatibility.

#### Developer API

The Developer API consists of interfaces and foundation software implementations that enable external users to develop new OpenSearch features. This includes
obvious components such as the Plugin framework and less obvious components such as REST Action Handlers. When developing a new feature of OpenSearch it is important
to explicitly mark which implementation components may, or may not, be extended by external implementations. For example, all new API classes with `@opensearch.api`
Expand All @@ -559,6 +575,7 @@ guarantee backwards compatibility and may change at any time. The `@deprecated`
either changed or planned to be removed across minor versions.

#### User API

The User API consists of integration specifications (e.g., [Query Domain Specific Language](https://opensearch.org/docs/latest/opensearch/query-dsl/index/),
[field mappings](https://opensearch.org/docs/latest/opensearch/mappings/)) and endpoints (e.g., [`_search`](https://opensearch.org/docs/latest/api-reference/search/),
[`_cat`](https://opensearch.org/docs/latest/api-reference/cat/index/)) users rely on to integrate and use OpenSearch. Backwards compatibility is critical to the
Expand All @@ -568,6 +585,7 @@ users of any changes by adding the `>breaking` label on Pull Requests, adding an
and a log message to the OpenSearch deprecation log files using the `DeprecationLogger`.

#### Experimental Development

Rapidly developing new features often benefit from several release cycles before committing to an official and long term supported (LTS) API. To enable this cycle OpenSearch
uses an Experimental Development process leveraging [Feature Flags](https://featureflags.io/feature-flags/). This allows a feature to be developed using the same process as
a LTS feature but with additional guard rails and communication mechanisms to signal to the users and development community the feature is not yet stable, may change in a future
Expand Down
1 change: 1 addition & 0 deletions libs/core/src/main/java/org/opensearch/Version.java
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ public class Version implements Comparable<Version>, ToXContentFragment {
public static final Version V_2_6_0 = new Version(2060099, org.apache.lucene.util.Version.LUCENE_9_5_0);
public static final Version V_2_6_1 = new Version(2060199, org.apache.lucene.util.Version.LUCENE_9_5_0);
public static final Version V_2_7_0 = new Version(2070099, org.apache.lucene.util.Version.LUCENE_9_5_0);
public static final Version V_2_7_1 = new Version(2070199, org.apache.lucene.util.Version.LUCENE_9_5_0);
public static final Version V_2_8_0 = new Version(2080099, org.apache.lucene.util.Version.LUCENE_9_5_0);
public static final Version V_3_0_0 = new Version(3000099, org.apache.lucene.util.Version.LUCENE_9_6_0);
public static final Version CURRENT = V_3_0_0;
Expand Down
2 changes: 1 addition & 1 deletion plugins/identity-shiro/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ opensearchplugin {
}

dependencies {
implementation 'org.apache.shiro:shiro-core:1.9.1'
implementation 'org.apache.shiro:shiro-core:1.11.0'
// Needed for shiro
implementation "org.slf4j:slf4j-api:${versions.slf4j}"

Expand Down
1 change: 1 addition & 0 deletions plugins/identity-shiro/licenses/shiro-core-1.11.0.jar.sha1
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
033a70c87e91968a299f1ee00f4e95050312346d
1 change: 0 additions & 1 deletion plugins/identity-shiro/licenses/shiro-core-1.9.1.jar.sha1

This file was deleted.

42 changes: 0 additions & 42 deletions sandbox/plugins/concurrent-search/build.gradle

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Loading

0 comments on commit 7aa7fbf

Please sign in to comment.