Skip to content

Commit cd92a9b

Browse files
authored
Merge branch 'main' into dynamic_max_clause
Signed-off-by: Harsha Vamsi Kalluri <harshavamsi096@gmail.com>
2 parents e8a8f4d + 79405ed commit cd92a9b

File tree

349 files changed

+19774
-2502
lines changed

Some content is hidden

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

349 files changed

+19774
-2502
lines changed

.ci/bwcVersions

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,3 +34,4 @@ BWC_VERSION:
3434
- "2.14.0"
3535
- "2.14.1"
3636
- "2.15.0"
37+
- "2.16.0"

.github/workflows/dco.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99
steps:
1010
- name: Get PR Commits
1111
id: 'get-pr-commits'
12-
uses: tim-actions/get-pr-commits@v1.1.0
12+
uses: tim-actions/get-pr-commits@v1.3.1
1313
with:
1414
token: ${{ secrets.GITHUB_TOKEN }}
1515
- name: DCO Check

.whitesource

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
{
2+
"scanSettings": {
3+
"configMode": "AUTO",
4+
"configExternalURL": "",
5+
"projectToken": "",
6+
"baseBranches": []
7+
},
8+
"scanSettingsSAST": {
9+
"enableScan": false,
10+
"scanPullRequests": false,
11+
"incrementalScan": true,
12+
"baseBranches": [],
13+
"snippetSize": 10
14+
},
15+
"checkRunSettings": {
16+
"vulnerableCheckRunConclusionLevel": "failure",
17+
"displayMode": "diff",
18+
"useMendCheckNames": true
19+
},
20+
"checkRunSettingsSAST": {
21+
"checkRunConclusionLevel": "failure",
22+
"severityThreshold": "high"
23+
},
24+
"issueSettings": {
25+
"minSeverityLevel": "LOW",
26+
"issueType": "DEPENDENCY"
27+
},
28+
"issueSettingsSAST": {
29+
"minSeverityLevel": "high",
30+
"issueType": "repo"
31+
},
32+
"remediateSettings": {
33+
"workflowRules": {
34+
"enabled": true
35+
}
36+
},
37+
"imageSettings":{
38+
"imageTracing":{
39+
"enableImageTracingPR": false,
40+
"addRepositoryCoordinate": false,
41+
"addDockerfilePath": false,
42+
"addMendIdentifier": false
43+
}
44+
}
45+
}

CHANGELOG.md

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

66
## [Unreleased 2.x]
77
### Added
8-
- Add leader and follower check failure counter metrics ([#12439](https://github.com/opensearch-project/OpenSearch/pull/12439))
9-
- Add latency metrics for instrumenting critical clusterManager code paths ([#12333](https://github.com/opensearch-project/OpenSearch/pull/12333))
10-
- Add support for Azure Managed Identity in repository-azure ([#12423](https://github.com/opensearch-project/OpenSearch/issues/12423))
11-
- Add useCompoundFile index setting ([#13478](https://github.com/opensearch-project/OpenSearch/pull/13478))
12-
- Make outbound side of transport protocol dependent ([#13293](https://github.com/opensearch-project/OpenSearch/pull/13293))
13-
- [Remote Store] Add dynamic cluster settings to set timeout for segments upload to Remote Store ([#13679](https://github.com/opensearch-project/OpenSearch/pull/13679))
14-
- [Remote Store] Upload translog checkpoint as object metadata to translog.tlog([#13637](https://github.com/opensearch-project/OpenSearch/pull/13637))
15-
- Add getMetadataFields to MapperService ([#13819](https://github.com/opensearch-project/OpenSearch/pull/13819))
16-
- [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))
17-
- Allow setting query parameters on requests ([#13776](https://github.com/opensearch-project/OpenSearch/issues/13776))
18-
- Add capability to disable source recovery_source for an index ([#13590](https://github.com/opensearch-project/OpenSearch/pull/13590))
19-
- Add remote routing table for remote state publication with experimental feature flag ([#13304](https://github.com/opensearch-project/OpenSearch/pull/13304))
20-
- [Remote Store] Add support to disable flush based on translog reader count ([#14027](https://github.com/opensearch-project/OpenSearch/pull/14027))
21-
- [Query Insights] Add exporter support for top n queries ([#12982](https://github.com/opensearch-project/OpenSearch/pull/12982))
228

239
### Dependencies
24-
- 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))
2510
- Bump `org.gradle.test-retry` from 1.5.8 to 1.5.9 ([#13442](https://github.com/opensearch-project/OpenSearch/pull/13442))
26-
- Bump `org.apache.commons:commons-text` from 1.11.0 to 1.12.0 ([#13557](https://github.com/opensearch-project/OpenSearch/pull/13557))
27-
- Bump `org.hdrhistogram:HdrHistogram` from 2.1.12 to 2.2.2 ([#13556](https://github.com/opensearch-project/OpenSearch/pull/13556), [#13986](https://github.com/opensearch-project/OpenSearch/pull/13986))
28-
- 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))
29-
- Bump `org.apache.hadoop:hadoop-minicluster` from 3.3.6 to 3.4.0 ([#13642](https://github.com/opensearch-project/OpenSearch/pull/13642))
30-
- Bump `mockito` from 5.11.0 to 5.12.0 ([#13665](https://github.com/opensearch-project/OpenSearch/pull/13665))
31-
- Bump `com.google.code.gson:gson` from 2.10.1 to 2.11.0 ([#13752](https://github.com/opensearch-project/OpenSearch/pull/13752))
32-
- Bump `ch.qos.logback:logback-core` from 1.5.3 to 1.5.6 ([#13756](https://github.com/opensearch-project/OpenSearch/pull/13756))
33-
- Bump `netty` from 4.1.109.Final to 4.1.110.Final ([#13802](https://github.com/opensearch-project/OpenSearch/pull/13802))
34-
- Bump `jackson` from 2.17.0 to 2.17.1 ([#13817](https://github.com/opensearch-project/OpenSearch/pull/13817))
35-
- Bump `reactor` from 3.5.15 to 3.5.17 ([#13825](https://github.com/opensearch-project/OpenSearch/pull/13825))
36-
- Bump `reactor-netty` from 1.1.17 to 1.1.19 ([#13825](https://github.com/opensearch-project/OpenSearch/pull/13825))
37-
- Bump `commons-cli:commons-cli` from 1.7.0 to 1.8.0 ([#13840](https://github.com/opensearch-project/OpenSearch/pull/13840))
38-
- Bump `org.apache.xmlbeans:xmlbeans` from 5.2.0 to 5.2.1 ([#13839](https://github.com/opensearch-project/OpenSearch/pull/13839))
39-
- Bump `actions/checkout` from 3 to 4 ([#13935](https://github.com/opensearch-project/OpenSearch/pull/13935))
40-
- Bump `com.netflix.nebula.ospackage-base` from 11.9.0 to 11.9.1 ([#13933](https://github.com/opensearch-project/OpenSearch/pull/13933))
11+
- Update to Apache Lucene 9.11.0 ([#14042](https://github.com/opensearch-project/OpenSearch/pull/14042))
4112

4213
### Changed
4314
- 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))
@@ -48,18 +19,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
4819
### Deprecated
4920

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

5323
### Fixed
54-
- Fix get field mapping API returns 404 error in mixed cluster with multiple versions ([#13624](https://github.com/opensearch-project/OpenSearch/pull/13624))
55-
- Allow clearing `remote_store.compatibility_mode` setting ([#13646](https://github.com/opensearch-project/OpenSearch/pull/13646))
56-
- Fix ReplicaShardBatchAllocator to batch shards without duplicates ([#13710](https://github.com/opensearch-project/OpenSearch/pull/13710))
57-
- Don't return negative scores from `multi_match` query with `cross_fields` type ([#13829](https://github.com/opensearch-project/OpenSearch/pull/13829))
58-
- Painless: ensure type "UnmodifiableMap" for params ([#13885](https://github.com/opensearch-project/OpenSearch/pull/13885))
59-
- Pass parent filter to inner hit query ([#13903](https://github.com/opensearch-project/OpenSearch/pull/13903))
60-
- Fix NPE on restore searchable snapshot ([#13911](https://github.com/opensearch-project/OpenSearch/pull/13911))
61-
- Fix double invocation of postCollection when MultiBucketCollector is present ([#14015](https://github.com/opensearch-project/OpenSearch/pull/14015))
6224

6325
### Security
6426

65-
[Unreleased 2.x]: https://github.com/opensearch-project/OpenSearch/compare/2.13...2.x
27+
[Unreleased 2.x]: https://github.com/opensearch-project/OpenSearch/compare/2.15...2.x

TRIAGING.md

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<img src="https://opensearch.org/assets/img/opensearch-logo-themed.svg" height="64px">
22

3-
The maintainers of the OpenSearch Repo seek to promote an inclusive and engaged community of contributors. In order to facilitate this, weekly triage meetings are open-to-all and attendance is encouraged for anyone who hopes to contribute, discuss an issue, or learn more about the project. To learn more about contributing to the OpenSearch Repo visit the [Contributing](./CONTRIBUTING.md) documentation.
3+
The maintainers of the OpenSearch Repo seek to promote an inclusive and engaged community of contributors. In order to facilitate this, weekly triage meetings are open-to-all and attendance is encouraged for anyone who hopes to contribute, discuss an issue, or learn more about the project. There are several weekly triage meetings scoped to the following component areas: Search, Storage, Cluster Manager, and finally "Core" as a catch-all for all other issues. To learn more about contributing to the OpenSearch Repo visit the [Contributing](./CONTRIBUTING.md) documentation.
44

55
### Do I need to attend for my issue to be addressed/triaged?
66

@@ -12,25 +12,29 @@ You can track if your issue was triaged by watching your GitHub notifications fo
1212

1313
Each meeting we seek to address all new issues. However, should we run out of time before your issue is discussed, you are always welcome to attend the next meeting or to follow up on the issue post itself.
1414

15-
### How do I join the Triage meeting?
15+
### How do I join a Triage meeting?
1616

17-
Meetings are hosted regularly at 10:00a - 10:55a Central Time every Wednesday and can be joined via [Zoom](https://zoom.us/download), with this [meeting link](https://us02web.zoom.us/j/86287450465) and passcode `805212`.
17+
Check the [OpenSearch Meetup Group](https://www.meetup.com/opensearch/) for the latest schedule and details for joining each meeting. Each component area has its own meetup series: [Search](https://www.meetup.com/opensearch/events/300929493/), [Storage](https://www.meetup.com/opensearch/events/299907409/), [Cluster Manager](https://www.meetup.com/opensearch/events/301082218/), and [Core](https://www.meetup.com/opensearch/events/301061009/).
1818

19-
After joining the Zoom meeting, you can enable your video / voice to join the discussion. If you do not have a webcam or microphone available, you can still join in via the text chat.
19+
After joining the virtual meeting, you can enable your video / voice to join the discussion. If you do not have a webcam or microphone available, you can still join in via the text chat.
2020

2121
If you have an issue you'd like to bring forth please prepare a link to the issue so it can be presented and viewed by everyone in the meeting.
2222

2323
### Is there an agenda for each week?
2424

25-
Meetings are 55 minutes and follows this structure:
25+
Meeting structure may vary slightly, but the general structure is as follows:
2626

27-
Yes, each 55-minute meeting follows this structure:
2827
1. **Initial Gathering:** Feel free to turn on your video and engage in informal conversation. Shortly, a volunteer triage [facilitator](#what-is-the-role-of-the-facilitator) will begin the meeting and share their screen.
2928
2. **Record Attendees:** The facilitator will request attendees to share their GitHub profile links. These links will be collected and assembled into a [tag](#how-do-triage-facilitator-tag-comments-during-the-triage-meeting) to annotate comments during the meeting.
3029
3. **Announcements:** Any announcements will be made at the beginning of the meeting.
31-
4. **Review of New Issues:** We start by reviewing all untriaged [issues](https://github.com/search?q=label%3Auntriaged+is%3Aopen++repo%3Aopensearch-project%2FOpenSearch+&type=issues&ref=advsearch&s=created&o=desc) for the OpenSearch repo.
30+
4. **Review of New Issues:** We start by reviewing all untriaged issues. Each meeting has a label-based search to find relevant issues:
31+
- [Search](https://github.com/opensearch-project/OpenSearch/issues?q=is%3Aissue+is%3Aopen+label%3Auntriaged+label%3A%22Search%22%2C%22Search%3ARemote+Search%22%2C%22Search%3AResiliency%22%2C%22Search%3APerformance%22%2C%22Search%3ARelevance%22%2C%22Search%3AAggregations%22%2C%22Search%3AQuery+Capabilities%22%2C%22Search%3AQuery+Insights%22%2C%22Search%3ASearchable+Snapshots%22%2C%22Search%3AUser+Behavior+Insights%22)
32+
- [Storage](https://github.com/opensearch-project/OpenSearch/issues?q=is%3Aissue+is%3Aopen+label%3Auntriaged+label%3AStorage%2C%22Storage%3AResiliency%22%2C%22Storage%3APerformance%22%2C%22Storage%3ASnapshots%22%2C%22Storage%3ARemote%22%2C%22Storage%3ADurability%22)
33+
- [Cluster Manager](https://github.com/opensearch-project/OpenSearch/issues?q=is%3Aissue+is%3Aopen+label%3Auntriaged+label%3A%22Cluster+Manager%22%2C%22ClusterManager%3ARemoteState%22)
34+
- [Core](https://github.com/opensearch-project/OpenSearch/issues?q=is%3Aissue+is%3Aopen+label%3Auntriaged+-label%3A%22Search%22%2C%22Search%3ARemote+Search%22%2C%22Search%3AResiliency%22%2C%22Search%3APerformance%22%2C%22Search%3ARelevance%22%2C%22Search%3AAggregations%22%2C%22Search%3AQuery+Capabilities%22%2C%22Search%3AQuery+Insights%22%2C%22Search%3ASearchable+Snapshots%22%2C%22Search%3AUser+Behavior+Insights%22%2C%22Storage%22%2C%22Storage%3AResiliency%22%2C%22Storage%3APerformance%22%2C%22Storage%3ASnapshots%22%2C%22Storage%3ARemote%22%2C%22Storage%3ADurability%22%2C%22Cluster+Manager%22%2C%22ClusterManager%3ARemoteState%22)
3235
5. **Attendee Requests:** An opportunity for any meeting member to request consideration of an issue or pull request.
3336
6. **Open Discussion:** Attendees can bring up any topics not already covered by filed issues or pull requests.
37+
7. **Review of Old Untriaged Issues:** Time permitting, each meeting will look at all [untriaged issues older than 14 days](https://github.com/opensearch-project/OpenSearch/issues?q=is%3Aissue+is%3Aopen+label%3Auntriaged+created%3A%3C2024-05-20) to prevent issues from falling through the cracks (note the GitHub API does not allow for relative times, so the date in this search must be updated every meeting).
3438

3539
### What is the role of the facilitator?
3640

buildSrc/src/main/java/org/opensearch/gradle/info/GlobalBuildInfoPlugin.java

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,28 @@ private JavaVersion determineJavaVersion(String description, File javaHome, Java
199199
}
200200

201201
private JvmInstallationMetadata getJavaInstallation(File javaHome) {
202-
final InstallationLocation location = new InstallationLocation(javaHome, "Java home");
202+
InstallationLocation location = null;
203+
204+
try {
205+
try {
206+
// The InstallationLocation(File, String) is used by Gradle pre-8.8
207+
location = (InstallationLocation) MethodHandles.publicLookup()
208+
.findConstructor(InstallationLocation.class, MethodType.methodType(void.class, File.class, String.class))
209+
.invokeExact(javaHome, "Java home");
210+
} catch (Throwable ex) {
211+
// The InstallationLocation::userDefined is used by Gradle post-8.7
212+
location = (InstallationLocation) MethodHandles.publicLookup()
213+
.findStatic(
214+
InstallationLocation.class,
215+
"userDefined",
216+
MethodType.methodType(InstallationLocation.class, File.class, String.class)
217+
)
218+
.invokeExact(javaHome, "Java home");
219+
220+
}
221+
} catch (Throwable ex) {
222+
throw new IllegalStateException("Unable to find suitable InstallationLocation constructor / factory method", ex);
223+
}
203224

204225
try {
205226
try {

buildSrc/src/main/java/org/opensearch/gradle/internal/InternalDistributionArchiveSetupPlugin.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,8 +148,8 @@ private void configureGeneralTaskDefaults(Project project) {
148148
project.getTasks().withType(AbstractCopyTask.class).configureEach(t -> {
149149
t.dependsOn(project.getTasks().withType(EmptyDirTask.class));
150150
t.setIncludeEmptyDirs(true);
151-
t.setDirMode(0755);
152-
t.setFileMode(0644);
151+
t.dirPermissions(perms -> perms.unix(0755));
152+
t.filePermissions(perms -> perms.unix(0644));
153153
});
154154

155155
// common config across all archives

buildSrc/src/main/java/org/opensearch/gradle/precommit/DependencyLicensesPrecommitPlugin.java

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,14 @@
3333
package org.opensearch.gradle.precommit;
3434

3535
import org.opensearch.gradle.dependencies.CompileOnlyResolvePlugin;
36+
import org.opensearch.gradle.util.GradleUtils;
3637
import org.gradle.api.Project;
3738
import org.gradle.api.Task;
3839
import org.gradle.api.artifacts.Configuration;
3940
import org.gradle.api.artifacts.ProjectDependency;
41+
import org.gradle.api.file.FileCollection;
4042
import org.gradle.api.plugins.JavaPlugin;
43+
import org.gradle.api.provider.Provider;
4144
import org.gradle.api.tasks.TaskProvider;
4245

4346
public class DependencyLicensesPrecommitPlugin extends PrecommitPlugin {
@@ -48,15 +51,16 @@ public TaskProvider<? extends Task> createTask(Project project) {
4851
TaskProvider<DependencyLicensesTask> dependencyLicenses = project.getTasks()
4952
.register("dependencyLicenses", DependencyLicensesTask.class);
5053

54+
final Configuration runtimeClasspath = project.getConfigurations().getByName(JavaPlugin.RUNTIME_CLASSPATH_CONFIGURATION_NAME);
55+
final Configuration compileOnly = project.getConfigurations()
56+
.getByName(CompileOnlyResolvePlugin.RESOLVEABLE_COMPILE_ONLY_CONFIGURATION_NAME);
57+
final Provider<FileCollection> provider = project.provider(
58+
() -> GradleUtils.getFiles(project, runtimeClasspath, dependency -> dependency instanceof ProjectDependency == false)
59+
.minus(compileOnly)
60+
);
61+
5162
// only require dependency licenses for non-opensearch deps
52-
dependencyLicenses.configure(t -> {
53-
Configuration runtimeClasspath = project.getConfigurations().getByName(JavaPlugin.RUNTIME_CLASSPATH_CONFIGURATION_NAME);
54-
Configuration compileOnly = project.getConfigurations()
55-
.getByName(CompileOnlyResolvePlugin.RESOLVEABLE_COMPILE_ONLY_CONFIGURATION_NAME);
56-
t.setDependencies(
57-
runtimeClasspath.fileCollection(dependency -> dependency instanceof ProjectDependency == false).minus(compileOnly)
58-
);
59-
});
63+
dependencyLicenses.configure(t -> t.getDependencies().set(provider));
6064

6165
// we also create the updateShas helper task that is associated with dependencyLicenses
6266
project.getTasks().register("updateShas", UpdateShasTask.class, t -> t.setParentTask(dependencyLicenses));

0 commit comments

Comments
 (0)