Skip to content

Commit 3b2e27a

Browse files
authored
Harden detection of HTTP/3 support by ensuring Quic native libraries are available for the target platform (opensearch-project#20680)
Signed-off-by: Andriy Redko <drreta@gmail.com>
1 parent 107aa53 commit 3b2e27a

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
3131
- Update RemoteClusterStateCleanupManager to performed batched deletions of stale ClusterMetadataManifests and address deletion timeout issues ([#20566](https://github.com/opensearch-project/OpenSearch/pull/20566))
3232
- Fix the regression of terms agg optimization at high cardinality ([#20623](https://github.com/opensearch-project/OpenSearch/pull/20623))
3333
- Support Docker distribution builds for ppc64le, arm64 and s390x ([#20678](https://github.com/opensearch-project/OpenSearch/pull/20678))
34+
- Harden detection of HTTP/3 support by ensuring Quic native libraries are available for the target platform ([#20680](https://github.com/opensearch-project/OpenSearch/pull/20680))
3435

3536
### Dependencies
3637
- Bump shadow-gradle-plugin from 8.3.9 to 9.3.1 ([#20569](https://github.com/opensearch-project/OpenSearch/pull/20569))

libs/netty4/src/main/java/org/opensearch/http/netty4/http3/Http3Utils.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88

99
package org.opensearch.http.netty4.http3;
1010

11+
import io.netty.handler.codec.quic.Quic;
12+
1113
/**
1214
* Adapted from reactor.netty.http.internal.Http3 class
1315
*/
@@ -22,7 +24,10 @@ public final class Http3Utils {
2224
} catch (Throwable t) {
2325
http3 = false;
2426
}
25-
isHttp3Available = http3;
27+
// Quic codec (which is used by HTTP/3 implementation) is provided by the
28+
// native library and may not be available on all platforms (even if HTTP/3
29+
// codec is present).
30+
isHttp3Available = http3 && Quic.isAvailable();
2631
}
2732

2833
private Http3Utils() {

0 commit comments

Comments
 (0)