Skip to content

Commit fc69403

Browse files
committed
Merge remote-tracking branch 'upstream/main' into bulk-collect
2 parents e63884e + 48b4427 commit fc69403

File tree

101 files changed

+1227
-519
lines changed

Some content is hidden

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

101 files changed

+1227
-519
lines changed

.github/workflows/add-performance-comment.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616

1717
steps:
1818
- name: Add comment to PR
19-
uses: actions/github-script@v7
19+
uses: actions/github-script@v8
2020
with:
2121
github-token: ${{secrets.GITHUB_TOKEN}}
2222
script: |

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
echo "USER_TAGS=pull_request_number:${{ github.event.issue.number }},repository:OpenSearch" >> $GITHUB_ENV
2929
- name: Check comment format
3030
id: check_comment
31-
uses: actions/github-script@v7
31+
uses: actions/github-script@v8
3232
with:
3333
script: |
3434
const fs = require('fs');
@@ -68,7 +68,7 @@ jobs:
6868
}
6969
- name: Post invalid format comment
7070
if: steps.check_comment.outputs.invalid == 'true'
71-
uses: actions/github-script@v7
71+
uses: actions/github-script@v8
7272
with:
7373
github-token: ${{secrets.GITHUB_TOKEN}}
7474
script: |
@@ -85,7 +85,7 @@ jobs:
8585
exit 1
8686
- name: Get PR Details
8787
id: get_pr
88-
uses: actions/github-script@v7
88+
uses: actions/github-script@v8
8989
with:
9090
script: |
9191
const issue = context.payload.issue;
@@ -111,7 +111,7 @@ jobs:
111111
echo "prHeadRepo=$headRepo" >> $GITHUB_ENV
112112
echo "prHeadRefSha=$headRefSha" >> $GITHUB_ENV
113113
- id: get_approvers
114-
uses: actions/github-script@v7
114+
uses: actions/github-script@v8
115115
with:
116116
github-token: ${{ secrets.GITHUB_TOKEN }}
117117
result-encoding: json
@@ -169,7 +169,7 @@ jobs:
169169
cat $GITHUB_ENV
170170
bash opensearch-build/scripts/benchmark/benchmark-pull-request.sh -t ${{ secrets.JENKINS_PR_BENCHMARK_GENERIC_WEBHOOK_TOKEN }} -u ${{ secrets.JENKINS_GITHUB_USER}} -p ${{ secrets.JENKINS_GITHUB_USER_TOKEN}}
171171
- name: Update PR with Job Url
172-
uses: actions/github-script@v7
172+
uses: actions/github-script@v8
173173
with:
174174
github-token: ${{ secrets.GITHUB_TOKEN }}
175175
script: |

.github/workflows/delete_backport_branch.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
if: github.repository == 'opensearch-project/OpenSearch' && (startsWith(github.event.pull_request.head.ref,'backport/') || startsWith(github.event.pull_request.head.ref,'release-chores/'))
1313
steps:
1414
- name: Delete merged branch
15-
uses: actions/github-script@v7
15+
uses: actions/github-script@v8
1616
with:
1717
script: |
1818
github.rest.git.deleteRef({

.github/workflows/gradle-check.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ jobs:
6161
echo "post_merge_action=false" >> $GITHUB_ENV
6262
6363
# to get the PR data that can be used for post merge actions
64-
- uses: actions/github-script@v7
64+
- uses: actions/github-script@v8
6565
if: github.event_name == 'push'
6666
id: get_pr_data
6767
with:

.github/workflows/triage.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99
if: github.repository == 'opensearch-project/OpenSearch'
1010
runs-on: ubuntu-latest
1111
steps:
12-
- uses: actions/github-script@v7
12+
- uses: actions/github-script@v8
1313
with:
1414
script: |
1515
const { issue, repository } = context.payload;

.github/workflows/version.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ jobs:
103103
104104
- name: Create tracking issue
105105
id: create-issue
106-
uses: actions/github-script@v7
106+
uses: actions/github-script@v8
107107
with:
108108
script: |
109109
const body = `

CHANGELOG.md

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
55

66
## [Unreleased 3.x]
77
### Added
8+
- Allow setting index.creation_date on index creation and restore for plugin compatibility and migrations ([#19931](https://github.com/opensearch-project/OpenSearch/pull/19931))
89
- Add support for a ForkJoinPool type ([#19008](https://github.com/opensearch-project/OpenSearch/pull/19008))
910
- Add seperate shard limit validation for local and remote indices ([#19532](https://github.com/opensearch-project/OpenSearch/pull/19532))
1011
- Use Lucene `pack` method for `half_float` and `usigned_long` when using `ApproximatePointRangeQuery`.
@@ -47,6 +48,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
4748
- Pass registry of headers from ActionPlugin.getRestHeaders to ActionPlugin.getRestHandlerWrapper ([#19875](https://github.com/opensearch-project/OpenSearch/pull/19875))
4849
- Refactor the Condition.Stats and DirectoryFileTransferTracker.Stats class to use the Builder pattern instead of constructors ([#19862](https://github.com/opensearch-project/OpenSearch/pull/19862))
4950
- Refactor the RemoteTranslogTransferTracker.Stats and RemoteSegmentTransferTracker.Stats class to use the Builder pattern instead of constructors ([#19837](https://github.com/opensearch-project/OpenSearch/pull/19837))
51+
- Refactor the GetStats, FlushStats and QueryCacheStats class to use the Builder pattern instead of constructors ([#19935](https://github.com/opensearch-project/OpenSearch/pull/19935))
52+
- Add RangeSemver for `dependencies` in `plugin-descriptor.properties` ([#19939](https://github.com/opensearch-project/OpenSearch/pull/19939))
53+
- Refactor the FieldDataStats and CompletionStats class to use the Builder pattern instead of constructors ([#19936](https://github.com/opensearch-project/OpenSearch/pull/19936))
54+
- Thread Context Preservation by gRPC Interceptor ([#19776](https://github.com/opensearch-project/OpenSearch/pull/19776))
55+
- Update NoOpResult constructors in the Engine to be public ([#19950](https://github.com/opensearch-project/OpenSearch/pull/19950))
5056

5157
### Fixed
5258
- Fix Allocation and Rebalance Constraints of WeightFunction are incorrectly reset ([#19012](https://github.com/opensearch-project/OpenSearch/pull/19012))
@@ -73,7 +79,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
7379
- Bump `org.apache.zookeeper:zookeeper` from 3.9.3 to 3.9.4 ([#19535](https://github.com/opensearch-project/OpenSearch/pull/19535))
7480
- Bump `com.azure:azure-storage-common` from 12.30.2 to 12.30.3 ([#19615](https://github.com/opensearch-project/OpenSearch/pull/19615))
7581
- Bump `peter-evans/create-issue-from-file` from 5 to 6 ([#19616](https://github.com/opensearch-project/OpenSearch/pull/19616))
76-
- Bump `com.squareup.okhttp3:okhttp` from 5.1.0 to 5.2.1 ([#19614](https://github.com/opensearch-project/OpenSearch/pull/19614))
82+
- Bump `com.squareup.okhttp3:okhttp` from 5.1.0 to 5.3.0 ([#19614](https://github.com/opensearch-project/OpenSearch/pull/19614), [#19944](https://github.com/opensearch-project/OpenSearch/pull/19944))
7783
- Bump `com.microsoft.azure:msal4j` from 1.21.0 to 1.23.1 ([#19688](https://github.com/opensearch-project/OpenSearch/pull/19688))
7884
- Bump `commons-net:commons-net` from 3.11.1 to 3.12.0 ([#19687](https://github.com/opensearch-project/OpenSearch/pull/19687))
7985
- Bump `org.apache.avro:avro` from 1.12.0 to 1.12.1 ([#19692](https://github.com/opensearch-project/OpenSearch/pull/19692))
@@ -89,14 +95,19 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
8995
- Bump `com.google.api.grpc:proto-google-iam-v1` from 1.55.0 to 1.57.0 ([#19872](https://github.com/opensearch-project/OpenSearch/pull/19872))
9096
- Bump `org.apache.commons:commons-text` from 1.13.1 to 1.14.0 ([#19871](https://github.com/opensearch-project/OpenSearch/pull/19871))
9197
- Exclude group com.microsoft.sqlserver from hadoop-minicluster ([#19889](https://github.com/opensearch-project/OpenSearch/pull/19889))
98+
- Bump `actions/github-script` from 7 to 8 ([#19946](https://github.com/opensearch-project/OpenSearch/pull/19946))
99+
- Bump `com.google.api:gax-httpjson` from 2.69.0 to 2.72.1 ([#19943](https://github.com/opensearch-project/OpenSearch/pull/19943))
100+
- Update Hadoop to 3.4.2 and enable security (Kerberos) integration tests under JDK-24 and above ([#19952](https://github.com/opensearch-project/OpenSearch/pull/19952))
92101

93-
- ### Deprecated
102+
### Deprecated
94103
- Deprecated existing constructors in ThreadPoolStats.Stats in favor of the new Builder ([#19317](https://github.com/opensearch-project/OpenSearch/pull/19317))
95104
- Deprecated existing constructors in IndexingStats.Stats in favor of the new Builder ([#19306](https://github.com/opensearch-project/OpenSearch/pull/19306))
96105
- Deprecated existing constructors in RefreshStats in favor of the new Builder ([#19835](https://github.com/opensearch-project/OpenSearch/pull/19835))
97106
- Deprecated existing constructors in DocStats and StoreStats in favor of the new Builder ([#19863](https://github.com/opensearch-project/OpenSearch/pull/19863))
98107
- Deprecated existing constructors in Condition.Stats and DirectoryFileTransferTracker.Stats in favor of the new Builder ([#19862](https://github.com/opensearch-project/OpenSearch/pull/19862))
99108
- Deprecated existing constructors in RemoteTranslogTransferTracker.Stats and RemoteSegmentTransferTracker.Stats in favor of the new Builder ([#19837](https://github.com/opensearch-project/OpenSearch/pull/19837))
109+
- Deprecated existing constructors in GetStats, FlushStats and QueryCacheStats in favor of the new Builder ([#19935](https://github.com/opensearch-project/OpenSearch/pull/19935))
110+
- Deprecated existing constructors in FieldDataStats and CompletionStats in favor of the new Builder ([#19936](https://github.com/opensearch-project/OpenSearch/pull/19936))
100111

101112
### Removed
102113

client/rest-high-level/src/test/java/org/opensearch/client/IndicesClientIT.java

Lines changed: 39 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -257,23 +257,54 @@ public void testCreateIndex() throws IOException {
257257
}
258258
}
259259

260-
public void testCreateIndexFailPrivateSetting() throws IOException {
260+
public void testCreateIndexWithCreationDate() throws IOException {
261261
{
262-
// Create index with private setting
263-
String indexName = "private_index";
262+
// Create index with creation_date setting - should succeed now that it's not private
263+
String indexName = "creation_date_index";
264264
assertFalse(indexExists(indexName));
265265

266266
CreateIndexRequest createIndexRequest = new CreateIndexRequest(indexName);
267267

268268
Settings.Builder settings = Settings.builder();
269-
settings.put(SETTING_CREATION_DATE, -1);
269+
settings.put(SETTING_CREATION_DATE, 1234567890L);
270270
createIndexRequest.settings(settings);
271271

272-
OpenSearchStatusException exception = expectThrows(
273-
OpenSearchStatusException.class,
274-
() -> execute(createIndexRequest, highLevelClient().indices()::create, highLevelClient().indices()::createAsync)
272+
CreateIndexResponse createIndexResponse = execute(
273+
createIndexRequest,
274+
highLevelClient().indices()::create,
275+
highLevelClient().indices()::createAsync
276+
);
277+
assertTrue(
278+
"Index creation should be acknowledged when setting creation_date during index creation",
279+
createIndexResponse.isAcknowledged()
280+
);
281+
assertTrue("Index should exist after creation with creation_date setting", indexExists(indexName));
282+
}
283+
}
284+
285+
public void testUpdateIndexSettingsFailFinalSetting() throws IOException {
286+
{
287+
// Create index and attempt to update creation_date - should fail as it's a final setting
288+
String indexName = "final_setting_index";
289+
createIndex(indexName, Settings.EMPTY);
290+
291+
UpdateSettingsRequest updateSettingsRequest = new UpdateSettingsRequest(indexName);
292+
Settings.Builder settings = Settings.builder();
293+
settings.put(SETTING_CREATION_DATE, 9876543210L);
294+
updateSettingsRequest.settings(settings);
295+
296+
OpenSearchException exception = expectThrows(
297+
OpenSearchException.class,
298+
() -> execute(
299+
updateSettingsRequest,
300+
highLevelClient().indices()::putSettings,
301+
highLevelClient().indices()::putSettingsAsync
302+
)
303+
);
304+
assertTrue(
305+
"Exception message should indicate that index.creation_date cannot be updated. Got: " + exception.getMessage(),
306+
exception.getMessage().contains("Can't update non dynamic settings [[index.creation_date]]")
275307
);
276-
assertTrue(exception.getMessage().contains("private index setting [index.creation_date] can not be set explicitly"));
277308
}
278309
}
279310

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ commonscollections4 = "4.5.0"
5959
aws = "2.32.29"
6060
awscrt = "0.35.0"
6161
reactivestreams = "1.0.4"
62-
hadoop3 = "3.3.6"
62+
hadoop3 = "3.4.2"
6363

6464
# when updating this version, you need to ensure compatibility with:
6565
# - plugins/ingest-attachment (transitive dependency, check the upstream POM)

libs/core/src/main/java/org/opensearch/semver/SemverRange.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
@PublicApi(since = "2.13.0")
4444
public class SemverRange implements ToXContentFragment {
4545

46-
private static final Pattern RANGE_PATTERN = Pattern.compile("([\\[\\(])([\\d.]+)\\s*,\\s*([\\d.]+)([\\]\\)])");
46+
public static final Pattern RANGE_PATTERN = Pattern.compile("([\\[\\(])([\\d.]+)\\s*,\\s*([\\d.]+)([\\]\\)])");
4747

4848
private final Version rangeVersion;
4949
private final RangeOperator rangeOperator;

0 commit comments

Comments
 (0)