public class JoinTaskFactoryTask extends DataServiceCallable<Future>
DistributedJoinTasks. The factory either creates a new
DistributedJoinTask or returns the pre-existing
DistributedJoinTask for the given JoinMasterTask instance (as
identified by its UUID), orderIndex, and partitionId.
When the desired join task pre-exists, factory will invoke
DistributedJoinTask.addSource(IAsynchronousIterator) and specify the
sourceItrProxy as another source for that join task.
The use of a factory pattern allows us to concentrate all
DistributedJoinTasks which target the same tail predicate and index
partition for the same rule execution instance onto the same
DistributedJoinTask. The concentrator effect achieved by the factory
only matters when the fan-out is GT ONE (1).
| Modifier and Type | Field and Description |
|---|---|
protected static org.apache.log4j.Logger |
log |
| Constructor and Description |
|---|
JoinTaskFactoryTask(String scaleOutIndexName,
IRule rule,
IJoinNexusFactory joinNexusFactory,
int[] order,
int orderIndex,
int partitionId,
IJoinMaster masterProxy,
UUID masterUUID,
IAsynchronousIterator<IBindingSet[]> sourceItrProxy,
IKeyOrder[] keyOrders,
IVariable[][] requiredVars) |
| Modifier and Type | Method and Description |
|---|---|
Future |
call()
Either starts a new
DistributedJoinTask and returns its
Future or returns the Future of an existing
DistributedJoinTask for the same
DistributedJoinMasterTask instance, orderIndex, and
partitionId. |
static String |
getJoinTaskNamespace(UUID masterUUID,
int orderIndex,
int partitionId) |
protected DistributedJoinTask |
newJoinTask() |
protected Future<Void> |
submit(DistributedJoinTask task) |
String |
toString() |
getDataService, isDataService, setDataServicegetFederation, setFederationclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetFederation, setFederationpublic JoinTaskFactoryTask(String scaleOutIndexName, IRule rule, IJoinNexusFactory joinNexusFactory, int[] order, int orderIndex, int partitionId, IJoinMaster masterProxy, UUID masterUUID, IAsynchronousIterator<IBindingSet[]> sourceItrProxy, IKeyOrder[] keyOrders, IVariable[][] requiredVars)
scaleOutIndexName - rule - joinNexusFactory - order - orderIndex - partitionId - masterProxy - masterUUID - (Avoids RMI to obtain this later).sourceItrProxy - nextScaleOutIndexName - public Future call() throws Exception
DistributedJoinTask and returns its
Future or returns the Future of an existing
DistributedJoinTask for the same
DistributedJoinMasterTask instance, orderIndex, and
partitionId.Future of the
DistributedJoinTask.Exceptionprotected DistributedJoinTask newJoinTask()
protected Future<Void> submit(DistributedJoinTask task)
Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.