Skip to content

Commit 944f8b2

Browse files
committed
Merge branch 'main' into remote_state_collab
2 parents e1eddbe + 156eca3 commit 944f8b2

File tree

410 files changed

+5253
-1196
lines changed

Some content is hidden

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

410 files changed

+5253
-1196
lines changed

.github/CODEOWNERS

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# CODEOWNERS manages notifications, not PR approvals
2-
# For PR approvals see /.github/workflows/maintainer-approval.yml
2+
# For PR approvals see /.github/workflows/maintainer-approval.yml
33

44
# Files have a single rule applied, the last match decides the owner
55
# If you would like to more specifically apply ownership, include existing owner in new sub fields
@@ -24,4 +24,4 @@
2424

2525
/.github/ @peternied
2626

27-
/MAINTAINERS.md @anasalkouz @andrross @Bukhtawar @CEHENKLE @dblock @dbwiddis @dreamer-89 @gbbafna @kotwanikunal @mch2 @msfroh @nknize @owaiskazi19 @peternied @reta @Rishikesh1159 @sachinpkale @saratvemulapalli @shwetathareja @sohami @tlfeng @VachaShah
27+
/MAINTAINERS.md @anasalkouz @andrross @Bukhtawar @CEHENKLE @dblock @dbwiddis @dreamer-89 @gbbafna @jed326 @kotwanikunal @mch2 @msfroh @nknize @owaiskazi19 @peternied @reta @Rishikesh1159 @sachinpkale @saratvemulapalli @shwetathareja @sohami @tlfeng @VachaShah

.github/pull_request_template.md

+3-9
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,9 @@ Resolves #[Issue number to be closed when this PR is merged]
1313
<!-- List any other related issues here -->
1414

1515
### Check List
16-
- [ ] New functionality includes testing.
17-
- [ ] All tests pass
18-
- [ ] New functionality has been documented.
19-
- [ ] New functionality has javadoc added
20-
- [ ] API changes companion pull request [created](https://github.com/opensearch-project/opensearch-api-specification/blob/main/DEVELOPER_GUIDE.md).
21-
- [ ] Failing checks are inspected and point to the corresponding known issue(s) (See: [Troubleshooting Failing Builds](../blob/main/CONTRIBUTING.md#troubleshooting-failing-builds))
22-
- [ ] Commits are signed per the DCO using --signoff
23-
- [ ] Commit changes are listed out in CHANGELOG.md file (See: [Changelog](../blob/main/CONTRIBUTING.md#changelog))
24-
- [ ] Public documentation issue/PR [created](https://github.com/opensearch-project/documentation-website/issues/new/choose)
16+
- [ ] Functionality includes testing.
17+
- [ ] API changes companion pull request [created](https://github.com/opensearch-project/opensearch-api-specification/blob/main/DEVELOPER_GUIDE.md), if applicable.
18+
- [ ] Public documentation issue/PR [created](https://github.com/opensearch-project/documentation-website/issues/new/choose), if applicable.
2519

2620
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
2721
For more information on following Developer Certificate of Origin and signing off your commits, please check [here](https://github.com/opensearch-project/OpenSearch/blob/main/CONTRIBUTING.md#developer-certificate-of-origin).

.github/workflows/assemble.yml

+15
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,23 @@ jobs:
1717
java-version: ${{ matrix.java }}
1818
distribution: temurin
1919
- name: Setup docker (missing on MacOS)
20+
id: setup_docker
2021
if: runner.os == 'macos'
2122
uses: douglascamata/setup-docker-macos-action@main
23+
continue-on-error: true
24+
with:
25+
upgrade-qemu: true
26+
colima: v0.6.8
27+
- name: Run Gradle (assemble)
28+
if: runner.os == 'macos' && steps.setup_docker.outcome != 'success'
29+
run: |
30+
# Report success even if previous step failed (Docker on MacOS runner is very unstable)
31+
exit 0;
32+
- name: Run Gradle (assemble)
33+
if: runner.os != 'macos'
34+
run: |
35+
./gradlew assemble --parallel --no-build-cache -PDISABLE_BUILD_CACHE
2236
- name: Run Gradle (assemble)
37+
if: runner.os == 'macos' && steps.setup_docker.outcome == 'success'
2338
run: |
2439
./gradlew assemble --parallel --no-build-cache -PDISABLE_BUILD_CACHE

.github/workflows/dco.yml

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: Developer Certificate of Origin Check
2+
3+
on: [pull_request]
4+
5+
jobs:
6+
dco-check:
7+
runs-on: ubuntu-latest
8+
9+
steps:
10+
- name: Get PR Commits
11+
id: 'get-pr-commits'
12+
uses: tim-actions/get-pr-commits@v1.1.0
13+
with:
14+
token: ${{ secrets.GITHUB_TOKEN }}
15+
- name: DCO Check
16+
uses: tim-actions/dco@v1.1.0
17+
with:
18+
commits: ${{ steps.get-pr-commits.outputs.commits }}
19+

.github/workflows/gradle-check.yml

+51-3
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,28 @@ permissions:
1212
contents: read # to fetch code (actions/checkout)
1313

1414
jobs:
15+
check-files:
16+
runs-on: ubuntu-latest
17+
outputs:
18+
RUN_GRADLE_CHECK: ${{ steps.changed-files-specific.outputs.any_changed }}
19+
steps:
20+
- uses: actions/checkout@v4
21+
- name: Get changed files
22+
id: changed-files-specific
23+
uses: tj-actions/changed-files@v44
24+
with:
25+
files_ignore: |
26+
release-notes/*.md
27+
.github/**
28+
*.md
29+
1530
gradle-check:
16-
if: github.repository == 'opensearch-project/OpenSearch'
31+
needs: check-files
32+
if: github.repository == 'opensearch-project/OpenSearch' && needs.check-files.outputs.RUN_GRADLE_CHECK == 'true'
1733
permissions:
1834
contents: read # to fetch code (actions/checkout)
1935
pull-requests: write # to create or update comment (peter-evans/create-or-update-comment)
2036
issues: write # To create an issue if check fails on push.
21-
2237
runs-on: ubuntu-latest
2338
timeout-minutes: 130
2439
steps:
@@ -30,11 +45,31 @@ jobs:
3045
- name: Setup environment variables (PR)
3146
if: github.event_name == 'pull_request_target'
3247
run: |
48+
echo "event_name=pull_request_target" >> $GITHUB_ENV
49+
echo "branch_name=$(jq --raw-output .pull_request.base.ref $GITHUB_EVENT_PATH)" >> $GITHUB_ENV
3350
echo "pr_from_sha=$(jq --raw-output .pull_request.head.sha $GITHUB_EVENT_PATH)" >> $GITHUB_ENV
3451
echo "pr_from_clone_url=$(jq --raw-output .pull_request.head.repo.clone_url $GITHUB_EVENT_PATH)" >> $GITHUB_ENV
3552
echo "pr_to_clone_url=$(jq --raw-output .pull_request.base.repo.clone_url $GITHUB_EVENT_PATH)" >> $GITHUB_ENV
3653
echo "pr_title=$(jq --raw-output .pull_request.title $GITHUB_EVENT_PATH)" >> $GITHUB_ENV
3754
echo "pr_number=$(jq --raw-output .pull_request.number $GITHUB_EVENT_PATH)" >> $GITHUB_ENV
55+
echo "pr_owner=$(jq --raw-output .pull_request.user.login $GITHUB_EVENT_PATH)" >> $GITHUB_ENV
56+
echo "pr_or_commit_description=$(jq --ascii-output .pull_request.body $GITHUB_EVENT_PATH)" >> $GITHUB_ENV
57+
echo "post_merge_action=false" >> $GITHUB_ENV
58+
59+
# to get the PR data that can be used for post merge actions
60+
- uses: actions/github-script@v7
61+
if: github.event_name == 'push'
62+
id: get_pr_data
63+
with:
64+
github-token: ${{secrets.GITHUB_TOKEN}}
65+
script: |
66+
return (
67+
await github.rest.repos.listPullRequestsAssociatedWithCommit({
68+
commit_sha: context.sha,
69+
owner: context.repo.owner,
70+
repo: context.repo.repo,
71+
})
72+
).data[0];
3873
3974
- name: Setup environment variables (Push)
4075
if: github.event_name == 'push'
@@ -43,11 +78,15 @@ jobs:
4378
ref_id=$(git rev-parse HEAD)
4479
branch_name=$(git rev-parse --abbrev-ref HEAD)
4580
echo "branch_name=$branch_name" >> $GITHUB_ENV
81+
echo "event_name=push" >> $GITHUB_ENV
4682
echo "pr_from_sha=$ref_id" >> $GITHUB_ENV
4783
echo "pr_from_clone_url=$repo_url" >> $GITHUB_ENV
4884
echo "pr_to_clone_url=$repo_url" >> $GITHUB_ENV
4985
echo "pr_title=Push trigger $branch_name $ref_id $repo_url" >> $GITHUB_ENV
50-
echo "pr_number=Null" >> $GITHUB_ENV
86+
echo "pr_owner=$(jq --raw-output '.commits[0].author.username' $GITHUB_EVENT_PATH)" >> $GITHUB_ENV
87+
echo 'pr_number=${{ fromJson(steps.get_pr_data.outputs.result).number }}' >> $GITHUB_ENV
88+
echo "pr_or_commit_description=$(jq --ascii-output .head_commit.message $GITHUB_EVENT_PATH)" >> $GITHUB_ENV
89+
echo "post_merge_action=true" >> $GITHUB_ENV
5190
5291
- name: Checkout opensearch-build repo
5392
uses: actions/checkout@v4
@@ -127,3 +166,12 @@ jobs:
127166
with:
128167
assignees: ${{ github.event.head_commit.author.username }}, ${{ github.triggering_actor }}
129168
filename: .github/ISSUE_TEMPLATE/failed_check.md
169+
170+
check-result:
171+
needs: [check-files, gradle-check]
172+
if: always()
173+
runs-on: ubuntu-latest
174+
steps:
175+
- name: Fail if gradle-check fails
176+
if: ${{ needs.check-files.outputs.RUN_GRADLE_CHECK && needs.gradle-check.result == 'failure' }}
177+
run: exit 1

.github/workflows/pull-request-checks.yml

-29
This file was deleted.

CHANGELOG-3.0.md

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
1717
### Dependencies
1818

1919
### Changed
20+
- Changed locale provider from COMPAT to CLDR ([13988](https://github.com/opensearch-project/OpenSearch/pull/13988))
2021
- Migrate client transports to Apache HttpClient / Core 5.x ([#4459](https://github.com/opensearch-project/OpenSearch/pull/4459))
2122
- Change http code on create index API with bad input raising NotXContentException from 500 to 400 ([#4773](https://github.com/opensearch-project/OpenSearch/pull/4773))
2223
- Improve summary error message for invalid setting updates ([#4792](https://github.com/opensearch-project/OpenSearch/pull/4792))

CHANGELOG.md

+24-3
Original file line numberDiff line numberDiff line change
@@ -5,33 +5,54 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
55

66
## [Unreleased 2.x]
77
### Added
8+
- Add latency metrics for instrumenting critical clusterManager code paths ([#12333](https://github.com/opensearch-project/OpenSearch/pull/12333))
89
- Add support for Azure Managed Identity in repository-azure ([#12423](https://github.com/opensearch-project/OpenSearch/issues/12423))
910
- Add useCompoundFile index setting ([#13478](https://github.com/opensearch-project/OpenSearch/pull/13478))
1011
- Make outbound side of transport protocol dependent ([#13293](https://github.com/opensearch-project/OpenSearch/pull/13293))
11-
- [Remote State] Add async remote state deletion task running on a interval, configurable by a setting ([#13131](https://github.com/opensearch-project/OpenSearch/pull/13131))
12+
- [Remote Store] Add dynamic cluster settings to set timeout for segments upload to Remote Store ([#13679](https://github.com/opensearch-project/OpenSearch/pull/13679))
13+
- [Remote Store] Upload translog checkpoint as object metadata to translog.tlog([#13637](https://github.com/opensearch-project/OpenSearch/pull/13637))
14+
- Add getMetadataFields to MapperService ([#13819](https://github.com/opensearch-project/OpenSearch/pull/13819))
15+
- [Remote State] Add async remote state deletion task running on an interval, configurable by a setting ([#13131](https://github.com/opensearch-project/OpenSearch/pull/13131))
16+
- Allow setting query parameters on requests ([#13776](https://github.com/opensearch-project/OpenSearch/issues/13776))
17+
- Add remote routing table for remote state publication with experimental feature flag ([#13304](https://github.com/opensearch-project/OpenSearch/pull/13304))
1218

1319
### Dependencies
1420
- Bump `com.github.spullara.mustache.java:compiler` from 0.9.10 to 0.9.13 ([#13329](https://github.com/opensearch-project/OpenSearch/pull/13329), [#13559](https://github.com/opensearch-project/OpenSearch/pull/13559))
1521
- Bump `org.gradle.test-retry` from 1.5.8 to 1.5.9 ([#13442](https://github.com/opensearch-project/OpenSearch/pull/13442))
1622
- Bump `org.apache.commons:commons-text` from 1.11.0 to 1.12.0 ([#13557](https://github.com/opensearch-project/OpenSearch/pull/13557))
1723
- Bump `org.hdrhistogram:HdrHistogram` from 2.1.12 to 2.2.1 ([#13556](https://github.com/opensearch-project/OpenSearch/pull/13556))
18-
- Bump `com.gradle.enterprise` from 3.17.2 to 3.17.3 ([#13641](https://github.com/opensearch-project/OpenSearch/pull/13641))
24+
- Bump `com.gradle.enterprise` from 3.17.2 to 3.17.4 ([#13641](https://github.com/opensearch-project/OpenSearch/pull/13641), [#13753](https://github.com/opensearch-project/OpenSearch/pull/13753))
1925
- Bump `org.apache.hadoop:hadoop-minicluster` from 3.3.6 to 3.4.0 ([#13642](https://github.com/opensearch-project/OpenSearch/pull/13642))
2026
- Bump `mockito` from 5.11.0 to 5.12.0 ([#13665](https://github.com/opensearch-project/OpenSearch/pull/13665))
27+
- Bump `com.google.code.gson:gson` from 2.10.1 to 2.11.0 ([#13752](https://github.com/opensearch-project/OpenSearch/pull/13752))
28+
- Bump `ch.qos.logback:logback-core` from 1.5.3 to 1.5.6 ([#13756](https://github.com/opensearch-project/OpenSearch/pull/13756))
29+
- Bump `netty` from 4.1.109.Final to 4.1.110.Final ([#13802](https://github.com/opensearch-project/OpenSearch/pull/13802))
30+
- Bump `jackson` from 2.17.0 to 2.17.1 ([#13817](https://github.com/opensearch-project/OpenSearch/pull/13817))
31+
- Bump `reactor` from 3.5.15 to 3.5.17 ([#13825](https://github.com/opensearch-project/OpenSearch/pull/13825))
32+
- Bump `reactor-netty` from 1.1.17 to 1.1.19 ([#13825](https://github.com/opensearch-project/OpenSearch/pull/13825))
33+
- Bump `commons-cli:commons-cli` from 1.7.0 to 1.8.0 ([#13840](https://github.com/opensearch-project/OpenSearch/pull/13840))
34+
- Bump `org.apache.xmlbeans:xmlbeans` from 5.2.0 to 5.2.1 ([#13839](https://github.com/opensearch-project/OpenSearch/pull/13839))
35+
- Bump `actions/checkout` from 3 to 4 ([#13935](https://github.com/opensearch-project/OpenSearch/pull/13935))
36+
- Bump `com.netflix.nebula.ospackage-base` from 11.9.0 to 11.9.1 ([#13933](https://github.com/opensearch-project/OpenSearch/pull/13933))
2137

2238
### Changed
2339
- Add ability for Boolean and date field queries to run when only doc_values are enabled ([#11650](https://github.com/opensearch-project/OpenSearch/pull/11650))
2440
- Refactor implementations of query phase searcher, allow QueryCollectorContext to have zero collectors ([#13481](https://github.com/opensearch-project/OpenSearch/pull/13481))
41+
- Adds support to inject telemetry instances to plugins ([#13636](https://github.com/opensearch-project/OpenSearch/pull/13636))
2542

2643
### Deprecated
2744

2845
### Removed
2946
- Remove handling of index.mapper.dynamic in AutoCreateIndex([#13067](https://github.com/opensearch-project/OpenSearch/pull/13067))
3047

3148
### Fixed
32-
- Fix negative RequestStats metric issue ([#13553](https://github.com/opensearch-project/OpenSearch/pull/13553))
3349
- Fix get field mapping API returns 404 error in mixed cluster with multiple versions ([#13624](https://github.com/opensearch-project/OpenSearch/pull/13624))
3450
- Allow clearing `remote_store.compatibility_mode` setting ([#13646](https://github.com/opensearch-project/OpenSearch/pull/13646))
51+
- Fix ReplicaShardBatchAllocator to batch shards without duplicates ([#13710](https://github.com/opensearch-project/OpenSearch/pull/13710))
52+
- Don't return negative scores from `multi_match` query with `cross_fields` type ([#13829](https://github.com/opensearch-project/OpenSearch/pull/13829))
53+
- Painless: ensure type "UnmodifiableMap" for params ([#13885](https://github.com/opensearch-project/OpenSearch/pull/13885))
54+
- Pass parent filter to inner hit query ([#13903](https://github.com/opensearch-project/OpenSearch/pull/13903))
55+
- Fix NPE on restore searchable snapshot ([#13911](https://github.com/opensearch-project/OpenSearch/pull/13911))
3556

3657
### Security
3758

DEVELOPER_GUIDE.md

+5
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@
6262
- [LineLint](#linelint)
6363
- [Lucene Snapshots](#lucene-snapshots)
6464
- [Flaky Tests](#flaky-tests)
65+
- [Gradle Check Metrics Dashboard](#gradle-check-metrics-dashboard)
6566

6667
# Developer Guide
6768

@@ -660,3 +661,7 @@ If you encounter a build/test failure in CI that is unrelated to the change in y
660661
4. If an existing issue is found, paste a link to the known issue in a comment to your PR.
661662
5. If no existing issue is found, open one.
662663
6. Retry CI via the GitHub UX or by pushing an update to your PR.
664+
665+
### Gradle Check Metrics Dashboard
666+
667+
To get the comprehensive insights and analysis of the Gradle Check test failures, visit the [OpenSearch Gradle Check Metrics Dashboard](https://metrics.opensearch.org/_dashboards/app/dashboards#/view/e5e64d40-ed31-11ee-be99-69d1dbc75083). This dashboard is part of the [OpenSearch Metrics Project](https://github.com/opensearch-project/opensearch-metrics) initiative. The dashboard contains multiple data points that can help investigate and resolve flaky failures. Additionally, this dashboard can be used to drill down, slice, and dice the data using multiple supported filters, which further aids in troubleshooting and resolving issues.

MAINTAINERS.md

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ This document contains a list of maintainers in this repo. See [opensearch-proje
1414
| Dan Widdis | [dbwiddis](https://github.com/dbwiddis) | Amazon |
1515
| Daniel "dB." Doubrovkine | [dblock](https://github.com/dblock) | Amazon |
1616
| Gaurav Bafna | [gbbafna](https://github.com/gbbafna) | Amazon |
17+
| Jay Deng | [jed326](https://github.com/jed326) | Amazon |
1718
| Kunal Kotwani | [kotwanikunal](https://github.com/kotwanikunal) | Amazon |
1819
| Marc Handalian | [mch2](https://github.com/mch2) | Amazon |
1920
| Michael Froh | [msfroh](https://github.com/msfroh) | Amazon |

build.gradle

+8-3
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@ plugins {
5555
id 'opensearch.docker-support'
5656
id 'opensearch.global-build-info'
5757
id "com.diffplug.spotless" version "6.25.0" apply false
58-
id "org.gradle.test-retry" version "1.5.9" apply false
5958
id "test-report-aggregation"
6059
id 'jacoco-report-aggregation'
6160
}
@@ -71,6 +70,13 @@ apply from: 'gradle/run.gradle'
7170
apply from: 'gradle/missing-javadoc.gradle'
7271
apply from: 'gradle/code-coverage.gradle'
7372

73+
// Disable unconditional publishing of build scans
74+
develocity {
75+
buildScan {
76+
publishing.onlyIf { false }
77+
}
78+
}
79+
7480
// common maven publishing configuration
7581
allprojects {
7682
group = 'org.opensearch'
@@ -462,9 +468,8 @@ gradle.projectsEvaluated {
462468

463469
// test retry configuration
464470
subprojects {
465-
apply plugin: "org.gradle.test-retry"
466471
tasks.withType(Test).configureEach {
467-
retry {
472+
develocity.testRetry {
468473
if (BuildParams.isCi()) {
469474
maxRetries = 3
470475
maxFailures = 10

buildSrc/src/main/java/org/opensearch/gradle/OpenSearchTestBasePlugin.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ public void execute(Task t) {
110110
if (BuildParams.getRuntimeJavaVersion() == JavaVersion.VERSION_1_8) {
111111
test.systemProperty("java.locale.providers", "SPI,JRE");
112112
} else {
113-
test.systemProperty("java.locale.providers", "SPI,COMPAT");
113+
test.systemProperty("java.locale.providers", "SPI,CLDR");
114114
if (test.getJavaVersion().compareTo(JavaVersion.VERSION_17) < 0) {
115115
test.jvmArgs("--illegal-access=warn");
116116
}

buildSrc/version.properties

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
opensearch = 3.0.0
2-
lucene = 9.11.0-snapshot-fb97840
2+
lucene = 9.11.0-snapshot-4be6531
33

44
bundled_jdk_vendor = adoptium
55
bundled_jdk = 21.0.3+9
66

77
# optional dependencies
88
spatial4j = 0.7
99
jts = 1.15.0
10-
jackson = 2.17.0
11-
jackson_databind = 2.17.0
10+
jackson = 2.17.1
11+
jackson_databind = 2.17.1
1212
snakeyaml = 2.1
1313
icu4j = 70.1
1414
supercsv = 2.4.0
@@ -27,12 +27,12 @@ google_http_client = 1.44.1
2727
# when updating the JNA version, also update the version in buildSrc/build.gradle
2828
jna = 5.13.0
2929

30-
netty = 4.1.109.Final
30+
netty = 4.1.110.Final
3131
joda = 2.12.7
3232

3333
# project reactor
34-
reactor_netty = 1.1.17
35-
reactor = 3.5.15
34+
reactor_netty = 1.1.19
35+
reactor = 3.5.17
3636

3737
# client dependencies
3838
httpclient5 = 5.2.1

0 commit comments

Comments
 (0)