public abstract class CacheDistributedGetFutureAdapter<K,V> extends GridCacheCompoundIdentityFuture<Map<K,V>> implements CacheGetFuture
| Modifier and Type | Class and Description |
|---|---|
protected class |
CacheDistributedGetFutureAdapter.AbstractMiniFuture
Mini-future for get operations.
|
| Modifier and Type | Field and Description |
|---|---|
protected boolean |
canRemap
Flag indicating that get should be done on a locked topology version.
|
protected GridCacheContext<K,V> |
cctx
Context.
|
protected boolean |
deserializeBinary
Whether to deserialize binary objects.
|
static int |
DFLT_MAX_REMAP_CNT
Default max remap count value.
|
protected IgniteCacheExpiryPolicy |
expiryPlc
Expiry policy.
|
protected boolean |
forcePrimary
Force primary flag.
|
protected IgniteUuid |
futId
Future ID.
|
protected Map<AffinityTopologyVersion,Map<Integer,Set<ClusterNode>>> |
invalidNodes |
protected boolean |
keepCacheObjects |
protected Collection<KeyCacheObject> |
keys
Keys.
|
protected static IgniteLogger |
log
Logger.
|
protected static AtomicReference<IgniteLogger> |
logRef
Logger reference.
|
protected static int |
MAX_REMAP_CNT
Maximum number of attempts to remap key to the same primary node.
|
protected boolean |
needVer |
protected boolean |
readThrough
Read through flag.
|
protected boolean |
recovery |
protected static AtomicIntegerFieldUpdater<CacheDistributedGetFutureAdapter> |
REMAP_CNT_UPD
Remap count updater.
|
protected int |
remapCnt
Remap count.
|
protected boolean |
skipVals
Skip values flag.
|
protected UUID |
subjId
Subject ID.
|
protected String |
taskName
Task name.
|
protected boolean |
trackable
Trackable flag.
|
| Modifier | Constructor and Description |
|---|---|
protected |
CacheDistributedGetFutureAdapter(GridCacheContext<K,V> cctx,
Collection<KeyCacheObject> keys,
boolean readThrough,
boolean forcePrimary,
@Nullable UUID subjId,
String taskName,
boolean deserializeBinary,
@Nullable IgniteCacheExpiryPolicy expiryPlc,
boolean skipVals,
boolean needVer,
boolean keepCacheObjects,
boolean recovery) |
duration, onDone, startTimeadd, apply, cancel, clear, future, futures, futuresCountNoLock, hasFutures, hasPending, ignoreFailure, initialized, logDebug, logError, markInitialized, processFailurechain, chain, error, get, get, get, getUninterruptibly, ignoreInterrupts, isCancelled, isDone, isFailed, listen, logger, onCancelled, onDone, onDone, onDone, onDone, reset, resultclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitcancel, chain, chain, error, get, get, get, getUninterruptibly, isCancelled, isDone, listen, resultprotected static final AtomicReference<IgniteLogger> logRef
protected static IgniteLogger log
public static final int DFLT_MAX_REMAP_CNT
protected static final int MAX_REMAP_CNT
protected static final AtomicIntegerFieldUpdater<CacheDistributedGetFutureAdapter> REMAP_CNT_UPD
protected final GridCacheContext<K,V> cctx
protected Collection<KeyCacheObject> keys
protected boolean readThrough
protected boolean forcePrimary
protected IgniteUuid futId
protected boolean trackable
protected volatile int remapCnt
protected UUID subjId
protected String taskName
protected boolean deserializeBinary
protected boolean skipVals
protected IgniteCacheExpiryPolicy expiryPlc
protected boolean canRemap
protected final boolean needVer
protected final boolean keepCacheObjects
protected final boolean recovery
protected Map<AffinityTopologyVersion,Map<Integer,Set<ClusterNode>>> invalidNodes
protected CacheDistributedGetFutureAdapter(GridCacheContext<K,V> cctx, Collection<KeyCacheObject> keys, boolean readThrough, boolean forcePrimary, @Nullable @Nullable UUID subjId, String taskName, boolean deserializeBinary, @Nullable @Nullable IgniteCacheExpiryPolicy expiryPlc, boolean skipVals, boolean needVer, boolean keepCacheObjects, boolean recovery)
cctx - Context.keys - Keys.readThrough - Read through flag.forcePrimary - If true then will force network trip to primary node even
if called on backup node.subjId - Subject ID.taskName - Task name.deserializeBinary - Deserialize binary flag.expiryPlc - Expiry policy.skipVals - Skip values flag.needVer - If true returns values as tuples containing value and version.keepCacheObjects - Keep cache objects flag.protected void initLogger(Class<?> aclass)
aclass - Class.public boolean trackable()
trackable in interface GridCacheFuture<Map<K,V>>True if future should be tracked.public void markNotTrackable()
markNotTrackable in interface GridCacheFuture<Map<K,V>>public IgniteUuid futureId()
futureId in interface GridCacheFuture<Map<K,V>>protected final boolean partitionOwned(int part)
part - Partition.True if partition is in owned state.protected void registrateFutureInMvccManager(GridCacheFuture<?> fut)
fut - Future.protected void addNodeAsInvalid(ClusterNode node, int part, AffinityTopologyVersion topVer)
node - Cluster node.part - Invalid partition.topVer - Topology version.protected Set<ClusterNode> getInvalidNodes(int part, AffinityTopologyVersion topVer)
part - Partition.topVer - Topology version.protected boolean checkRetryPermits(KeyCacheObject key, ClusterNode node, Map<ClusterNode,LinkedHashMap<KeyCacheObject,Boolean>> missedNodesToKeysMapping)
key - Key.node - Mapped node.missedNodesToKeysMapping - Full node mapping.public boolean onNodeLeft(UUID nodeId)
onNodeLeft in interface GridCacheFuture<Map<K,V>>nodeId - Left node ID.True if future cared about this node.public void onResult(UUID nodeId, GridNearGetResponse res)
onResult in interface CacheGetFuturenodeId - Node ID.res - Response.protected final ClusterTopologyServerNotFoundException serverNotFoundError(int part, AffinityTopologyVersion topVer)
part - Partition.topVer - Topology version.protected abstract boolean isMini(IgniteInternalFuture<?> f)
f - Future.True if mini-future.protected abstract void map(Collection<KeyCacheObject> keys, Map<ClusterNode,LinkedHashMap<KeyCacheObject,Boolean>> mapped, AffinityTopologyVersion topVer)
keys - Collection of mapping keys.mapped - Previous mapping.topVer - Topology version.
Follow @ApacheIgnite
Ignite Database and Caching Platform : ver. 2.8.1 Release Date : May 21 2020