Commit Graph

488 Commits

Author SHA1 Message Date
Tomas Dvorak
83a1cdf557 Documentation augmentation (#24508)
* removal of classes that went to Jadconfig
adding new steps to the server package

* adding missing license

* adding the config descriptions from server.conf to the annotations

* adding the config descriptions from server.conf to the annotations

* Update feature-flag.config

* jadconfig 1.0.0

* setting a valid default for the node id file in tests

* fixing dependency

* fix validation + fix test

* fixing test

* fixing test

* fix directories

* fix test

* fix test

* fix test

* fix test

* adding missing doc annotations

* merge master & fix missing doc annotation

* Adapt section headings for documentation

* Removed documentation test (will be replaced by annotation processor)

---------

Co-authored-by: Jan Heise <jan.heise@graylog.com>
2025-12-10 16:29:01 +01:00
Tomas Dvorak
994cc852db Update jadconfig to 1.0.0 (#24424)
* Update jadconfig to 1.0.0

* fix configuration test

* code cleanup

* fixed test

* fixed test

* fixed datanode configuration in tests

* default node_id file moved to data_dir

* added changelog

* Adapted misc/graylog.conf to reflect node_id_file relocation

---------

Co-authored-by: Bernd Ahlers <bernd@users.noreply.github.com>
2025-12-10 09:44:23 +01:00
Jan Heise
6553cf2adf Revert "Using the Documentation Annotations for Server (#23862)" (#24418)
This reverts commit ad1ee1292b.
2025-12-02 17:07:01 +01:00
Jan Heise
ad1ee1292b Using the Documentation Annotations for Server (#23862)
* removal of classes that went to Jadconfig
adding new steps to the server package

* adding missing license

* adding the config descriptions from server.conf to the annotations

* adding the config descriptions from server.conf to the annotations

* Update feature-flag.config

* jadconfig 1.0.0

* setting a valid default for the node id file in tests

* fixing dependency

* fix validation + fix test

* fixing test

* fixing test

* fix directories

* fix test

* fix test

* fix test

* fix test

* adding missing doc annotations

* merge master & fix missing doc annotation

* Adapt section headings for documentation

---------

Co-authored-by: Tomas Dvorak <tomas.dvorak@graylog.com>
2025-12-02 13:04:47 +01:00
Tomas Dvorak
8ba5ae14be resilienter index directory parser (#24397)
* resilienter index directory parser

* added changelog
2025-12-02 07:23:41 +01:00
github-actions[bot]
c6ca5cb002 [graylog2-server] prepare for next development iteration 2025-12-01 13:04:26 +00:00
github-actions[bot]
a9355313df [graylog2-server] prepare release 7.1.0-alpha.1 2025-12-01 13:04:18 +00:00
github-actions[bot]
4e677e082a [graylog2-server] prepare for next development iteration 2025-12-01 12:30:39 +00:00
github-actions[bot]
f70e34c5ae [graylog2-server] prepare release 7.1.0-alpha.1 2025-12-01 12:30:30 +00:00
Matthias Oesterheld
d488c2396d Add data node metrics endpoint (#24136)
* add metrics endpoint and prepare metrics collection

* add metrics

* add metrics

* add heap metrics

* cl
2025-11-24 07:53:12 +01:00
Kay Roepke
606f80d52a Migrate from JUnit 4 to 6 (#24012)
* add openrewrite infrastructure and necessary junit jupiter api deps

* update openrewrite docs and remove configLocation from plugin config, so we can override it

* initial openrewrite migration to junit5, work in progress

* replace rule with extension, use mongocollections instead of the instance

* fix parameterized test

* replace jukito with guice-extension for junit5 compatibility

* yet more mongocollections injection

* manually create MongoCollections where we need a custom objectmapper for subtypes

* fix license header

* replace junit4 conditional runner with enabledif static methods, only used in a single test anyway

* fix resource name collision in class loader test

* how did this ever compile?

* use explicit temp dir in tests, otherwise we'd need to create the directories

* add extension that tracks search instances and properly calls their clean up methods according to test lifecycle

* add comment explaining how the closing of testable search instances works with the extension

* use convert rule to extension

* convert rule to extension

* remove old import

* convert SkipDefaultIndexTemplateWatcher to junit5 extension api

* migrate from @Rule to @SearchInstance

* convert remaining @Rule to @SearchInstance

* clean up imports

* replace legacy RestoreSystemProperties rules with custom extension

* migrate all remaining junit4 references

* replace legacy system-rules dep with more modern one for system stream capturing

* remove unused junit4 import

* remove junit5-system-extensions, causes junit engine crashes

* remove legacy junit4 dependency for good :party:

* remove unnecessary openrewrite doc

* move forbiddenapi back out of profile, to avoid it being disabled when other profiles are explicitly given

* suppress forbidden api check for search instance detection

* remove jukito + vintage engine and adapt usage of legacy junit4 apis

* add core junit4 classes Test and Assert to forbidden apis

* replace forbidden junit4 api with junit6 equivalent

* remove guava testlib as it pulls in junit4, replaced FakeTicker with a simpler custom implementation for tests

* update testcontainers to 2.0.2 to get rid of the junit4 transitive dependency

needed to remove all ExternalResources
 * migrated MongoDBInstance to MongoDBTestService (basically identically anyway)
 * inlined some unnecessary interfaces

removed unused imports of junit4 classes

* migrate junit4 api usage

mockito with junit5 is much stricter about argument matcher types, so we need to adapt to Set -> Collection signature change

* actually start the container now that MongoDBInstance.java is gone

* improve test code

* simplify test case

* simplify test case

* simplify test case

* simplify test case

* simplify test case

* simplify test case

* forgot to remove the commented junit4 superclass

* rename MongoDBTestService#create methods to #createStarted and make start() private

* don't close the per-class mongodb instance for @Nested junit test classes

otherwise the first afterAll callback will destroy the instance and subsequent tests will fail
2025-11-20 15:09:03 +01:00
Tomas Dvorak
d4038ecb80 Reenable datanode cluster integration test (#24130) 2025-11-07 10:29:09 +01:00
Tomas Dvorak
e2fa10afe7 Hot reloading of datanode certificates (#24062)
* Hot reloading of datanode certificates

* Differentiate between certificate change and certificate renewal in datanode events

* fixed log message

* added changelog

* code cleanup

* code cleanup and typos

* remove event handling as this also triggers the `OpensearchConfigurationChangeEvent`

* Fix DatanodeRestApiProxy

* make keystore a singleton to respect synchronized calls

---------

Co-authored-by: Matthias Oesterheld <33032967+moesterheld@users.noreply.github.com>
Co-authored-by: Matthias Oesterheld <matthias.oesterheld@graylog.com>
2025-11-04 12:46:06 +01:00
Kay Roepke
e0cf91db16 Refactor full-backend-tests and remove container matrix engine (#23535)
* first batch of changes to remove the matrix test engine

we are migrating matrix tests into github actions and controlling versions externally
this change starts moving the relevant container management code into the extension

this is work in progress, most tests will fail and fixtures aren't imported yet.
more sweeping changes need to be done to avoid constructor injection due to lifecycle calling order issues

* implement class-lifecycle container handling, and adjust inputcreationIT

* have junit close the backends when their store goes out of context, convert more tests

* we no longer need a vm shutdown hook, junit's extension takes care of the closing

* allow setting the mongodb and search server versions using system properties

* add support for requiring data node in tests, if we test functionality only present for that backend

* fix wrong check for data node and skipping tests, i've borked it

* convert constructor injection to lifecycle method

* convert constructor injection to lifecycle method

* convert constructor injection to lifecycle method

* convert constructor injection to lifecycle method

* convert constructor injection to lifecycle method

* convert constructor injection to lifecycle method

* convert constructor injection to lifecycle method

* convert constructor injection to lifecycle method

* convert constructor injection to lifecycle method

* convert constructor injection to lifecycle method

* convert constructor injection to lifecycle method and fix warnigs

* convert constructor injection to lifecycle method

* convert constructor injection to lifecycle method

* convert constructor injection to lifecycle method

* convert constructor injection to lifecycle method

* convert constructor injection to lifecycle method

* convert constructor injection to lifecycle method and fix warnings

* load mongodb fixtures and pass through feature flags to allow running plugin tests

* Speed up MavenPackager by by 7 minutes when building JARs

We don't need to create the assemblies.

* Use a single container network for all tests

We cache MongoDB and OpenSearch services so we can't use a new network
on every test. Otherwise, the server would be in a different network
when using cached services.

* More verbose logging for class-lifecycle server backends

* Exit server backend startup early when seeing an unknown host error

* Log MongoDB version in ContainerizedGraylogBackend

* Return the version string instead of the enum

* Fix warning in ContainerizedGraylogBackend

* Don't create a new MongoDB instance for every test

* don't use constructor argument for test base class, it must be static through the lifecycle method

* convert remaining tests to use lifecycle injection

* Introduce #cachedInstance to SearchServerBuilder

Allows the creation of uncached search instances.

* Add MongoDBInstance#instanceId

* Add SearchServerInstance#instancdId

* Stop server early if MongoDB is not reachable

* Fix caching issues in services provider

Disable multi-layered caches and only cache at the service layer.

* We need the server assembly

* Remove connection failure detector again

Exiting early is problematic because a retry might fix the problem.

Add check for NoClassDefFoundError

* make error message nicer

* tests require data node, so skip them on other search versions

* test only runs on data node

* remove custom junit engine

rename annotation to FullBackendTest
remove deprecated annotation options
always start mail and webhook services, they are tiny and fast, simplifies this further (and cuts down on container starts)

some warning cleanup

* re-enable maven packager, committed this by mistake

* Only allow FullBackendTest annotation in full-backend-tests

* Let WebInterfaceAssetsResourceWithPrefixIT run in CLASS lifecycle

The test needs custom configuration.

* Don't allow VM lifecycle with customized config or feature flags

* test with custom config must run in class lifecycle

* Remove commented cache key parts

* Shutdown CLASS services with non-empty config or feature flags

We don't need services for custom configurations to stay around.

* Improve Guice error detection on server startup

* Replace MongodbServer with MongoDBVersion

* Remove unused MongoDBVersion#PATTERN

* Remove unused ContainerVersions

* Extract search server and MongoDB version provider

* Remove unused imports

* Remove SearchServerInstance#searchServer method

Also convert SearchServer from an enum to a POJO with some constants.

* Move SearchServer to org.graylog.testing.storage

* Change log level in GraylogBackendExtension

* Add EnabledIfSearchServer annotation and condition

* Switch DatanodeOpensearchProxyIT to EnabledIfSearchServer

* Switch more tests to EnabledIfSearchServer annotation

* Remove GraylogBackendConfiguration#onlyOnDataNode

* Fix EnabledIfSearchServerCondition class name

* Remove unused DatanodeDevInstance and its builder and provider

* Ensure Maven packaging before starting backend services

Also move check for GRAYLOG_IT_SKIP_PACKAGING environment variable into
the MavenPackager to avoid duplication.

* Set Data Node version to Version.CURRENT_CLASSPATH

* Improve log message in ContainerizedGraylogBackend

* Fix EnabledIfSearchServerCondition logic

Don't check the presence of a version when distribution is DATANODE.

* Add Javadoc to EnabledIfSearchServer

* Fix DatanodeInstance to build the local image

* Don't set GRAYLOG_ELASTICSEARCH_VERSION env when running Data Node

Fixes a startup error where the search version validator failed.

* Pass missing env to DatanodeInstance

* Remove backend services from cache when they get closed

* Adjust name for local Data Node image to be consistent with the server

* Adjust log message in MavenPackager when skipping

* Handle Exception and AssertError in GraylogRestApi#waitFor

Otherwise, we would exit the wait loop when the predicate throws an
exception. (e.g., when we get a 404 instead of a 200)

* Add log().ifError() in WebInterfaceAssetsResourceBase

* take the cluster id from the imported licenses instead of manually setting it through a fixture

* Remove unused GraylogBackendExtension#resolveFixtures method

* Fix Data Node SearchVersionRange checks

This was hardcoded to 5.2.0 because that's the version we used in our
tests. (regardless of which actual version was running)

We are now building the version from the Version.CURRENT_CLASSPATH.

* Relax Data Node search server check

* Pass MavenProjectDirProvider into services provider

* Add the include-frontend flag to the services cache key

* Revert "Add the include-frontend flag to the services cache key"

This reverts commit c25b1a5b3a.

* Revert "Pass MavenProjectDirProvider into services provider"

This reverts commit 37001edcc9.

* Remove MavenProjectDirProviderWithFrontend

* Rename ContainerMatrixElasticsearchBaseTest to SearchServerBaseTest

* Remove unused NodeContainerFactory#containerFileExists

* Don't memoize customization config in customization config provider

It makes testing really hard and requires a server restart to change the
values.

* Fix signal handling in webhook.js test server

Stopping webhook server container was blocking for a long time.

* Add EnabledIfMongoDB annotation

* Move MavenPackager call up into ContainerizedGraylogBackend

That way we will build the JAR files at the very beginning and with the
correct MavenProjectDirProvider. (at least for the first test that runs)

* Adjust MavenPackager logs

* Make completebackend.api.Views#getAll more robust

* Silence MavenPackager

* Use defaultIfBlank instead of requireNonNullElse

* Also use defaultIfBlank for MongoDB version

* Remove unused service image properties

We can add them back if we should implement image selection.

* Cleanup GraylogBackendExtension

* Rename ConfigurationParameter to Env in GraylogBackendConfiguration

* Prevent importLicenses=false in VM lifecycle

* Add Javadoc to GraylogBackendConfiguration

* Move GraylogBackendConfiguration and FullBackendTest annotations

Those were the last files in the containermatrix package.

* More Javadoc

* Remove services from cache before stopping them

* Log if validation fails

* Introduce Server and Data Node product configuration

This replaces the low-level provider configurations for Maven and plugin
JAR files.

* Don't implement AutoClosable for ContainerizedGraylogBackendServicesProvider

We never close it anywhere. Convert the instance method to a static
cleanup method.

* Remove mavenProjectDirProvider, pluginJarsProvider, datanodePluginJarsProvider

* Fix duplicate BeforeAll methods

* Fix logging in completebackend.apis.Views

* Re-enable DbEntitiesCatalogProviderTest

* Use SearchServer.DEFAULT_VERSION for the default distribution

* Remove unused RunningGraylogBackend

* Check composable index templates feature flag in AdaptersES7

Fixes IndicesIT with Elasticsearch 7 and OpenSearch 1.x because they've
always been using composable index templates.

* Remove unused RunningElasticsearchInstanceES7 class

* Add sleep to ensure updatedAt differs when reacquiring lock

* Make EnabledIfSearchServer annotation repeatable

* Improve wording in EnabledIfSearchServerCondition

* Bump default heap in SearchServerBuilder to 1 GB

* Don't set "elasticsearch_version" and let the server detect the version

* Adjust IndexRangesCleanupIT to handle AssertionError in retry loop

* Remove unneccessary warning supression in DatanodeProvisioningIT

* Remove unused testClass param in GraylogBackendExtension#createBackend

---------

Co-authored-by: Bernd Ahlers <bernd@graylog.com>
Co-authored-by: Bernd Ahlers <bernd@users.noreply.github.com>
Co-authored-by: Othello Maurer <othello@graylog.com>
2025-10-21 15:41:29 +02:00
dependabot[bot]
490d0bafa8 Bump org.codehaus.mojo:exec-maven-plugin from 3.6.1 to 3.6.2 (#23970)
Bumps [org.codehaus.mojo:exec-maven-plugin](https://github.com/mojohaus/exec-maven-plugin) from 3.6.1 to 3.6.2.
- [Release notes](https://github.com/mojohaus/exec-maven-plugin/releases)
- [Commits](https://github.com/mojohaus/exec-maven-plugin/compare/3.6.1...3.6.2)

---
updated-dependencies:
- dependency-name: org.codehaus.mojo:exec-maven-plugin
  dependency-version: 3.6.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bernd Ahlers <bernd@users.noreply.github.com>
2025-10-21 10:46:30 +02:00
github-actions[bot]
7c66020f7a Bump to 7.1.0-SNAPSHOT 2025-10-20 12:54:36 +00:00
Jenkins
606ea53d37 [graylog2-server] prepare for next development iteration 2025-10-20 14:12:12 +02:00
Jenkins
664203b735 [graylog2-server] prepare release 7.0.0-rc.1 2025-10-20 13:53:28 +02:00
Bernd Ahlers
f48396ab1a Revert version to 7.0.0-SNAPSHOT 2025-10-20 13:33:10 +02:00
Jenkins
567ccbf7f8 [graylog2-server] prepare release 7.0.0-rc.1 2025-10-20 13:23:27 +02:00
Matthias Oesterheld
8c2bacfc8a Fix role discovery for data nodes in NodePingPeriodical (#23953)
* fix role discovery for data nodes in nodepingperiodical

* fix unicast_hosts
2025-10-17 16:15:19 +02:00
Mohamed OULD HOCINE
dcdc78b9f0 Data Node Heap Size Warning rewording (#23817)
* Data Node Heap Size Warning rewording

* cl

* provide recommendedMemorySetting for opensearch heap notification

---------

Co-authored-by: Tomas Dvorak <tomas.dvorak@graylog.com>
2025-10-16 12:45:33 +02:00
Jenkins
2e72d3daac [graylog2-server] prepare for next development iteration 2025-10-15 14:01:59 +02:00
Jenkins
932e50d47f [graylog2-server] prepare release 7.0.0-beta.5 2025-10-15 13:43:12 +02:00
Jenkins
e0164a4046 [graylog2-server] prepare for next development iteration 2025-10-13 13:39:03 +02:00
Jenkins
959028630d [graylog2-server] prepare release 7.0.0-beta.4 2025-10-13 13:20:31 +02:00
dependabot[bot]
c0f7fcf4b9 Bump org.codehaus.mojo:exec-maven-plugin from 3.6.0 to 3.6.1 (#23834)
Bumps [org.codehaus.mojo:exec-maven-plugin](https://github.com/mojohaus/exec-maven-plugin) from 3.6.0 to 3.6.1.
- [Release notes](https://github.com/mojohaus/exec-maven-plugin/releases)
- [Commits](https://github.com/mojohaus/exec-maven-plugin/compare/3.6.0...3.6.1)

---
updated-dependencies:
- dependency-name: org.codehaus.mojo:exec-maven-plugin
  dependency-version: 3.6.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-07 09:14:51 +02:00
Jenkins
6e28df8e51 [graylog2-server] prepare for next development iteration 2025-10-06 13:43:45 +02:00
Jenkins
6ed62f74cc [graylog2-server] prepare release 7.0.0-beta.3 2025-10-06 13:25:08 +02:00
dependabot[bot]
c1e855f99b Bump org.codehaus.mojo:exec-maven-plugin from 3.5.1 to 3.6.0 (#23802)
Bumps [org.codehaus.mojo:exec-maven-plugin](https://github.com/mojohaus/exec-maven-plugin) from 3.5.1 to 3.6.0.
- [Release notes](https://github.com/mojohaus/exec-maven-plugin/releases)
- [Commits](https://github.com/mojohaus/exec-maven-plugin/compare/3.5.1...3.6.0)

---
updated-dependencies:
- dependency-name: org.codehaus.mojo:exec-maven-plugin
  dependency-version: 3.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-01 10:33:28 +02:00
Jenkins
30e4ecee45 [graylog2-server] prepare for next development iteration 2025-09-29 13:47:08 +02:00
Jenkins
2c473b49b9 [graylog2-server] prepare release 7.0.0-beta.2 2025-09-29 13:28:29 +02:00
Bernd Ahlers
3a5cf77ae7 Revert "Use cached OpenSearch artifacts for Data Node (#23714)" (#23732)
Doesn't help with the issues and makes downloads from non-EU locations
slow.

This reverts commit a131508022.
2025-09-23 09:20:27 +02:00
Jenkins
3484057624 [graylog2-server] prepare for next development iteration 2025-09-22 14:12:05 +02:00
Jenkins
e611aacff3 [graylog2-server] prepare release 7.0.0-beta.1 2025-09-22 13:53:23 +02:00
Bernd Ahlers
a131508022 Use cached OpenSearch artifacts for Data Node (#23714)
We run into frequent DNS resolution errors for artifacts.opensearch.org.
2025-09-22 11:34:51 +02:00
Matthias Oesterheld
0d183cfd1c avoid concurrentmodificationexception, add tests (#23692) 2025-09-22 10:59:07 +02:00
Patrick Mann
8ff1300a42 Enforce DB 7.0 and remove 5.0 references (#23578)
* enforce DB 7.0 and remove 5.0 references

* bump mongo version for datanode

* add links to Mongo upgrade docs

* more upgrade guidance

---------

Co-authored-by: Anton Ebel <anton.ebel@graylog.com>
2025-09-19 18:33:00 +02:00
Bernd Ahlers
28a7b6691d Remove WithBeanGetter annotation (#23551)
* Replace WithBeanGetterTest with AutoValueValidatorTest

We want to ensure that auto-value adds the validation annotations to the
generated class fields.

* Remove all WithBeanGetter annotation usages

- Fix classes where the constructor became private because of the
  builder usage
- Fix wrong "$AutoValue" references

* Remove auto-value-javabean dependency

* Restore InputCreateRequest#create method

* Revert some JsonSeserialize conversions

The changes introduced a breaking change in InputCreateRequest, so we
play safe for now.

* Remove JsonDeserialize from ShardRouting

* Convert CreateEntityRequest to a POJO to fix validation issues

* Check that CreateEntityRequest#title is not null

* Fix botched merge

* Explicitly set JsonProperty names to fix parsing issue

* Remove unused files

* Use explicit values for JsonProperty annotations

Removing the WithBeanGetter annotation resulted in some de/serialization
errors. We prevent those by using explicit annotation values.

* Fix wrong property name

* Add PMD rule to check for missing values in JsonProperty annotations

* Remove newly introduced WithBeanGetter usages

* Add missing license header

* Fix "$AutoValue_*" usage
2025-09-18 18:03:52 +02:00
Matthias Oesterheld
d7a0cf4fee Bump OpenSearch to 2.19.3 (#21537)
* use os 2.19.0-rc4 in data node

* use 2.18.0 version of repository-s3 plugin

* fix s3 plugin version

* use repository-s3 from build

* remove expired certificates from data node truststore

* use ga release

* disable system indices temporarily because replicas are not set correctly in single-node installations (see https://github.com/opensearch-project/security/issues/4739)

* remove query-insights plugin

* do not use shaded lucene classes to avoid running into UnsupportedOperationException - if the singleton getter is not called from known Lucene classes in the lucene `VectorizationProvider` called by `DirectoryReader#open`

* use OS 2.19.0 shaded clients

* use patched repository-s3 (see
https://github.com/opensearch-project/OpenSearch/issues/17363)

* add lucene-backward-codecs

* use OS 2.19.1

* update to 2.19.3

* correct testcontainers version

* change order of deleting os plugins

* temporarily use 2.19.2

* temporarily use 2.19.2

* switch back to 2.19.3, temporarily disable remote reindexing it

* Changelog

* update containermatrix os server to 2.19.3

* adjust hdfs plugin hash

* Better error message in test

* add more verbose failure message

* change default_number_of_indices for test OS

* add setting only for 2.19.3

---------

Co-authored-by: Tomas Dvorak <tomas.dvorak@graylog.com>
2025-09-18 15:22:28 +02:00
Tomas Dvorak
8ff655a801 Install repository-hdfs plugin in datanode (#23507)
* Install repository-hdfs plugin in datanode/opensearch

* fixed sha for hdfs download

* Added HdfsRepositoryConfiguration and support for snapshots in datanode config

* added changelog

* fixed changelog

* fixed typo
2025-09-04 16:55:37 +02:00
Jenkins
9cfd72871a [graylog2-server] prepare for next development iteration 2025-08-29 13:16:04 +02:00
Jenkins
d59c56b2c1 [graylog2-server] prepare release 7.0.0-alpha.2 2025-08-29 12:57:02 +02:00
Bernd Ahlers
5dc5cc8740 Update to Java 21 (#22908)
* Remove maven.compiler.* properties from plugin archetype

They are already defined in org.graylog:graylog-parent

* Maven: update java compiler version from 17 to 21

* Update java in Github workflows

* Fix deprecated usage of URL constructor

* Fix deprecated usage of Thread#id

* Catch IllegalArgumentException when URLs are not absolute

* Remove PMD plugin for lack of java 21 support

* Update to Java 21

* Inherig compiler source/target settings from parent

* Use Java 21 in test containers

* Fix URL deprecation error for Java 21

* Setup Mockito Java Agent for surefire

See "Explicitly setting up instrumentation for inline mocking (Java 21+)"
at https://javadoc.io/doc/org.mockito/mockito-core/latest/org.mockito/org/mockito/Mockito.html#0.3

* Switch dependency plugin to test phase and fix argLine

* Get dependency properties in test-compile phase

* Add changelog entry and adjust UPGRADING.md

---------

Co-authored-by: Othello Maurer <othello@graylog.com>
2025-08-18 12:42:27 +02:00
Tomas Dvorak
d4ad323a14 Opensearch runtime policy for log rotation (#23347)
* Opensearch runtime policy for log rotation

* Fixed usage of opensearch.policy

* Fixed usage of opensearch.policy

* added changelog

* Fixed url to opensearch.policy file

* Fixed test

---------

Co-authored-by: Matthias Oesterheld <33032967+moesterheld@users.noreply.github.com>
2025-08-14 13:20:45 +02:00
Matthias Oesterheld
b70522ae9c Data Node: fix initial manager node list (#23319)
* fix initial manager node list

* add test
2025-08-11 14:32:30 +02:00
Tomas Dvorak
67f69fe01e Workaround for broken clock skew tolerance in opensearch (#23355)
* Workaround for broken clock skew tolerance in opensearch

* fixed test

* extended unit test
2025-08-11 13:44:27 +02:00
Tomas Dvorak
661006a7b9 Remove duplicated Configuration bean from datanode (#23340)
Co-authored-by: Matthias Oesterheld <33032967+moesterheld@users.noreply.github.com>
2025-08-07 15:30:33 +02:00
Tomas Dvorak
c97dc7a0af Refactoring/datanode keystore cleanup (#23259)
* add new Cluster Configuration Reader role

* cl

* Datanode keystore code cleanup

* fixed import

---------

Co-authored-by: Matthias Oesterheld <matthias.oesterheld@graylog.com>
Co-authored-by: Matthias Oesterheld <33032967+moesterheld@users.noreply.github.com>
2025-08-07 15:28:17 +02:00
Matthias Oesterheld
dafeafd3bd always add self to initial manager nodes if role is set (#23284) 2025-07-29 07:53:16 +02:00