Skip to content

Commit fd26bf7

Browse files
Isha Guptaishag4
authored andcommitted
Fix issue with case-insensitive + wildcard + aggregation query
Signed-off-by: ishag4 <[email protected]>
2 parents 482550d + e0d622d commit fd26bf7

File tree

26 files changed

+953
-121
lines changed

26 files changed

+953
-121
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,20 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
77
### Added
88
- Use Lucene `pack` method for `half_float` and `usigned_long` when using `ApproximatePointRangeQuery`.
99
- Add a mapper for context aware segments grouping criteria ([#19233](https://github.com/opensearch-project/OpenSearch/pull/19233))
10+
- Return full error for GRPC error response ([#19568](https://github.com/opensearch-project/OpenSearch/pull/19568))
1011

1112
### Changed
1213
- Faster `terms` query creation for `keyword` field with index and docValues enabled ([#19350](https://github.com/opensearch-project/OpenSearch/pull/19350))
1314
- Refactor to move prepareIndex and prepareDelete methods to Engine class ([#19551](https://github.com/opensearch-project/OpenSearch/pull/19551))
15+
- Omit maxScoreCollector in SimpleTopDocsCollectorContext when concurrent segment search enabled ([#19584](https://github.com/opensearch-project/OpenSearch/pull/19584))
1416

1517
### Fixed
18+
- Fix Allocation and Rebalance Constraints of WeightFunction are incorrectly reset ([#19012](https://github.com/opensearch-project/OpenSearch/pull/19012))
1619
- Fix flaky test FieldDataLoadingIT.testIndicesFieldDataCacheSizeSetting ([#19571](https://github.com/opensearch-project/OpenSearch/pull/19571))
1720
- Fix incorrect rewriting of terms query with more than 2 consecutive whole numbers
1821
([#19587](https://github.com/opensearch-project/OpenSearch/pull/19587))
1922
- Fix case-insensitive wildcard + aggregation query crash ([#19489](https://github.com/opensearch-project/OpenSearch/pull/19489))
23+
- Avoid primary shard failure caused by merged segment warmer exceptions ([#19436](https://github.com/opensearch-project/OpenSearch/pull/19436))
2024

2125
### Dependencies
2226
- Bump `peter-evans/create-or-update-comment` from 4 to 5 ([#19536](https://github.com/opensearch-project/OpenSearch/pull/19536))

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,8 @@ public void apply(Project project) {
9696
project.getExtensions().add(EXTENSION_NAME, jdksContainer);
9797
}
9898

99-
private void setupRepository(Project project, Jdk jdk) {
99+
// pkg private for tests
100+
void setupRepository(Project project, Jdk jdk) {
100101
RepositoryHandler repositories = project.getRepositories();
101102

102103
/*
@@ -195,7 +196,8 @@ public static NamedDomainObjectContainer<Jdk> getContainer(Project project) {
195196
return (NamedDomainObjectContainer<Jdk>) project.getExtensions().getByName(EXTENSION_NAME);
196197
}
197198

198-
private static String dependencyNotation(Jdk jdk) {
199+
// pkg private for tests
200+
static String dependencyNotation(Jdk jdk) {
199201
String platformDep = jdk.getPlatform().equals("darwin") || jdk.getPlatform().equals("mac")
200202
? (jdk.getVendor().equals(VENDOR_OPENJDK) ? "osx" : "mac")
201203
: jdk.getPlatform();
Lines changed: 166 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,166 @@
1+
/*
2+
* SPDX-License-Identifier: Apache-2.0
3+
*
4+
* The OpenSearch Contributors require contributions made to
5+
* this file be licensed under the Apache-2.0 license or a
6+
* compatible open source license.
7+
*/
8+
9+
package org.opensearch.gradle;
10+
11+
import org.opensearch.gradle.test.GradleUnitTestCase;
12+
import org.gradle.api.Project;
13+
import org.gradle.testfixtures.ProjectBuilder;
14+
import org.junit.Before;
15+
import org.junit.Test;
16+
17+
import static org.hamcrest.CoreMatchers.equalTo;
18+
19+
public class JdkDownloadPluginDependencyNotationTests extends GradleUnitTestCase {
20+
21+
private final Project project = ProjectBuilder.builder().build();
22+
23+
@Before
24+
public void setup() {
25+
project.getPlugins().apply("opensearch.jdk-download");
26+
}
27+
28+
@Test
29+
public void shouldUseMacPlatformForDarwinWithAdoptium() {
30+
// given
31+
Jdk jdk = createJdk("adoptium", "17.0.1+12", "darwin", "x64");
32+
33+
// when
34+
String target = JdkDownloadPlugin.dependencyNotation(jdk);
35+
36+
// then
37+
assertThat(target, equalTo("adoptium_17:mac:17.0.1:[email protected]"));
38+
}
39+
40+
@Test
41+
public void shouldUseMacPlatformForDarwinWithAdoptOpenJdk() {
42+
// given
43+
Jdk jdk = createJdk("adoptopenjdk", "11.0.11+9", "darwin", "x64");
44+
45+
// when
46+
String target = JdkDownloadPlugin.dependencyNotation(jdk);
47+
48+
// then
49+
assertThat(target, equalTo("adoptopenjdk_11:mac:11.0.11:[email protected]"));
50+
}
51+
52+
@Test
53+
public void shouldUseOsxPlatformForDarwinWithOpenjdk() {
54+
// given
55+
Jdk jdk = createJdk("openjdk", "13.0.1+9@cec27d702aa74d5a8630c65ae61e4305", "darwin", "x64");
56+
57+
// when
58+
String target = JdkDownloadPlugin.dependencyNotation(jdk);
59+
60+
// then
61+
assertThat(target, equalTo("openjdk_13:osx:13.0.1:[email protected]"));
62+
}
63+
64+
@Test
65+
public void shouldUseMacPlatformForMacWithAdoptium() {
66+
// given
67+
Jdk jdk = createJdk("adoptium", "21+35", "mac", "aarch64");
68+
69+
// when
70+
String target = JdkDownloadPlugin.dependencyNotation(jdk);
71+
72+
// then
73+
assertThat(target, equalTo("adoptium_21:mac:21:[email protected]"));
74+
}
75+
76+
@Test
77+
public void shouldUseOsxPlatformForMacWithOpenjdk() {
78+
// given
79+
Jdk jdk = createJdk("openjdk", "12+33", "mac", "x64");
80+
81+
// when
82+
String target = JdkDownloadPlugin.dependencyNotation(jdk);
83+
84+
// then
85+
assertThat(target, equalTo("openjdk_12:osx:12:[email protected]"));
86+
}
87+
88+
@Test
89+
public void shouldUseLinuxPlatformAsIs() {
90+
// given
91+
Jdk jdk = createJdk("adoptium", "8u302-b08", "linux", "aarch64");
92+
93+
// when
94+
String target = JdkDownloadPlugin.dependencyNotation(jdk);
95+
96+
// then
97+
assertThat(target, equalTo("adoptium_8:linux:8u302:[email protected]"));
98+
}
99+
100+
@Test
101+
public void shouldUseWindowsPlatformAsIsWithZipExtension() {
102+
// given
103+
Jdk jdk = createJdk("adoptium", "17+35", "windows", "x64");
104+
105+
// when
106+
String target = JdkDownloadPlugin.dependencyNotation(jdk);
107+
108+
// then
109+
assertThat(target, equalTo("adoptium_17:windows:17:x64@zip"));
110+
}
111+
112+
@Test
113+
public void shouldUseTarGzExtensionForNonWindowsPlatforms() {
114+
// given
115+
Jdk jdk = createJdk("adoptopenjdk", "8u302-b08", "linux", "x64");
116+
117+
// when
118+
String target = JdkDownloadPlugin.dependencyNotation(jdk);
119+
120+
// then
121+
assertThat(target, equalTo("adoptopenjdk_8:linux:8u302:[email protected]"));
122+
}
123+
124+
@Test
125+
public void shouldIncludeArchitectureInNotation() {
126+
// given - x64 architecture
127+
Jdk jdkX64 = createJdk("adoptium", "17.0.1+12", "linux", "x64");
128+
129+
// when
130+
String targetX64 = JdkDownloadPlugin.dependencyNotation(jdkX64);
131+
132+
// then
133+
assertThat(targetX64, equalTo("adoptium_17:linux:17.0.1:[email protected]"));
134+
135+
// given - aarch64 architecture
136+
Jdk jdkAarch64 = createJdk("adoptium", "17.0.1+12", "linux", "aarch64");
137+
138+
// when
139+
String targetAarch64 = JdkDownloadPlugin.dependencyNotation(jdkAarch64);
140+
141+
// then
142+
assertThat(targetAarch64, equalTo("adoptium_17:linux:17.0.1:[email protected]"));
143+
}
144+
145+
@Test
146+
public void shouldFormatCompleteNotationCorrectly() {
147+
// given
148+
Jdk jdk = createJdk("adoptium", "21.0.2+13", "windows", "x64");
149+
150+
// when
151+
String target = JdkDownloadPlugin.dependencyNotation(jdk);
152+
153+
// then - format: groupName:platform:baseVersion:architecture@extension
154+
assertThat(target, equalTo("adoptium_21:windows:21.0.2:x64@zip"));
155+
}
156+
157+
private Jdk createJdk(String vendor, String version, String platform, String architecture) {
158+
Jdk jdk = new Jdk("test", project.getConfigurations().create("test_" + System.nanoTime()), project.getObjects());
159+
jdk.setVendor(vendor);
160+
jdk.setVersion(version);
161+
jdk.setPlatform(platform);
162+
jdk.setArchitecture(architecture);
163+
jdk.finalizeValues();
164+
return jdk;
165+
}
166+
}

0 commit comments

Comments
 (0)