Skip to content

Commit ed318d9

Browse files
authored
Merge branch 'main' into skippers/always-on-for-index-false
2 parents 4e1aeea + 933354b commit ed318d9

File tree

96 files changed

+1248
-224
lines changed

Some content is hidden

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

96 files changed

+1248
-224
lines changed

build-tools-internal/gradle/wrapper/gradle-wrapper.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionSha256Sum=16f2b95838c1ddcf7242b1c39e7bbbb43c842f1f1a1a0dc4959b6d4d68abcac3
4-
distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.0-all.zip
3+
distributionSha256Sum=f86344275d1b194688dd330abf9f6f2344cd02872ffee035f2d1ea2fd60cf7f3
4+
distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-all.zip
55
networkTimeout=10000
66
validateDistributionUrl=true
77
zipStoreBase=GRADLE_USER_HOME
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
9.2.0
1+
9.2.1

docs/changelog/138624.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
pr: 138624
2+
summary: Handle individual doc parsing failure in bulk request with pipeline
3+
area: Ingest Node
4+
type: bug
5+
issues:
6+
- 138445

gradle/wrapper/gradle-wrapper.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionSha256Sum=16f2b95838c1ddcf7242b1c39e7bbbb43c842f1f1a1a0dc4959b6d4d68abcac3
4-
distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.0-all.zip
3+
distributionSha256Sum=f86344275d1b194688dd330abf9f6f2344cd02872ffee035f2d1ea2fd60cf7f3
4+
distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-all.zip
55
networkTimeout=10000
66
validateDistributionUrl=true
77
zipStoreBase=GRADLE_USER_HOME

libs/ssl-config/src/main/java/org/elasticsearch/common/ssl/DerParser.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,12 @@ private int getLength() throws IOException {
138138
int n = derInputStream.read(bytes);
139139
if (n < num) throw new IOException("Invalid DER: length too short");
140140

141-
return new BigInteger(1, bytes).intValue();
141+
int len = new BigInteger(1, bytes).intValue();
142+
if (len < 0) {
143+
throw new IOException("Invalid DER: length larger than max-int");
144+
}
145+
146+
return len;
142147
}
143148

144149
/**

modules/reindex/src/main/java/org/elasticsearch/reindex/ReindexPlugin.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import org.elasticsearch.common.settings.Setting;
2020
import org.elasticsearch.common.settings.Settings;
2121
import org.elasticsearch.common.settings.SettingsFilter;
22+
import org.elasticsearch.common.util.FeatureFlag;
2223
import org.elasticsearch.features.NodeFeature;
2324
import org.elasticsearch.index.reindex.BulkByScrollTask;
2425
import org.elasticsearch.index.reindex.DeleteByQueryAction;
@@ -44,6 +45,11 @@ public class ReindexPlugin extends Plugin implements ActionPlugin {
4445

4546
public static final ActionType<ListTasksResponse> RETHROTTLE_ACTION = new ActionType<>("cluster:admin/reindex/rethrottle");
4647

48+
/**
49+
* Whether the feature flag to guard the work to make reindex more resilient while it is under development.
50+
*/
51+
static boolean REINDEX_RESILIENCE_ENABLED = new FeatureFlag("reindex_resilience").isEnabled();
52+
4753
@Override
4854
public List<ActionHandler> getActions() {
4955
return Arrays.asList(

modules/reindex/src/test/java/org/elasticsearch/reindex/ClientScrollableHitSourceTests.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
import java.util.stream.IntStream;
5151

5252
import static org.apache.lucene.tests.util.TestUtil.randomSimpleString;
53+
import static org.elasticsearch.common.bytes.BytesReferenceTestUtils.equalBytes;
5354
import static org.elasticsearch.core.TimeValue.timeValueSeconds;
5455
import static org.hamcrest.Matchers.instanceOf;
5556

@@ -174,7 +175,7 @@ private SearchResponse createSearchResponse() {
174175
private void assertSameHits(List<? extends ScrollableHitSource.Hit> actual, SearchHit[] expected) {
175176
assertEquals(actual.size(), expected.length);
176177
for (int i = 0; i < actual.size(); ++i) {
177-
assertEquals(actual.get(i).getSource(), expected[i].getSourceRef());
178+
assertThat(expected[i].getSourceRef(), equalBytes(actual.get(i).getSource()));
178179
assertEquals(actual.get(i).getIndex(), expected[i].getIndex());
179180
assertEquals(actual.get(i).getVersion(), expected[i].getVersion());
180181
assertEquals(actual.get(i).getPrimaryTerm(), expected[i].getPrimaryTerm());

modules/reindex/src/test/java/org/elasticsearch/reindex/RoundTripTests.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
import java.util.Map;
3939

4040
import static org.apache.lucene.tests.util.TestUtil.randomSimpleString;
41+
import static org.elasticsearch.common.bytes.BytesReferenceTestUtils.equalBytes;
4142

4243
/**
4344
* Round trip tests for all {@link Writeable} things declared in this plugin.
@@ -144,7 +145,7 @@ private void assertRequestEquals(ReindexRequest request, ReindexRequest tripped)
144145
assertNotNull(tripped.getRemoteInfo());
145146
assertEquals(request.getRemoteInfo().getScheme(), tripped.getRemoteInfo().getScheme());
146147
assertEquals(request.getRemoteInfo().getHost(), tripped.getRemoteInfo().getHost());
147-
assertEquals(request.getRemoteInfo().getQuery(), tripped.getRemoteInfo().getQuery());
148+
assertThat(tripped.getRemoteInfo().getQuery(), equalBytes(request.getRemoteInfo().getQuery()));
148149
assertEquals(request.getRemoteInfo().getUsername(), tripped.getRemoteInfo().getUsername());
149150
assertEquals(request.getRemoteInfo().getPassword(), tripped.getRemoteInfo().getPassword());
150151
assertEquals(request.getRemoteInfo().getHeaders(), tripped.getRemoteInfo().getHeaders());

modules/repository-gcs/src/internalClusterTest/java/org/elasticsearch/repositories/gcs/GoogleCloudStorageBlobStoreRepositoryTests.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@
5959
import java.util.Collections;
6060
import java.util.Map;
6161

62+
import static org.elasticsearch.common.bytes.BytesReferenceTestUtils.equalBytes;
6263
import static org.elasticsearch.common.io.Streams.readFully;
6364
import static org.elasticsearch.repositories.blobstore.BlobStoreTestUtil.randomPurpose;
6465
import static org.elasticsearch.repositories.gcs.GoogleCloudStorageClientSettings.CREDENTIALS_FILE_SETTING;
@@ -219,7 +220,7 @@ public void testWriteFileMultipleOfChunkSize() throws IOException {
219220
container.writeBlob(randomPurpose(), key, new BytesArray(initialValue), true);
220221

221222
BytesReference reference = readFully(container.readBlob(randomPurpose(), key));
222-
assertEquals(new BytesArray(initialValue), reference);
223+
assertThat(reference, equalBytes(new BytesArray(initialValue)));
223224

224225
container.deleteBlobsIgnoringIfNotExists(randomPurpose(), Iterators.single(key));
225226
}

modules/repository-gcs/src/test/java/org/elasticsearch/repositories/gcs/GoogleCloudStorageBlobContainerRetriesTests.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@
7979

8080
import static fixture.gcs.TestUtils.createServiceAccount;
8181
import static java.nio.charset.StandardCharsets.UTF_8;
82+
import static org.elasticsearch.common.bytes.BytesReferenceTestUtils.equalBytes;
8283
import static org.elasticsearch.common.io.Streams.readFully;
8384
import static org.elasticsearch.repositories.blobstore.BlobStoreTestUtil.randomPurpose;
8485
import static org.elasticsearch.repositories.blobstore.ESBlobStoreRepositoryIntegTestCase.randomBytes;
@@ -582,7 +583,7 @@ public void testCompareAndExchangeWhenThrottled() throws IOException {
582583
final OptionalBytesReference updateResult = safeAwait(
583584
l -> container.compareAndExchangeRegister(randomPurpose(), key, new BytesArray(data), new BytesArray(updatedData), l)
584585
);
585-
assertEquals(new BytesArray(data), updateResult.bytesReference());
586+
assertThat(updateResult.bytesReference(), equalBytes(new BytesArray(data)));
586587

587588
assertEquals(0, requestHandlers.size());
588589
container.delete(randomPurpose());
@@ -601,7 +602,7 @@ public void testContentsChangeWhileStreaming() throws IOException {
601602
container.writeBlob(randomPurpose(), key, new BytesArray(initialValue), true);
602603

603604
BytesReference reference = readFully(container.readBlob(randomPurpose(), key));
604-
assertEquals(new BytesArray(initialValue), reference);
605+
assertThat(reference, equalBytes(new BytesArray(initialValue)));
605606

606607
try (InputStream inputStream = container.readBlob(randomPurpose(), key)) {
607608
// Trigger the first chunk to load

0 commit comments

Comments
 (0)