Skip to content

Commit a91fef9

Browse files
committed
[Streaming Indexing] Introduce new experimental HTTP transport based on Netty 4 and Project Reactor (Reactor Netty)
Signed-off-by: Andriy Redko <andriy.redko@aiven.io>
1 parent 8e5e54b commit a91fef9

File tree

59 files changed

+2299
-90
lines changed

Some content is hidden

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

59 files changed

+2299
-90
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
106106
- [Segment Replication] Adding segment replication statistics rolled up at index, node and cluster level ([#9709](https://github.com/opensearch-project/OpenSearch/pull/9709))
107107
- [Remote Store] Changes to introduce repository registration during bootstrap via node attributes. ([#9105](https://github.com/opensearch-project/OpenSearch/pull/9105))
108108
- [Remote state] Auto restore index metadata from last known cluster state ([#9831](https://github.com/opensearch-project/OpenSearch/pull/9831))
109+
- [Streaming Indexing] Introduce new experimental HTTP transport based on Netty 4 and Project Reactor (Reactor Netty) ([#9672](https://github.com/opensearch-project/OpenSearch/pull/9672))
109110

110111
### Dependencies
111112
- Bump `org.apache.logging.log4j:log4j-core` from 2.17.1 to 2.20.0 ([#8307](https://github.com/opensearch-project/OpenSearch/pull/8307))

buildSrc/version.properties

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,10 @@ jna = 5.5.0
3131
netty = 4.1.97.Final
3232
joda = 2.12.2
3333

34+
# project reactor
35+
reactor_netty = 1.1.10
36+
reactor = 3.5.9
37+
3438
# client dependencies
3539
httpclient5 = 5.2.1
3640
httpcore5 = 5.2.2

modules/transport-netty4/src/main/java/org/opensearch/http/netty4/Netty4HttpServerTransport.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,9 @@
115115
import static org.opensearch.http.HttpTransportSettings.SETTING_HTTP_TCP_SEND_BUFFER_SIZE;
116116
import static org.opensearch.http.HttpTransportSettings.SETTING_PIPELINING_MAX_EVENTS;
117117

118+
/**
119+
* The HTTP transport implementations based on Netty 4.
120+
*/
118121
public class Netty4HttpServerTransport extends AbstractHttpServerTransport {
119122
private static final Logger logger = LogManager.getLogger(Netty4HttpServerTransport.class);
120123

@@ -183,6 +186,17 @@ public class Netty4HttpServerTransport extends AbstractHttpServerTransport {
183186
private volatile ServerBootstrap serverBootstrap;
184187
private volatile SharedGroupFactory.SharedGroup sharedGroup;
185188

189+
/**
190+
* Creates new HTTP transport implementations based on Netty 4
191+
* @param settings seetings
192+
* @param networkService network service
193+
* @param bigArrays big array allocator
194+
* @param threadPool thread pool instance
195+
* @param xContentRegistry XContent registry instance
196+
* @param dispatcher dispatcher instance
197+
* @param clusterSettings cluster settings
198+
* @param sharedGroupFactory shared group factory
199+
*/
186200
public Netty4HttpServerTransport(
187201
Settings settings,
188202
NetworkService networkService,

plugins/discovery-ec2/licenses/reactive-streams-1.0.4.jar.sha1

Lines changed: 0 additions & 1 deletion
This file was deleted.

plugins/discovery-ec2/licenses/reactive-streams-LICENSE.txt

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

plugins/repository-azure/build.gradle

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,8 @@ dependencies {
5656
api "io.netty:netty-transport-native-unix-common:${versions.netty}"
5757
implementation project(':modules:transport-netty4')
5858
api 'com.azure:azure-storage-blob:12.23.0'
59-
api 'org.reactivestreams:reactive-streams:1.0.4'
60-
api 'io.projectreactor:reactor-core:3.5.6'
61-
api 'io.projectreactor.netty:reactor-netty:1.1.8'
62-
api 'io.projectreactor.netty:reactor-netty-core:1.1.8'
63-
api 'io.projectreactor.netty:reactor-netty-http:1.1.9'
59+
api "io.projectreactor.netty:reactor-netty-core:${versions.reactor_netty}"
60+
api "io.projectreactor.netty:reactor-netty-http:${versions.reactor_netty}"
6461
api "org.slf4j:slf4j-api:${versions.slf4j}"
6562
api "com.fasterxml.jackson.core:jackson-annotations:${versions.jackson}"
6663
api "com.fasterxml.jackson.core:jackson-databind:${versions.jackson_databind}"
@@ -101,10 +98,6 @@ thirdPartyAudit {
10198
'com.azure.storage.internal.avro.implementation.schema.AvroSchema',
10299
'com.ctc.wstx.shaded.msv_core.driver.textui.Driver',
103100
'io.micrometer.context.ContextAccessor',
104-
'io.micrometer.context.ContextRegistry',
105-
'io.micrometer.context.ContextSnapshot',
106-
'io.micrometer.context.ContextSnapshot$Scope',
107-
'io.micrometer.core.instrument.Clock',
108101
'io.micrometer.core.instrument.Counter',
109102
'io.micrometer.core.instrument.Counter$Builder',
110103
'io.micrometer.core.instrument.DistributionSummary',
@@ -114,14 +107,10 @@ thirdPartyAudit {
114107
'io.micrometer.core.instrument.Meter',
115108
'io.micrometer.core.instrument.MeterRegistry',
116109
'io.micrometer.core.instrument.Metrics',
117-
'io.micrometer.core.instrument.Tag',
118-
'io.micrometer.core.instrument.Tags',
119110
'io.micrometer.core.instrument.Timer',
120111
'io.micrometer.core.instrument.Timer$Builder',
121112
'io.micrometer.core.instrument.Timer$Sample',
122-
'io.micrometer.core.instrument.binder.jvm.ExecutorServiceMetrics',
123113
'io.micrometer.core.instrument.composite.CompositeMeterRegistry',
124-
'io.micrometer.core.instrument.search.Search',
125114
'io.netty.channel.epoll.Epoll',
126115
'io.netty.channel.epoll.EpollDatagramChannel',
127116
'io.netty.channel.epoll.EpollServerSocketChannel',
@@ -168,9 +157,6 @@ thirdPartyAudit {
168157
'org.slf4j.impl.StaticLoggerBinder',
169158
'org.slf4j.impl.StaticMDCBinder',
170159
'org.slf4j.impl.StaticMarkerBinder',
171-
'reactor.blockhound.BlockHound$Builder',
172-
'reactor.blockhound.integration.BlockHoundIntegration',
173-
'io.micrometer.context.ThreadLocalAccessor',
174160
'io.micrometer.common.KeyValue',
175161
'io.micrometer.common.KeyValues',
176162
'io.micrometer.common.docs.KeyName',
@@ -190,6 +176,7 @@ thirdPartyAudit {
190176
'io.micrometer.tracing.handler.PropagatingSenderTracingObservationHandler',
191177
'io.micrometer.tracing.propagation.Propagator',
192178
'io.micrometer.core.instrument.observation.MeterObservationHandler',
179+
'io.micrometer.core.instrument.Tags',
193180
'io.micrometer.observation.ObservationHandler',
194181
'io.micrometer.observation.ObservationRegistry',
195182
'io.micrometer.observation.ObservationRegistry$ObservationConfig',
@@ -210,8 +197,7 @@ thirdPartyAudit {
210197
'com.google.common.util.concurrent.AbstractFuture$UnsafeAtomicHelper$1',
211198
'com.google.common.hash.LittleEndianByteArray$UnsafeByteArray',
212199
'com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator',
213-
'com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator$1',
214-
'reactor.core.publisher.Traces$SharedSecretsCallSiteSupplierFactory$TracingException'
200+
'com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator$1'
215201
)
216202
}
217203

plugins/repository-azure/licenses/reactive-streams-1.0.4.jar.sha1

Lines changed: 0 additions & 1 deletion
This file was deleted.

plugins/repository-azure/licenses/reactive-streams-LICENSE.txt

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

plugins/repository-azure/licenses/reactor-core-3.5.6.jar.sha1

Lines changed: 0 additions & 1 deletion
This file was deleted.

plugins/repository-azure/licenses/reactor-netty-1.1.8.jar.sha1

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)