public abstract class GridDhtAtomicAbstractUpdateFuture extends GridFutureAdapter<Void> implements GridCacheAtomicFuture<Void>
AbstractQueuedSynchronizer.ConditionObject| Modifier and Type | Field and Description |
|---|---|
protected GridCacheContext |
cctx
Cache context.
|
protected GridCacheVersion |
futVer
Future version.
|
protected static IgniteLogger |
log
Logger.
|
protected Map<UUID,GridDhtAtomicAbstractUpdateRequest> |
mappings
Mappings.
|
protected static IgniteLogger |
msgLog
Logger.
|
protected GridNearAtomicAbstractUpdateRequest |
updateReq
Update request.
|
protected GridCacheVersion |
writeVer
Write version.
|
| Modifier | Constructor and Description |
|---|---|
protected |
GridDhtAtomicAbstractUpdateFuture(GridCacheContext cctx,
CI2<GridNearAtomicAbstractUpdateRequest,GridNearAtomicUpdateResponse> completionCb,
GridCacheVersion writeVer,
GridNearAtomicAbstractUpdateRequest updateReq,
GridNearAtomicUpdateResponse updateRes) |
| Modifier and Type | Method and Description |
|---|---|
void |
addContinuousQueryClosure(CI1<Boolean> clsr) |
protected abstract void |
addDhtKey(KeyCacheObject key,
List<ClusterNode> dhtNodes) |
protected abstract void |
addFailedKeys(GridNearAtomicUpdateResponse updateRes,
Throwable err) |
protected abstract void |
addNearKey(KeyCacheObject key,
Collection<UUID> readers) |
protected abstract void |
addNearReaderEntry(GridDhtCacheEntry entry)
adds new nearReader.
|
IgniteInternalFuture<Void> |
completeFuture(AffinityTopologyVersion topVer)
Gets future that will be completed when it is safe when update is finished on the given version of topology.
|
protected abstract GridDhtAtomicAbstractUpdateRequest |
createRequest(ClusterNode node,
GridCacheVersion futVer,
GridCacheVersion writeVer,
CacheWriteSynchronizationMode syncMode,
AffinityTopologyVersion topVer,
long ttl,
long conflictExpireTime,
GridCacheVersion conflictVer) |
IgniteUuid |
futureId() |
void |
markNotTrackable()
Marks this future as non-trackable.
|
boolean |
onDone(Void res,
Throwable err)
Callback to notify that future is finished.
|
boolean |
onNodeLeft(UUID nodeId)
Callback for when node left.
|
void |
onResult(UUID nodeId)
Deferred update response.
|
abstract void |
onResult(UUID nodeId,
GridDhtAtomicUpdateResponse updateRes)
Callback for backup update response.
|
boolean |
trackable() |
GridCacheVersion |
version() |
cancel, chain, chain, duration, endTime, error, get, get, get, get0, getUninterruptibly, ignoreInterrupts, isCancelled, isDone, isFailed, listen, logger, onCancelled, onDone, onDone, onDone, result, startTime, toString, tryAcquireShared, tryReleaseSharedacquire, acquireInterruptibly, acquireShared, acquireSharedInterruptibly, compareAndSetState, getExclusiveQueuedThreads, getFirstQueuedThread, getQueuedThreads, getQueueLength, getSharedQueuedThreads, getState, getWaitingThreads, getWaitQueueLength, hasContended, hasQueuedPredecessors, hasQueuedThreads, hasWaiters, isHeldExclusively, isQueued, owns, release, releaseShared, setState, tryAcquire, tryAcquireNanos, tryAcquireSharedNanos, tryReleasegetExclusiveOwnerThread, setExclusiveOwnerThreadclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitcancel, chain, chain, duration, error, get, get, get, getUninterruptibly, isCancelled, isDone, listen, result, startTimeprotected static IgniteLogger log
protected static IgniteLogger msgLog
protected final GridCacheVersion writeVer
protected final GridCacheContext cctx
protected final GridCacheVersion futVer
protected final GridNearAtomicAbstractUpdateRequest updateReq
@GridToStringInclude protected Map<UUID,GridDhtAtomicAbstractUpdateRequest> mappings
protected GridDhtAtomicAbstractUpdateFuture(GridCacheContext cctx, CI2<GridNearAtomicAbstractUpdateRequest,GridNearAtomicUpdateResponse> completionCb, GridCacheVersion writeVer, GridNearAtomicAbstractUpdateRequest updateReq, GridNearAtomicUpdateResponse updateRes)
cctx - Cache context.completionCb - Callback to invoke when future is completed.writeVer - Write version.updateReq - Update request.updateRes - Update response.public final IgniteInternalFuture<Void> completeFuture(AffinityTopologyVersion topVer)
completeFuture in interface GridCacheAtomicFuture<Void>topVer - Topology version to finish.null if no need to wait.public final void addContinuousQueryClosure(CI1<Boolean> clsr)
clsr - Continuous query closure.protected abstract void addDhtKey(KeyCacheObject key, List<ClusterNode> dhtNodes)
key - Key.dhtNodes - DHT nodes.protected abstract void addNearKey(KeyCacheObject key, Collection<UUID> readers)
key - Key.readers - Near cache readers.protected abstract void addNearReaderEntry(GridDhtCacheEntry entry)
entry - GridDhtCacheEntry.public final IgniteUuid futureId()
futureId in interface GridCacheFuture<Void>public final GridCacheVersion version()
version in interface GridCacheAtomicFuture<Void>public final boolean onNodeLeft(UUID nodeId)
onNodeLeft in interface GridCacheFuture<Void>nodeId - Left node ID.True if future cared about this node.public final void onResult(UUID nodeId)
nodeId - Backup node ID.protected abstract GridDhtAtomicAbstractUpdateRequest createRequest(ClusterNode node, GridCacheVersion futVer, GridCacheVersion writeVer, CacheWriteSynchronizationMode syncMode, @NotNull AffinityTopologyVersion topVer, long ttl, long conflictExpireTime, @Nullable GridCacheVersion conflictVer)
node - Node.futVer - Future version.writeVer - Update version.syncMode - Write synchronization mode.topVer - Topology version.ttl - TTL.conflictExpireTime - Conflict expire time.conflictVer - Conflict version.public abstract void onResult(UUID nodeId, GridDhtAtomicUpdateResponse updateRes)
nodeId - Backup node ID.updateRes - Update response.protected abstract void addFailedKeys(GridNearAtomicUpdateResponse updateRes, Throwable err)
updateRes - Response.err - Error.public final boolean onDone(@Nullable
Void res,
@Nullable
Throwable err)
null exception is passed in
the result value will be ignored.onDone in class GridFutureAdapter<Void>res - Optional result.err - Optional error.True if result was set by this call.public boolean trackable()
trackable in interface GridCacheFuture<Void>True if future should be tracked.public void markNotTrackable()
markNotTrackable in interface GridCacheFuture<Void>
Follow @ApacheIgnite
Ignite Fabric : ver. 1.9.0 Release Date : March 2 2017