public class MapQueryEngineImpl extends Object implements MapQueryEngine
Knows nothing about query logic or how to dispatch query operations. It relies on QueryDispatcher only. Should never invoke any query operations directly.
Should be used from top-level proxy-layer only (e.g. MapProxy, etc.).
Top level-query actors: - QueryEngine orchestrates the queries by dispatching query operations using QueryDispatcher and merging the result - QueryDispatcher invokes query operations on the given members and partitions - QueryRunner -> runs the query logic in the calling thread (so like evaluates the predicates and asks the index) TODO: Use bitset instead of collection for partitionIds
Modifier and Type | Field and Description |
---|---|
protected ClusterService |
clusterService |
protected ILogger |
logger |
protected MapServiceContext |
mapServiceContext |
protected NodeEngine |
nodeEngine |
protected OperationService |
operationService |
protected IPartitionService |
partitionService |
protected com.hazelcast.map.impl.query.QueryDispatcher |
queryDispatcher |
protected QueryResultSizeLimiter |
queryResultSizeLimiter |
protected ResultProcessorRegistry |
resultProcessorRegistry |
protected InternalSerializationService |
serializationService |
Constructor and Description |
---|
MapQueryEngineImpl(MapServiceContext mapServiceContext) |
Modifier and Type | Method and Description |
---|---|
Result |
execute(Query query,
Target target)
Executes the given query on the given target.
|
protected QueryResultSizeLimiter |
getQueryResultSizeLimiter() |
protected final MapServiceContext mapServiceContext
protected final NodeEngine nodeEngine
protected final ILogger logger
protected final QueryResultSizeLimiter queryResultSizeLimiter
protected final InternalSerializationService serializationService
protected final IPartitionService partitionService
protected final OperationService operationService
protected final ClusterService clusterService
protected final com.hazelcast.map.impl.query.QueryDispatcher queryDispatcher
protected final ResultProcessorRegistry resultProcessorRegistry
public MapQueryEngineImpl(MapServiceContext mapServiceContext)
public Result execute(Query query, Target target)
MapQueryEngine
execute
in interface MapQueryEngine
query
- query to executetarget
- target where to execute the queryprotected QueryResultSizeLimiter getQueryResultSizeLimiter()
Copyright © 2017 Hazelcast, Inc.. All Rights Reserved.