public interface IChunkHandler
IBindingSet
[] chunk generated by a running
operator task. Each task may produce zero or more such chunks. The chunks may
be combined together by the caller in order to have "chunkier" processing by
this interface. The interface is responsible for generating the appropriate
IChunkMessage
(s) for each IBindingSet
[] chunk. In standalone
there is a one-to-one relationship between input chunks and output messages.
In scale-out, we map each IBindingSet
over the shard(s) for the next
operator, which is a many-to-one mapping.Modifier and Type | Method and Description |
---|---|
int |
handleChunk(IRunningQuery query,
int bopId,
int sinkId,
IBindingSet[] chunk)
Take an
IBindingSet [] chunk generated by some pass over an
operator and make it available to the target operator. |
int handleChunk(IRunningQuery query, int bopId, int sinkId, IBindingSet[] chunk)
IBindingSet
[] chunk generated by some pass over an
operator and make it available to the target operator. How this is done
depends on whether the query is running against a standalone database or
the scale-out database.
Note: The return value is used as part of the termination criteria for
the query which depends on (a) the #of running operator tasks and (b) the
#of IChunkMessage
s generated (available) and consumed. The return
value of this method increases the #of IChunkMessage
s available
to the query.
query
- The query.bopId
- The operator which wrote on the sink.sinkId
- The identifier of the target operator.chunk
- The intermediate results to be passed to that target operator.IChunkMessage
sent. This will always be ONE (1)
for scale-up. For scale-out, there will be at least one
IChunkMessage
per index partition over which the
intermediate results were mapped.Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.