Skip to content

Commit df6853b

Browse files
committed
Merge branch 'main' into identity-aware-plugin-request-perms
2 parents abbb6f0 + 4e3a6d0 commit df6853b

File tree

159 files changed

+6645
-989
lines changed

Some content is hidden

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

159 files changed

+6645
-989
lines changed

.ci/bwcVersions

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,5 @@ BWC_VERSION:
3939
- "2.16.1"
4040
- "2.17.0"
4141
- "2.17.1"
42+
- "2.17.2"
4243
- "2.18.0"

.github/dependabot.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -722,6 +722,12 @@ updates:
722722
- directory: /plugins/
723723
open-pull-requests-limit: 1
724724
package-ecosystem: gradle
725+
ignore:
726+
# For all packages, ignore all major versions to minimize breaking issues
727+
- dependency-name: "com.google.cloud:google-cloud-storage"
728+
update-types: [ "version-update:semver-major" ]
729+
- dependency-name: "com.google.api-client:google-api-client"
730+
update-types: [ "version-update:semver-major" ]
725731
schedule:
726732
interval: weekly
727733
labels:

.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: startsWith(github.event.pull_request.head.ref,'backport/')
1313
steps:
1414
- name: Delete merged branch
15-
uses: actions/github-script@v5
15+
uses: actions/github-script@v7
1616
with:
1717
script: |
1818
github.rest.git.deleteRef({

CHANGELOG.md

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,35 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
1111
- Fallback to Remote cluster-state on Term-Version check mismatch - ([#15424](https://github.com/opensearch-project/OpenSearch/pull/15424))
1212
- Implement WithFieldName interface in ValuesSourceAggregationBuilder & FieldSortBuilder ([#15916](https://github.com/opensearch-project/OpenSearch/pull/15916))
1313
- Add successfulSearchShardIndices in searchRequestContext ([#15967](https://github.com/opensearch-project/OpenSearch/pull/15967))
14-
- Remove identity-related feature flagged code from the RestController ([#15430](https://github.com/opensearch-project/OpenSearch/pull/15430))
14+
- Add support for msearch API to pass search pipeline name - ([#15923](https://github.com/opensearch-project/OpenSearch/pull/15923))
15+
- Add _list/indices API as paginated alternate to _cat/indices ([#14718](https://github.com/opensearch-project/OpenSearch/pull/14718))
16+
- Add success and failure metrics for async shard fetch ([#15976](https://github.com/opensearch-project/OpenSearch/pull/15976))
17+
- Add new metric REMOTE_STORE to NodeStats API response ([#15611](https://github.com/opensearch-project/OpenSearch/pull/15611))
18+
- [S3 Repository] Change default retry mechanism of s3 clients to Standard Mode ([#15978](https://github.com/opensearch-project/OpenSearch/pull/15978))
1519

1620
### Dependencies
1721
- Bump `com.azure:azure-identity` from 1.13.0 to 1.13.2 ([#15578](https://github.com/opensearch-project/OpenSearch/pull/15578))
1822
- Bump `protobuf` from 3.22.3 to 3.25.4 ([#15684](https://github.com/opensearch-project/OpenSearch/pull/15684))
19-
- Bump `org.apache.logging.log4j:log4j-core` from 2.23.1 to 2.24.0 ([#15858](https://github.com/opensearch-project/OpenSearch/pull/15858))
23+
- Bump `org.apache.logging.log4j:log4j-core` from 2.23.1 to 2.24.1 ([#15858](https://github.com/opensearch-project/OpenSearch/pull/15858), [#16134](https://github.com/opensearch-project/OpenSearch/pull/16134))
2024
- Bump `peter-evans/create-pull-request` from 6 to 7 ([#15863](https://github.com/opensearch-project/OpenSearch/pull/15863))
2125
- Bump `com.nimbusds:oauth2-oidc-sdk` from 11.9.1 to 11.19.1 ([#15862](https://github.com/opensearch-project/OpenSearch/pull/15862))
2226
- Bump `com.microsoft.azure:msal4j` from 1.17.0 to 1.17.1 ([#15945](https://github.com/opensearch-project/OpenSearch/pull/15945))
2327
- Bump `ch.qos.logback:logback-core` from 1.5.6 to 1.5.8 ([#15946](https://github.com/opensearch-project/OpenSearch/pull/15946))
2428
- Update protobuf from 3.25.4 to 3.25.5 ([#16011](https://github.com/opensearch-project/OpenSearch/pull/16011))
29+
- Bump `org.roaringbitmap:RoaringBitmap` from 1.2.1 to 1.3.0 ([#16040](https://github.com/opensearch-project/OpenSearch/pull/16040))
30+
- Bump `com.nimbusds:nimbus-jose-jwt` from 9.40 to 9.41.1 ([#16038](https://github.com/opensearch-project/OpenSearch/pull/16038))
31+
- Bump `actions/github-script` from 5 to 7 ([#16039](https://github.com/opensearch-project/OpenSearch/pull/16039))
32+
- Bump `dnsjava:dnsjava` from 3.6.1 to 3.6.2 ([#16041](https://github.com/opensearch-project/OpenSearch/pull/16041))
33+
- Bump `com.maxmind.geoip2:geoip2` from 4.2.0 to 4.2.1 ([#16042](https://github.com/opensearch-project/OpenSearch/pull/16042))
34+
- Bump `com.maxmind.db:maxmind-db` from 3.1.0 to 3.1.1 ([#16137](https://github.com/opensearch-project/OpenSearch/pull/16137))
35+
- Bump `com.azure:azure-core-http-netty` from 1.15.3 to 1.15.4 ([#16133](https://github.com/opensearch-project/OpenSearch/pull/16133))
36+
- Bump `org.jline:jline` from 3.26.3 to 3.27.0 ([#16135](https://github.com/opensearch-project/OpenSearch/pull/16135))
2537

2638
### Changed
39+
- Add support for docker compose v2 in TestFixturesPlugin ([#16049](https://github.com/opensearch-project/OpenSearch/pull/16049))
40+
- Remove identity-related feature flagged code from the RestController ([#15430](https://github.com/opensearch-project/OpenSearch/pull/15430))
41+
- Remove Identity FeatureFlag ([#16024](https://github.com/opensearch-project/OpenSearch/pull/16024))
42+
- Ensure RestHandler.Wrapper delegates all implementations to the wrapped handler ([#16154](https://github.com/opensearch-project/OpenSearch/pull/16154))
2743

2844

2945
### Deprecated
@@ -34,7 +50,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
3450
- Fix wildcard query containing escaped character ([#15737](https://github.com/opensearch-project/OpenSearch/pull/15737))
3551
- Fix case-insensitive query on wildcard field ([#15882](https://github.com/opensearch-project/OpenSearch/pull/15882))
3652
- Add validation for the search backpressure cancellation settings ([#15501](https://github.com/opensearch-project/OpenSearch/pull/15501))
53+
- Fix search_as_you_type not supporting multi-fields ([#15988](https://github.com/opensearch-project/OpenSearch/pull/15988))
54+
- Avoid infinite loop when `flat_object` field contains invalid token ([#15985](https://github.com/opensearch-project/OpenSearch/pull/15985))
3755
- Fix infinite loop in nested agg ([#15931](https://github.com/opensearch-project/OpenSearch/pull/15931))
56+
- Fix race condition in node-join and node-left ([#15521](https://github.com/opensearch-project/OpenSearch/pull/15521))
57+
- Streaming bulk request hangs ([#16158](https://github.com/opensearch-project/OpenSearch/pull/16158))
3858

3959
### Security
4060

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
[![Open Issues](https://img.shields.io/github/issues/opensearch-project/OpenSearch)](https://github.com/opensearch-project/OpenSearch/issues)
99
[![Open Pull Requests](https://img.shields.io/github/issues-pr/opensearch-project/OpenSearch)](https://github.com/opensearch-project/OpenSearch/pulls)
1010
[![2.18.0 Open Issues](https://img.shields.io/github/issues/opensearch-project/OpenSearch/v2.18.0)](https://github.com/opensearch-project/OpenSearch/issues?q=is%3Aissue+is%3Aopen+label%3A"v2.18.0")
11-
[![2.17.1 Open Issues](https://img.shields.io/github/issues/opensearch-project/OpenSearch/v2.17.1)](https://github.com/opensearch-project/OpenSearch/issues?q=is%3Aissue+is%3Aopen+label%3A"v2.17.1")
11+
[![2.17.2 Open Issues](https://img.shields.io/github/issues/opensearch-project/OpenSearch/v2.17.2)](https://github.com/opensearch-project/OpenSearch/issues?q=is%3Aissue+is%3Aopen+label%3A"v2.17.2")
1212
[![3.0.0 Open Issues](https://img.shields.io/github/issues/opensearch-project/OpenSearch/v3.0.0)](https://github.com/opensearch-project/OpenSearch/issues?q=is%3Aissue+is%3Aopen+label%3A"v3.0.0")
1313
[![GHA gradle check](https://github.com/opensearch-project/OpenSearch/actions/workflows/gradle-check.yml/badge.svg)](https://github.com/opensearch-project/OpenSearch/actions/workflows/gradle-check.yml)
1414
[![GHA validate pull request](https://github.com/opensearch-project/OpenSearch/actions/workflows/wrapper.yml/badge.svg)](https://github.com/opensearch-project/OpenSearch/actions/workflows/wrapper.yml)

buildSrc/src/main/java/org/opensearch/gradle/docker/DockerSupportService.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ public DockerAvailability getDockerAvailability() {
106106
Version version = null;
107107
boolean isVersionHighEnough = false;
108108
boolean isComposeAvailable = false;
109+
boolean isComposeV2Available = false;
109110

110111
// Check if the Docker binary exists
111112
final Optional<String> dockerBinary = getDockerPath();
@@ -129,6 +130,8 @@ public DockerAvailability getDockerAvailability() {
129130
if (lastResult.isSuccess() && composePath.isPresent()) {
130131
isComposeAvailable = runCommand(composePath.get(), "version").isSuccess();
131132
}
133+
134+
isComposeV2Available = runCommand(dockerPath, "compose", "version").isSuccess();
132135
}
133136
}
134137
}
@@ -138,6 +141,7 @@ public DockerAvailability getDockerAvailability() {
138141
this.dockerAvailability = new DockerAvailability(
139142
isAvailable,
140143
isComposeAvailable,
144+
isComposeV2Available,
141145
isVersionHighEnough,
142146
dockerPath,
143147
version,
@@ -356,6 +360,11 @@ public static class DockerAvailability {
356360
*/
357361
public final boolean isComposeAvailable;
358362

363+
/**
364+
* True if docker compose is available.
365+
*/
366+
public final boolean isComposeV2Available;
367+
359368
/**
360369
* True if the installed Docker version is &gt;= 17.05
361370
*/
@@ -379,13 +388,15 @@ public static class DockerAvailability {
379388
DockerAvailability(
380389
boolean isAvailable,
381390
boolean isComposeAvailable,
391+
boolean isComposeV2Available,
382392
boolean isVersionHighEnough,
383393
String path,
384394
Version version,
385395
Result lastCommand
386396
) {
387397
this.isAvailable = isAvailable;
388398
this.isComposeAvailable = isComposeAvailable;
399+
this.isComposeV2Available = isComposeV2Available;
389400
this.isVersionHighEnough = isVersionHighEnough;
390401
this.path = path;
391402
this.version = version;

buildSrc/src/main/java/org/opensearch/gradle/testfixtures/TestFixturesPlugin.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,11 @@ public void execute(Task task) {
171171
.findFirst();
172172

173173
composeExtension.getExecutable().set(dockerCompose.isPresent() ? dockerCompose.get() : "/usr/bin/docker");
174-
composeExtension.getUseDockerComposeV2().set(false);
174+
if (dockerSupport.get().getDockerAvailability().isComposeV2Available) {
175+
composeExtension.getUseDockerComposeV2().set(true);
176+
} else if (dockerSupport.get().getDockerAvailability().isComposeAvailable) {
177+
composeExtension.getUseDockerComposeV2().set(false);
178+
}
175179

176180
tasks.named("composeUp").configure(t -> {
177181
// Avoid running docker-compose tasks in parallel in CI due to some issues on certain Linux distributions
@@ -228,7 +232,8 @@ private void maybeSkipTask(Provider<DockerSupportService> dockerSupport, TaskPro
228232

229233
private void maybeSkipTask(Provider<DockerSupportService> dockerSupport, Task task) {
230234
task.onlyIf(spec -> {
231-
boolean isComposeAvailable = dockerSupport.get().getDockerAvailability().isComposeAvailable;
235+
boolean isComposeAvailable = dockerSupport.get().getDockerAvailability().isComposeV2Available
236+
|| dockerSupport.get().getDockerAvailability().isComposeAvailable;
232237
if (isComposeAvailable == false) {
233238
LOGGER.info("Task {} requires docker-compose but it is unavailable. Task will be skipped.", task.getPath());
234239
}

buildSrc/src/testKit/thirdPartyAudit/sample_jars/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ repositories {
1717
}
1818

1919
dependencies {
20-
implementation "org.apache.logging.log4j:log4j-core:2.24.0"
20+
implementation "org.apache.logging.log4j:log4j-core:2.24.1"
2121
}
2222

2323
["0.0.1", "0.0.2"].forEach { v ->

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@
9090
public abstract class OpenSearchRestHighLevelClientTestCase extends OpenSearchRestTestCase {
9191

9292
protected static final String CONFLICT_PIPELINE_ID = "conflict_pipeline";
93+
protected static final double DOUBLE_DELTA = 0.000001;
9394

9495
private static RestHighLevelClient restHighLevelClient;
9596
private static boolean async = Booleans.parseBoolean(System.getProperty("tests.rest.async", "false"));

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ public void testMetrics() throws IOException {
158158

159159
RankEvalRequest rankEvalRequest = new RankEvalRequest(spec, new String[] { "index", "index2" });
160160
RankEvalResponse response = execute(rankEvalRequest, highLevelClient()::rankEval, highLevelClient()::rankEvalAsync);
161-
assertEquals(expectedScores[i], response.getMetricScore(), Double.MIN_VALUE);
161+
assertEquals(expectedScores[i], response.getMetricScore(), DOUBLE_DELTA);
162162
i++;
163163
}
164164
}

gradle/wrapper/gradle-wrapper.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
distributionBase=GRADLE_USER_HOME
1313
distributionPath=wrapper/dists
14-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.1-all.zip
14+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-all.zip
1515
zipStoreBase=GRADLE_USER_HOME
1616
zipStorePath=wrapper/dists
17-
distributionSha256Sum=fdfca5dbc2834f0ece5020465737538e5ba679deeff5ab6c09621d67f8bb1a15
17+
distributionSha256Sum=2ab88d6de2c23e6adae7363ae6e29cbdd2a709e992929b48b6530fd0c7133bd6

libs/core/src/main/java/org/opensearch/Version.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ public class Version implements Comparable<Version>, ToXContentFragment {
110110
public static final Version V_2_16_1 = new Version(2160199, org.apache.lucene.util.Version.LUCENE_9_11_1);
111111
public static final Version V_2_17_0 = new Version(2170099, org.apache.lucene.util.Version.LUCENE_9_11_1);
112112
public static final Version V_2_17_1 = new Version(2170199, org.apache.lucene.util.Version.LUCENE_9_11_1);
113+
public static final Version V_2_17_2 = new Version(2170299, org.apache.lucene.util.Version.LUCENE_9_11_1);
113114
public static final Version V_2_18_0 = new Version(2180099, org.apache.lucene.util.Version.LUCENE_9_11_1);
114115
public static final Version V_3_0_0 = new Version(3000099, org.apache.lucene.util.Version.LUCENE_9_12_0);
115116
public static final Version CURRENT = V_3_0_0;

modules/ingest-geoip/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@ opensearchplugin {
3939
}
4040

4141
dependencies {
42-
api('com.maxmind.geoip2:geoip2:4.2.0')
42+
api('com.maxmind.geoip2:geoip2:4.2.1')
4343
// geoip2 dependencies:
44-
api('com.maxmind.db:maxmind-db:3.1.0')
44+
api('com.maxmind.db:maxmind-db:3.1.1')
4545
api("com.fasterxml.jackson.core:jackson-annotations:${versions.jackson}")
4646
api("com.fasterxml.jackson.core:jackson-databind:${versions.jackson_databind}")
4747

modules/ingest-geoip/licenses/geoip2-4.2.0.jar.sha1

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
9dbf8a8bea88a33e88c46eb3f503721b4bd08b90

modules/ingest-geoip/licenses/maxmind-db-3.1.0.jar.sha1

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
84a2a5d322fef1f1e82f05095683c8d53902baf1

modules/ingest-geoip/src/test/java/org/opensearch/ingest/geoip/IngestGeoIpModulePluginTests.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import com.maxmind.geoip2.model.AbstractResponse;
3636

3737
import org.opensearch.common.network.InetAddresses;
38+
import org.opensearch.common.settings.Setting;
3839
import org.opensearch.common.settings.Settings;
3940
import org.opensearch.env.TestEnvironment;
4041
import org.opensearch.ingest.Processor;
@@ -126,6 +127,12 @@ public void testAllowListNotSpecified() throws IOException {
126127
}
127128
}
128129

130+
public void testSettingsRegistration() {
131+
final IngestGeoIpModulePlugin plugin = new IngestGeoIpModulePlugin();
132+
final List<Setting<?>> settings = plugin.getSettings();
133+
assertTrue(settings.contains(IngestGeoIpModulePlugin.PROCESSORS_ALLOWLIST_SETTING));
134+
}
135+
129136
private void runAllowListTest(List<String> allowList) throws IOException {
130137
Settings.Builder settingsBuilder = Settings.builder();
131138
createDb(settingsBuilder);

modules/ingest-user-agent/src/main/java/org/opensearch/ingest/useragent/IngestUserAgentModulePlugin.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
import java.nio.file.Path;
4545
import java.nio.file.PathMatcher;
4646
import java.nio.file.StandardOpenOption;
47+
import java.util.Arrays;
4748
import java.util.Collections;
4849
import java.util.HashMap;
4950
import java.util.List;
@@ -152,6 +153,6 @@ static Map<String, UserAgentParser> createUserAgentParsers(Path userAgentConfigD
152153

153154
@Override
154155
public List<Setting<?>> getSettings() {
155-
return Collections.singletonList(CACHE_SIZE_SETTING);
156+
return Arrays.asList(CACHE_SIZE_SETTING, PROCESSORS_ALLOWLIST_SETTING);
156157
}
157158
}

modules/ingest-user-agent/src/test/java/org/opensearch/ingest/useragent/IngestUserAgentModulePluginTests.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
package org.opensearch.ingest.useragent;
1010

11+
import org.opensearch.common.settings.Setting;
1112
import org.opensearch.common.settings.Settings;
1213
import org.opensearch.env.TestEnvironment;
1314
import org.opensearch.ingest.Processor;
@@ -89,6 +90,12 @@ public void testAllowListNotSpecified() throws IOException {
8990
}
9091
}
9192

93+
public void testSettingsRegistration() {
94+
final IngestUserAgentModulePlugin plugin = new IngestUserAgentModulePlugin();
95+
final List<Setting<?>> settings = plugin.getSettings();
96+
assertTrue(settings.contains(IngestUserAgentModulePlugin.PROCESSORS_ALLOWLIST_SETTING));
97+
}
98+
9299
private void runAllowListTest(List<String> allowList) throws IOException {
93100
final Settings settings = settingsBuilder.putList(IngestUserAgentModulePlugin.PROCESSORS_ALLOWLIST_SETTING.getKey(), allowList)
94101
.build();

modules/mapper-extras/src/main/java/org/opensearch/index/mapper/SearchAsYouTypeFieldMapper.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,15 @@ public SearchAsYouTypeFieldMapper build(Mapper.BuilderContext context) {
264264
}
265265
ft.setPrefixField(prefixFieldType);
266266
ft.setShingleFields(shingleFieldTypes);
267-
return new SearchAsYouTypeFieldMapper(name, ft, copyTo.build(), prefixFieldMapper, shingleFieldMappers, this);
267+
return new SearchAsYouTypeFieldMapper(
268+
name,
269+
ft,
270+
multiFieldsBuilder.build(this, context),
271+
copyTo.build(),
272+
prefixFieldMapper,
273+
shingleFieldMappers,
274+
this
275+
);
268276
}
269277
}
270278

@@ -623,12 +631,13 @@ public SpanQuery spanPrefixQuery(String value, SpanMultiTermQueryWrapper.SpanRew
623631
public SearchAsYouTypeFieldMapper(
624632
String simpleName,
625633
SearchAsYouTypeFieldType mappedFieldType,
634+
MultiFields multiFields,
626635
CopyTo copyTo,
627636
PrefixFieldMapper prefixField,
628637
ShingleFieldMapper[] shingleFields,
629638
Builder builder
630639
) {
631-
super(simpleName, mappedFieldType, MultiFields.empty(), copyTo);
640+
super(simpleName, mappedFieldType, multiFields, copyTo);
632641
this.prefixField = prefixField;
633642
this.shingleFields = shingleFields;
634643
this.maxShingleSize = builder.maxShingleSize.getValue();

modules/mapper-extras/src/test/java/org/opensearch/index/mapper/SearchAsYouTypeFieldMapperTests.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,20 @@ private void assertMultiField(int shingleSize) throws IOException {
298298
}
299299
}
300300

301+
public void testSubField() throws IOException {
302+
MapperService mapperService = createMapperService(
303+
fieldMapping(
304+
b -> b.field("type", "search_as_you_type")
305+
.startObject("fields")
306+
.startObject("subField")
307+
.field("type", "keyword")
308+
.endObject()
309+
.endObject()
310+
)
311+
);
312+
assertThat(mapperService.fieldType("field.subField"), instanceOf(KeywordFieldMapper.KeywordFieldType.class));
313+
}
314+
301315
public void testIndexOptions() throws IOException {
302316
DocumentMapper mapper = createDocumentMapper(
303317
fieldMapping(b -> b.field("type", "search_as_you_type").field("index_options", "offsets"))

plugins/repository-azure/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ dependencies {
4848
api 'com.azure:azure-json:1.1.0'
4949
api 'com.azure:azure-xml:1.1.0'
5050
api 'com.azure:azure-storage-common:12.25.1'
51-
api 'com.azure:azure-core-http-netty:1.15.3'
51+
api 'com.azure:azure-core-http-netty:1.15.4'
5252
api "io.netty:netty-codec-dns:${versions.netty}"
5353
api "io.netty:netty-codec-socks:${versions.netty}"
5454
api "io.netty:netty-codec-http2:${versions.netty}"
@@ -63,7 +63,7 @@ dependencies {
6363
api "net.java.dev.jna:jna-platform:${versions.jna}"
6464
api 'com.microsoft.azure:msal4j:1.17.1'
6565
api 'com.nimbusds:oauth2-oidc-sdk:11.19.1'
66-
api 'com.nimbusds:nimbus-jose-jwt:9.40'
66+
api 'com.nimbusds:nimbus-jose-jwt:9.41.1'
6767
api 'com.nimbusds:content-type:2.3'
6868
api 'com.nimbusds:lang-tag:1.7'
6969
// Both msal4j:1.14.3 and oauth2-oidc-sdk:11.9.1 has compile dependency on different versions of json-smart,

plugins/repository-azure/licenses/azure-core-http-netty-1.15.3.jar.sha1

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
489a38c9e6efb5ce01fbd276d8cb6c0e89000459

plugins/repository-azure/licenses/nimbus-jose-jwt-9.40.jar.sha1

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
35532a88e1b49a623ec97fd276cc208ea525b6bc

0 commit comments

Comments
 (0)