diff --git a/changelog/unreleased/pr-26633.toml b/changelog/unreleased/pr-26633.toml new file mode 100644 index 000000000000..c7f6bdde9960 --- /dev/null +++ b/changelog/unreleased/pr-26633.toml @@ -0,0 +1,4 @@ +type = "f" +message = "Fix setting compression in OpenSearch client when enabled using `elasticsearch_compression_enabled`." + +pulls = ["26633"] diff --git a/graylog-storage-opensearch2/src/main/java/org/graylog/storage/opensearch2/RestClientProvider.java b/graylog-storage-opensearch2/src/main/java/org/graylog/storage/opensearch2/RestClientProvider.java index 02dd8ecf0234..a7e3652a3161 100644 --- a/graylog-storage-opensearch2/src/main/java/org/graylog/storage/opensearch2/RestClientProvider.java +++ b/graylog-storage-opensearch2/src/main/java/org/graylog/storage/opensearch2/RestClientProvider.java @@ -141,7 +141,7 @@ public RestHighLevelClient buildBasicRestClient(List hosts) { } return httpClientConfig; }) - .setChunkedEnabled(configuration.compressionEnabled()); + .setCompressionEnabled(configuration.compressionEnabled()); return new RestHighLevelClient(restClientBuilder); } diff --git a/graylog-storage-opensearch3/src/main/java/org/graylog/storage/opensearch3/MoreSearchAdapterOS.java b/graylog-storage-opensearch3/src/main/java/org/graylog/storage/opensearch3/MoreSearchAdapterOS.java index 77d596589859..d0c636d4f669 100644 --- a/graylog-storage-opensearch3/src/main/java/org/graylog/storage/opensearch3/MoreSearchAdapterOS.java +++ b/graylog-storage-opensearch3/src/main/java/org/graylog/storage/opensearch3/MoreSearchAdapterOS.java @@ -249,7 +249,7 @@ public MoreSearch.Histogram eventHistogram(String queryString, AbsoluteRange tim return dh; }) - .aggregations(TERMS_AGGREGATION_NAME, Aggregation.builder().terms(terms -> terms.minDocCount(0).field(EventDto.FIELD_ALERT)).build()) + .aggregations(TERMS_AGGREGATION_NAME, Aggregation.builder().terms(terms -> terms.minDocCount(0L).field(EventDto.FIELD_ALERT)).build()) .build(); builder.aggregations(HISTOGRAM_AGGREGATION_NAME, histogramAggregation); diff --git a/graylog-storage-opensearch3/src/main/java/org/graylog/storage/opensearch3/OfficialOpensearchClientProvider.java b/graylog-storage-opensearch3/src/main/java/org/graylog/storage/opensearch3/OfficialOpensearchClientProvider.java index ba90913751ff..2c9733badb3c 100644 --- a/graylog-storage-opensearch3/src/main/java/org/graylog/storage/opensearch3/OfficialOpensearchClientProvider.java +++ b/graylog-storage-opensearch3/src/main/java/org/graylog/storage/opensearch3/OfficialOpensearchClientProvider.java @@ -136,7 +136,7 @@ public OpenSearchTransport buildTransport(List uris, TransportConfig config .setAuthenticationEnabled(true) ); - builder.setChunkedEnabled(clientConfiguration.compressionEnabled()); + builder.setCompressionEnabled(clientConfiguration.compressionEnabled()); builder.setHttpClientConfigCallback(httpClientBuilder -> { final PoolingAsyncClientConnectionManagerBuilder connectionManagerBuilder = PoolingAsyncClientConnectionManagerBuilder.create() diff --git a/graylog-storage-opensearch3/src/main/java/org/graylog/storage/opensearch3/client/CustomOpenSearchClient.java b/graylog-storage-opensearch3/src/main/java/org/graylog/storage/opensearch3/client/CustomOpenSearchClient.java index 6ff51d9c582f..b59ac12a3ed9 100644 --- a/graylog-storage-opensearch3/src/main/java/org/graylog/storage/opensearch3/client/CustomOpenSearchClient.java +++ b/graylog-storage-opensearch3/src/main/java/org/graylog/storage/opensearch3/client/CustomOpenSearchClient.java @@ -20,7 +20,7 @@ import org.opensearch.client.opensearch.OpenSearchClient; import org.opensearch.client.opensearch._types.ErrorResponse; import org.opensearch.client.opensearch._types.OpenSearchException; -import org.opensearch.client.opensearch._types.ShardFailure; +import org.opensearch.client.opensearch._types.ShardSearchFailure; import org.opensearch.client.opensearch._types.ShardStatistics; import org.opensearch.client.opensearch.core.MsearchResponse; import org.opensearch.client.opensearch.core.SearchRequest; @@ -68,7 +68,7 @@ static void throwOnShardFailures(ShardStatistics shards) { } final var reason = String.format(Locale.ROOT, "%d of %d shards failed", shards.failed(), shards.total()); final var rootCauses = shards.failures().stream() - .map(ShardFailure::reason) + .map(ShardSearchFailure::reason) .toList(); throw new OpenSearchException(ErrorResponse.of(r -> r .status(500) diff --git a/graylog-storage-opensearch3/src/main/java/org/graylog/storage/opensearch3/views/OpenSearchBackend.java b/graylog-storage-opensearch3/src/main/java/org/graylog/storage/opensearch3/views/OpenSearchBackend.java index 2cb91d310e34..5db8eaa726c1 100644 --- a/graylog-storage-opensearch3/src/main/java/org/graylog/storage/opensearch3/views/OpenSearchBackend.java +++ b/graylog-storage-opensearch3/src/main/java/org/graylog/storage/opensearch3/views/OpenSearchBackend.java @@ -60,7 +60,7 @@ import org.opensearch.client.opensearch._types.ExpandWildcard; import org.opensearch.client.opensearch._types.FieldValue; import org.opensearch.client.opensearch._types.OpenSearchException; -import org.opensearch.client.opensearch._types.ShardFailure; +import org.opensearch.client.opensearch._types.ShardSearchFailure; import org.opensearch.client.opensearch._types.Time; import org.opensearch.client.opensearch._types.query_dsl.BoolQuery; import org.opensearch.client.opensearch._types.query_dsl.MatchAllQuery; @@ -457,7 +457,7 @@ private Optional checkForFailedShards(MultiSearchRespons final MultiSearchItem searchResponse = multiSearchResponse.result(); if (searchResponse != null && searchResponse.shards().failed() > 0) { final List shardFailures = searchResponse.shards().failures().stream() - .map(ShardFailure::reason) + .map(ShardSearchFailure::reason) .toList(); final List nonNumericFieldErrors = shardFailures .stream() diff --git a/graylog-storage-opensearch3/src/test/java/org/graylog/storage/opensearch3/client/CustomOpenSearchClientTest.java b/graylog-storage-opensearch3/src/test/java/org/graylog/storage/opensearch3/client/CustomOpenSearchClientTest.java index b5c9e30bcf79..6b3c31be3a45 100644 --- a/graylog-storage-opensearch3/src/test/java/org/graylog/storage/opensearch3/client/CustomOpenSearchClientTest.java +++ b/graylog-storage-opensearch3/src/test/java/org/graylog/storage/opensearch3/client/CustomOpenSearchClientTest.java @@ -19,7 +19,7 @@ import org.junit.jupiter.api.Test; import org.opensearch.client.opensearch._types.ErrorCause; import org.opensearch.client.opensearch._types.OpenSearchException; -import org.opensearch.client.opensearch._types.ShardFailure; +import org.opensearch.client.opensearch._types.ShardSearchFailure; import org.opensearch.client.opensearch._types.ShardStatistics; import static org.assertj.core.api.Assertions.assertThat; @@ -37,7 +37,7 @@ void throwOnShardFailuresDoesNothingWhenAllShardsSucceeded() { @Test void throwOnShardFailuresDoesNothingWhenSomeShardsFailedButOthersSucceeded() { - final ShardFailure failure = ShardFailure.of(b -> b + final ShardSearchFailure failure = ShardSearchFailure.of(b -> b .index("graylog_0") .shard(2) .reason(ErrorCause.of(c -> c.type("query_shard_exception").reason("parse error"))) @@ -54,7 +54,7 @@ void throwOnShardFailuresDoesNothingWhenSomeShardsFailedButOthersSucceeded() { @Test void throwOnShardFailuresThrowsWhenAllShardsFailed() { - final ShardFailure failure = ShardFailure.of(b -> b + final ShardSearchFailure failure = ShardSearchFailure.of(b -> b .index("graylog_0") .shard(2) .reason(ErrorCause.of(c -> c.type("query_shard_exception").reason("parse error"))) diff --git a/graylog2-server/src/main/java/org/graylog2/configuration/ElasticsearchClientConfiguration.java b/graylog2-server/src/main/java/org/graylog2/configuration/ElasticsearchClientConfiguration.java index 8d0c0c08c096..ffa4d2d67071 100644 --- a/graylog2-server/src/main/java/org/graylog2/configuration/ElasticsearchClientConfiguration.java +++ b/graylog2-server/src/main/java/org/graylog2/configuration/ElasticsearchClientConfiguration.java @@ -197,7 +197,7 @@ Maximum number of total connections per Elasticsearch route (normally this means private String defaultPasswordForDiscoveredNodes = null; @Documentation(""" - Enable payload compression for Elasticsearch requests. + Enable payload compression for Elasticsearch requests and responses. Default: false """) diff --git a/pom.xml b/pom.xml index a48a8c5c88d1..ea8097c35931 100644 --- a/pom.xml +++ b/pom.xml @@ -98,7 +98,7 @@ 2.19.3-1 - 3.2.0 + 3.9.0 3.2.0 5.32.0 4.13.2