Skip to content

Commit f519d11

Browse files
authored
Merge branch 'main' into fix-representative-count
2 parents faefe32 + 8ca062a commit f519d11

File tree

533 files changed

+6704
-3590
lines changed

Some content is hidden

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

533 files changed

+6704
-3590
lines changed

build-tools/src/testFixtures/groovy/org/elasticsearch/gradle/fixtures/AbstractGradleFuncTest.groovy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ abstract class AbstractGradleFuncTest extends Specification {
107107
.forwardOutput()
108108
), configurationCacheCompatible,
109109
buildApiRestrictionsDisabled)
110-
).withArguments(arguments.collect { it.toString() })
110+
).withArguments(arguments.collect { it.toString() } + "--full-stacktrace")
111111
}
112112

113113
def assertOutputContains(String givenOutput, String expected) {

distribution/tools/keystore-cli/src/test/java/org/elasticsearch/cli/keystore/KeyStoreWrapperTests.java

Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@
5858
import static org.hamcrest.Matchers.equalTo;
5959
import static org.hamcrest.Matchers.hasSize;
6060
import static org.hamcrest.Matchers.instanceOf;
61+
import static org.hamcrest.Matchers.is;
6162
import static org.hamcrest.Matchers.notNullValue;
6263

6364
public class KeyStoreWrapperTests extends ESTestCase {
@@ -436,17 +437,8 @@ public void testStringAndFileDistinction() throws Exception {
436437
public void testLegacyV3() throws GeneralSecurityException, IOException {
437438
assumeFalse("Cannot open unprotected keystore on FIPS JVM", inFipsJvm());
438439
final Path configDir = createTempDir();
439-
final Path keystore = configDir.resolve("elasticsearch.keystore");
440-
try (
441-
InputStream is = KeyStoreWrapperTests.class.getResourceAsStream("/format-v3-elasticsearch.keystore");
442-
OutputStream os = Files.newOutputStream(keystore)
443-
) {
444-
final byte[] buffer = new byte[4096];
445-
int readBytes;
446-
while ((readBytes = is.read(buffer)) > 0) {
447-
os.write(buffer, 0, readBytes);
448-
}
449-
}
440+
copyKeyStoreFromResourceToConfigDir(configDir, "/format-v3-elasticsearch.keystore");
441+
450442
final KeyStoreWrapper wrapper = KeyStoreWrapper.load(configDir);
451443
assertNotNull(wrapper);
452444
wrapper.decrypt(new char[0]);
@@ -460,9 +452,31 @@ public void testLegacyV3() throws GeneralSecurityException, IOException {
460452

461453
public void testLegacyV5() throws GeneralSecurityException, IOException {
462454
final Path configDir = createTempDir();
455+
copyKeyStoreFromResourceToConfigDir(configDir, "/format-v5-with-password-elasticsearch.keystore");
456+
457+
final KeyStoreWrapper wrapper = KeyStoreWrapper.load(configDir);
458+
assertNotNull(wrapper);
459+
wrapper.decrypt("keystorepassword".toCharArray());
460+
assertThat(wrapper.getFormatVersion(), equalTo(5));
461+
assertThat(wrapper.getSettingNames(), equalTo(Set.of("keystore.seed")));
462+
}
463+
464+
public void testLegacyV6() throws GeneralSecurityException, IOException {
465+
final Path configDir = createTempDir();
466+
copyKeyStoreFromResourceToConfigDir(configDir, "/format-v6-elasticsearch.keystore");
467+
468+
final KeyStoreWrapper wrapper = KeyStoreWrapper.load(configDir);
469+
assertNotNull(wrapper);
470+
wrapper.decrypt("keystorepassword".toCharArray());
471+
assertThat(wrapper.getFormatVersion(), equalTo(6));
472+
assertThat(wrapper.getSettingNames(), equalTo(Set.of("keystore.seed", "string")));
473+
assertThat(wrapper.getString("string"), equalTo("value"));
474+
}
475+
476+
private void copyKeyStoreFromResourceToConfigDir(Path configDir, String name) throws IOException {
463477
final Path keystore = configDir.resolve("elasticsearch.keystore");
464478
try (
465-
InputStream is = KeyStoreWrapperTests.class.getResourceAsStream("/format-v5-with-password-elasticsearch.keystore");
479+
InputStream is = KeyStoreWrapperTests.class.getResourceAsStream(name); //
466480
OutputStream os = Files.newOutputStream(keystore)
467481
) {
468482
final byte[] buffer = new byte[4096];
@@ -471,11 +485,6 @@ public void testLegacyV5() throws GeneralSecurityException, IOException {
471485
os.write(buffer, 0, readBytes);
472486
}
473487
}
474-
final KeyStoreWrapper wrapper = KeyStoreWrapper.load(configDir);
475-
assertNotNull(wrapper);
476-
wrapper.decrypt("keystorepassword".toCharArray());
477-
assertThat(wrapper.getFormatVersion(), equalTo(5));
478-
assertThat(wrapper.getSettingNames(), equalTo(Set.of("keystore.seed")));
479488
}
480489

481490
public void testSerializationNewlyCreated() throws Exception {
@@ -487,6 +496,7 @@ public void testSerializationNewlyCreated() throws Exception {
487496
wrapper.writeTo(out);
488497
final KeyStoreWrapper fromStream = new KeyStoreWrapper(out.bytes().streamInput());
489498

499+
assertThat(fromStream.getFormatVersion(), is(KeyStoreWrapper.CURRENT_VERSION));
490500
assertThat(fromStream.getSettingNames(), hasSize(2));
491501
assertThat(fromStream.getSettingNames(), containsInAnyOrder("string_setting", "keystore.seed"));
492502

Binary file not shown.

distribution/tools/server-cli/src/main/java/org/elasticsearch/server/cli/SystemJvmOptions.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
import org.elasticsearch.common.settings.Settings;
1313
import org.elasticsearch.common.util.concurrent.EsExecutors;
14+
import org.elasticsearch.core.Booleans;
1415
import org.elasticsearch.core.UpdateForV9;
1516
import org.elasticsearch.jdk.RuntimeVersionFeature;
1617

@@ -26,7 +27,9 @@ final class SystemJvmOptions {
2627
static List<String> systemJvmOptions(Settings nodeSettings, final Map<String, String> sysprops) {
2728
String distroType = sysprops.get("es.distribution.type");
2829
boolean isHotspot = sysprops.getOrDefault("sun.management.compiler", "").contains("HotSpot");
29-
boolean useEntitlements = Boolean.parseBoolean(sysprops.getOrDefault("es.entitlements.enabled", "false"));
30+
boolean entitlementsExplicitlyEnabled = Booleans.parseBoolean(sysprops.getOrDefault("es.entitlements.enabled", "false"));
31+
// java 24+ only supports entitlements, but it may be enabled on earlier versions explicitly
32+
boolean useEntitlements = RuntimeVersionFeature.isSecurityManagerAvailable() == false || entitlementsExplicitlyEnabled;
3033
return Stream.of(
3134
Stream.of(
3235
/*

docs/changelog/118669.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
pr: 118669
2+
summary: "[Connector API] Support soft-deletes of connectors"
3+
area: Extract&Transform
4+
type: feature
5+
issues: []

docs/changelog/118968.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
pr: 118968
2+
summary: Configure index sorting through index settings for logsdb
3+
area: Logs
4+
type: enhancement
5+
issues:
6+
- 118686

docs/changelog/119389.yaml

Lines changed: 0 additions & 5 deletions
This file was deleted.

docs/changelog/119449.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
pr: 119449
2+
summary: Add missing traces ilm policy for OTel traces data streams
3+
area: Data streams
4+
type: bug
5+
issues: []

docs/changelog/119542.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
pr: 119542
2+
summary: Wait while index is blocked
3+
area: Transform
4+
type: enhancement
5+
issues: []

docs/changelog/119730.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
pr: 119730
2+
summary: Enable KQL function as a tech preview
3+
area: ES|QL
4+
type: enhancement
5+
issues: []

0 commit comments

Comments
 (0)