Module org.elasticsearch.compute
Package org.elasticsearch.compute.operator.exchange
package org.elasticsearch.compute.operator.exchange
Exchanges provide the ability to split an execution into multiple pipelines.
Pipelines can be executed by different threads on the same or different nodes, allowing parallel and distributed of processing of data.
-
ClassDescriptionShared context for batch state management between BatchDriver and PageToBatchPageOperator.Batch lifecycle states.Driver that processes batches on the server side of a BidirectionalBatchExchange.Request sent from client to server to track batch exchange status.Response sent from server to client indicating batch exchange completion status.Wraps an
ExchangeSourceand reorders BatchPages within each batch to ensure they are output in sequential order based on pageIndexInBatch.Client-side handler for bidirectional batch exchange.Functional interface for server setup callback.Server-side handler for bidirectional batch exchange.ExchangeServiceis responsible for exchanging pages between exchange sinks and sources on the same or different nodes.Sink for exchanging dataAnExchangeSinkHandlerreceives pages and status from itsExchangeSinks, which are created usingExchangeSinkHandler.createExchangeSink(Runnable)} method.Sink operator implementation that pushes data to anExchangeSinkSource for exchanging dataAnExchangeSourceHandlerasynchronously fetches pages and status from multipleRemoteSinks and feeds them to itsExchangeSource, which are created using theExchangeSourceHandler.createExchangeSource()) method.Source operator implementation that retrieves data from anExchangeSource