Skip to content

Commit 7b29d74

Browse files
moesterheldtodvora
andauthored
Revert data node bundling os 3.5.0 and switch to 2.19.5 (#25550)
* Revert "Update bundled Opensearch in Datanode to 3.5.0 (#25062)" This reverts commit 66d8c7e. * use os 2.19.5 * cl * cl * fix version --------- Co-authored-by: Tomas Dvorak <tomas.dvorak@graylog.com>
1 parent 3a5d5cb commit 7b29d74

19 files changed

Lines changed: 171 additions & 130 deletions

File tree

UPGRADING.md

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -60,18 +60,6 @@ underscores instead, e.g. `${aggregation_conditions.count}`, `${aggregation_cond
6060
existing notifications using the escaping of parentheses in explicit `aggregation_conditions` key names will need to
6161
be modified to instead use the underscore format.
6262

63-
### Data Node in-place migration only available for OpenSearch versions above 2.0.0
64-
65-
Due to bundling OpenSearch 3.5.0 with Data Node, in-place migrations are now only supported for OpenSearch versions
66-
higher than 2.0.0. If you are running a lower version, please upgrade your OpenSearch to the highest available 2.x or
67-
3.x version first.
68-
69-
### Data Node role name change from `search` to `warm`
70-
71-
Data Node now bundles OpenSearch 3.5.0. In OpenSearch 3.x the `search` role was explicitly renamed to `warm`. While Data
72-
Node will usually take care of this for you, please be aware that you need to adjust your roles accordingly if you
73-
override the default values using `node_role` in the Data Node configuration.
74-
7563
### OpenSearch-Based Anomaly Detection Removed
7664

7765
Anomaly detection now runs natively within Graylog, removing the dependency on OpenSearch's Anomaly Detection plugin.

changelog/unreleased/issue-25063.toml

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

changelog/unreleased/pr-25550.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
type = "c"
2+
message = "Upgrade data node's bundled OpenSearch to 2.19.5."
3+
4+
pulls = ["25550"]

data-node/pom.xml

Lines changed: 37 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,9 @@
4242
<mainClass>org.graylog.datanode.bootstrap.Main</mainClass>
4343

4444
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
45-
<opensearch.version>3.5.0</opensearch.version>
46-
<opensearch.mac.jdk.version>25.0.2</opensearch.mac.jdk.version>
47-
<opensearch.mac.jdk.build>10</opensearch.mac.jdk.build>
45+
<opensearch.version>2.19.5</opensearch.version>
46+
<opensearch.mac.jdk.version>21.0.7</opensearch.mac.jdk.version>
47+
<opensearch.mac.jdk.build>6</opensearch.mac.jdk.build>
4848

4949
<!--
5050
We don't need to sign anything in this module. This fixes a release build error related to setting
@@ -118,11 +118,6 @@
118118
<groupId>org.mongojack</groupId>
119119
<artifactId>mongojack</artifactId>
120120
</dependency>
121-
<dependency>
122-
<groupId>org.opensearch</groupId>
123-
<artifactId>opensearch-core</artifactId>
124-
<version>${opensearch.version}</version>
125-
</dependency>
126121
<dependency>
127122
<groupId>org.graylog.repackaged</groupId>
128123
<artifactId>os-platform-finder</artifactId>
@@ -383,6 +378,30 @@
383378
<artifactId>shiro-core</artifactId>
384379
</dependency>
385380

381+
<dependency>
382+
<groupId>org.graylog.shaded</groupId>
383+
<artifactId>opensearch2-rest-high-level-client</artifactId>
384+
<version>${opensearch.shaded.version}</version>
385+
<exclusions>
386+
<exclusion>
387+
<groupId>commons-logging</groupId>
388+
<artifactId>commons-logging</artifactId>
389+
</exclusion>
390+
</exclusions>
391+
</dependency>
392+
<dependency>
393+
<groupId>org.graylog.shaded</groupId>
394+
<artifactId>opensearch2-rest-client-sniffer</artifactId>
395+
<version>${opensearch.shaded.version}</version>
396+
<exclusions>
397+
<exclusion>
398+
<groupId>commons-logging</groupId>
399+
<artifactId>commons-logging</artifactId>
400+
</exclusion>
401+
</exclusions>
402+
</dependency>
403+
404+
386405
<dependency>
387406
<groupId>org.apache.commons</groupId>
388407
<artifactId>commons-collections4</artifactId>
@@ -535,7 +554,7 @@
535554
https://artifacts.opensearch.org/releases/bundle/opensearch/${opensearch.version}/opensearch-${opensearch.version}-linux-x64.tar.gz
536555
</url>
537556
<sha512>
538-
b83c4f1ef7f6fd19aaf1d281b68a1c64039090a95c8b082bccdab714fd012bd289830596c47db31bc604eed46b2e58ab3e2616e739172987c3991ea199011c7c
557+
5594746235bc1321e8bfdccb23375c6b7f10b4cd5145bca6ff275abef4cc2a954b4381955f8dca66c0804446bbf58eaf812b2ac16e123d79f0bd6f4a976edfa6
539558
</sha512>
540559
<outputFileName>opensearch-${opensearch.version}-linux-x64.tar.gz</outputFileName>
541560
<outputDirectory>${project.build.directory}/opensearch</outputDirectory>
@@ -559,7 +578,7 @@
559578
https://artifacts.opensearch.org/releases/bundle/opensearch/${opensearch.version}/opensearch-${opensearch.version}-linux-arm64.tar.gz
560579
</url>
561580
<sha512>
562-
17bb9a809de88df1ad93e650c16f2b9a237f42ff4ff69e93136db2f43a9a9a948c13d7d6591be3d72afad224e6b88b1a70c5ed2b316e85fcebbb495edf008a14
581+
1b8263e3c1a3a6d49305e1cce3dc1f4841135c299efddb192eabc839a7943cc584d2241cc85390644572d5481cf938e8ba0602224e8367f0b28aabc9c43bef26
563582
</sha512>
564583
<outputFileName>opensearch-${opensearch.version}-linux-aarch64.tar.gz</outputFileName>
565584
<outputDirectory>${project.build.directory}/opensearch</outputDirectory>
@@ -585,7 +604,7 @@
585604
<outputFileName>repository-s3-${opensearch.version}.zip</outputFileName>
586605
<outputDirectory>${project.build.directory}/opensearch-plugins</outputDirectory>
587606
<sha512>
588-
650ca522b42155fd68a07a17e719bceaf419b572e7c0f82c48787f465b6dcd510793e7ae0faf3225f4cb1867acbf5458a8ce8616e6c0d4aed189660884d882a8
607+
8b41bc034043bde9e0b9b606c67d6bbf12f5d227f78ad8d8ff05328305ca63907c9c480df888fc5d619f8f7e203a8be9d42e2ce019a0c81bf445f5c454f01902
589608
</sha512>
590609
</configuration>
591610
</execution>
@@ -602,7 +621,7 @@
602621
<outputFileName>repository-gcs-${opensearch.version}.zip</outputFileName>
603622
<outputDirectory>${project.build.directory}/opensearch-plugins</outputDirectory>
604623
<sha512>
605-
748c46eb05870be9a928fde27bf52e4e832d80f858c4804ecccd84bfc99473fd3f4d7aa95d3c9e27e74518cac7351e0dfb3dd5fe148ce06a66a5498ec96337ee
624+
22647de144d64b6b9118c4abd92face19523729fdbe83c9299a771c6346e11752b80795e40722d6cdd5c91c3c22e3c84fcd927dbb83f9fcbd707b2c6444c83b2
606625
</sha512>
607626
</configuration>
608627
</execution>
@@ -619,7 +638,7 @@
619638
<outputFileName>repository-hdfs-${opensearch.version}.zip</outputFileName>
620639
<outputDirectory>${project.build.directory}/opensearch-plugins</outputDirectory>
621640
<sha512>
622-
1e91ffbf746a65512af6c1d1183cbabcb0bfa53f4ce632dd05782ca18f3099c79a6812abafe4845b9d07163ea9b0449b1c535a91960ab007345e83651587f114
641+
078ad5529ba6f49651b1ccf314878694ea9c95daac534cce5b11bdc32f1ace6b952347e27da73f11458c80e2583528338bdb1467102b4456a832e33aff564d15
623642
</sha512>
624643
</configuration>
625644
</execution>
@@ -636,7 +655,7 @@
636655
<outputFileName>repository-azure-${opensearch.version}.zip</outputFileName>
637656
<outputDirectory>${project.build.directory}/opensearch-plugins</outputDirectory>
638657
<sha512>
639-
3bde65ceb3694fc264fa9b063b9d6658b4814b2604ae8a52a10c0fb2d256657f884f12083478cff220bc2f981348f65f4f0bb25d786e177ae108c2091e22a9c6
658+
6ebdcbff6c8abef43730f6f5d60c1e0c2b7e3afa09b6832c30ce60e0da4502786132eed9b3207430d951e65abd226cb9cb9bbe49f434f8e3aa118fe58f601c43
640659
</sha512>
641660
</configuration>
642661
</execution>
@@ -999,10 +1018,10 @@
9991018
</goals>
10001019
<configuration>
10011020
<url>
1002-
https://github.com/adoptium/temurin25-binaries/releases/download/jdk-${opensearch.mac.jdk.version}%2B${opensearch.mac.jdk.build}/OpenJDK25U-jdk_x64_mac_hotspot_${opensearch.mac.jdk.version}_${opensearch.mac.jdk.build}.tar.gz
1021+
https://github.com/adoptium/temurin21-binaries/releases/download/jdk-${opensearch.mac.jdk.version}%2B${opensearch.mac.jdk.build}/OpenJDK21U-jdk_x64_mac_hotspot_${opensearch.mac.jdk.version}_${opensearch.mac.jdk.build}.tar.gz
10031022
</url>
10041023
<sha512>
1005-
76d05d952ea451e0f0872e20895d7e65eb501dcd60b7e376819a489e2a7fdc758dfccc098f5b17024bb8a8b633240d84a50021628ab7a5525abc7d3cd09765a4
1024+
981de4ed6629975b84f2604dd2c601e66633691b1da835e0b8741c4712d5b24b51e757686624dc1b2492e61a9e9a27c8ac73bfc9e571d6e8c1c5db8ec6a4189c
10061025
</sha512>
10071026
<outputDirectory>
10081027
${project.build.directory}/opensearch/opensearch-${opensearch.version}-linux-x64/jdk-mac
@@ -1024,10 +1043,10 @@
10241043
</goals>
10251044
<configuration>
10261045
<url>
1027-
https://github.com/adoptium/temurin25-binaries/releases/download/jdk-${opensearch.mac.jdk.version}%2B${opensearch.mac.jdk.build}/OpenJDK25U-jdk_aarch64_mac_hotspot_${opensearch.mac.jdk.version}_${opensearch.mac.jdk.build}.tar.gz
1046+
https://github.com/adoptium/temurin21-binaries/releases/download/jdk-${opensearch.mac.jdk.version}%2B${opensearch.mac.jdk.build}/OpenJDK21U-jdk_aarch64_mac_hotspot_${opensearch.mac.jdk.version}_${opensearch.mac.jdk.build}.tar.gz
10281047
</url>
10291048
<sha512>
1030-
f15a4ae987c1da6e9d12afafde3a95c5ac8c0f35617b6b49e9de1ba0d8eb886d6c1b3f6492dfa0de44996e5a5cde41e6240e05568ec563498a7471c8bd94c044
1049+
5bd61c1634daa5b6e0c473de6c0883ac2d29c0daa7101dd852113a5197b6cd60f790c0f7f53a64b2dbbb45f030ee4481c9d38745615a1a39b8efbef41e4b8115
10311050
</sha512>
10321051
<outputDirectory>
10331052
${project.build.directory}/opensearch/opensearch-${opensearch.version}-linux-aarch64/jdk-mac

data-node/src/main/java/org/graylog/datanode/bootstrap/preflight/OpensearchDataDirCompatibilityCheck.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@
2424
import org.graylog.datanode.filesystem.index.IndicesDirectoryParser;
2525
import org.graylog.datanode.filesystem.index.dto.IndexerDirectoryInformation;
2626
import org.graylog.datanode.filesystem.index.dto.NodeInformation;
27+
import org.graylog.shaded.opensearch2.org.opensearch.Version;
2728
import org.graylog2.bootstrap.preflight.PreflightCheck;
2829
import org.graylog2.bootstrap.preflight.PreflightCheckException;
29-
import org.opensearch.Version;
3030
import org.slf4j.Logger;
3131
import org.slf4j.LoggerFactory;
3232

data-node/src/main/java/org/graylog/datanode/filesystem/index/dto/IndexInformation.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
import com.fasterxml.jackson.annotation.JsonProperty;
2121
import jakarta.annotation.Nullable;
2222
import org.graylog.datanode.filesystem.index.statefile.StateFile;
23-
import org.opensearch.Version;
23+
import org.graylog.shaded.opensearch2.org.opensearch.Version;
2424

2525
import java.nio.file.Path;
2626
import java.time.Instant;

data-node/src/main/java/org/graylog/datanode/filesystem/index/dto/NodeInformation.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import com.fasterxml.jackson.annotation.JsonIgnore;
2020
import com.fasterxml.jackson.annotation.JsonProperty;
2121
import org.graylog.datanode.filesystem.index.statefile.StateFile;
22-
import org.opensearch.Version;
22+
import org.graylog.shaded.opensearch2.org.opensearch.Version;
2323

2424
import javax.annotation.Nullable;
2525
import java.nio.file.Path;

data-node/src/main/java/org/graylog/datanode/opensearch/configuration/beans/impl/OpensearchNodeRole.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,5 @@ public interface OpensearchNodeRole {
2121
String DATA = "data";
2222
String INGEST = "ingest";
2323
String REMOTE_CLUSTER_CLIENT = "remote_cluster_client";
24-
String WARM = "warm";
24+
String SEARCH = "search";
2525
}

data-node/src/main/java/org/graylog/datanode/opensearch/configuration/beans/impl/SearchableSnapshotsConfigurationBean.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -89,32 +89,32 @@ public DatanodeConfigurationPart buildConfigurationPart(OpensearchConfigurationP
8989
LOG.info("Searchable snapshots are configured, adding opensearch configuration");
9090
final DatanodeConfigurationPart.Builder builder = DatanodeConfigurationPart.builder();
9191

92-
final boolean warmRoleEnabled = warmRoleEnabled();
93-
if (warmRoleEnabled) {
94-
LOG.info("Warm role enabled, validating usable space and adding warm role to opensearch configuration");
92+
final boolean searchRoleEnabled = searchRoleEnabled();
93+
if (searchRoleEnabled) {
94+
LOG.info("Search role enabled, validating usable space and adding search role to opensearch configuration");
9595
validateUsableSpace();
96-
builder.addNodeRole(OpensearchNodeRole.WARM);
96+
builder.addNodeRole(OpensearchNodeRole.SEARCH);
9797
}
9898
return builder
99-
.properties(properties(warmRoleEnabled, enabledRepositories))
99+
.properties(properties(searchRoleEnabled, enabledRepositories))
100100
.keystoreItems(keystoreItems(enabledRepositories))
101101
.build();
102-
} else if (warmRoleExplicitlyConfigured()) {
103-
throw new OpensearchConfigurationException("Your configuration contains the warm node role in node_roles but there is no" +
102+
} else if (searchRoleExplicitlyConfigured()) {
103+
throw new OpensearchConfigurationException("Your configuration contains the search node role in node_roles but there is no" +
104104
"snapshots repository configured. Please remove the role or provide path_repo or S3 repository credentials.");
105105
} else {
106-
LOG.info("Opensearch snapshots not configured, skipping warm role and cache configuration.");
106+
LOG.info("Opensearch snapshots not configured, skipping search role and cache configuration.");
107107
return DatanodeConfigurationPart.builder().build();
108108
}
109109
}
110110

111-
private boolean warmRoleExplicitlyConfigured() {
112-
return localConfiguration.getNodeRoles() != null && localConfiguration.getNodeRoles().contains(OpensearchNodeRole.WARM);
111+
private boolean searchRoleExplicitlyConfigured() {
112+
return localConfiguration.getNodeRoles() != null && localConfiguration.getNodeRoles().contains(OpensearchNodeRole.SEARCH);
113113
}
114114

115-
private boolean warmRoleEnabled() {
115+
private boolean searchRoleEnabled() {
116116
final boolean rolesNotConfigured = localConfiguration.getNodeRoles() == null || localConfiguration.getNodeRoles().isEmpty();
117-
return rolesNotConfigured || localConfiguration.getNodeRoles().contains(OpensearchNodeRole.WARM);
117+
return rolesNotConfigured || localConfiguration.getNodeRoles().contains(OpensearchNodeRole.SEARCH);
118118
}
119119

120120
private void validateUsableSpace() throws OpensearchConfigurationException {

data-node/src/main/java/org/graylog/datanode/rest/IndicesDirectoryController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
import org.graylog.datanode.filesystem.index.IndicesDirectoryParser;
2828
import org.graylog.datanode.filesystem.index.dto.IndexerDirectoryInformation;
2929
import org.graylog.datanode.filesystem.index.dto.NodeInformation;
30-
import org.opensearch.Version;
30+
import org.graylog.shaded.opensearch2.org.opensearch.Version;
3131

3232
import java.util.ArrayList;
3333
import java.util.Collections;

0 commit comments

Comments
 (0)