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 IgniteUuid |
deploymentLdrId
Deployment class loader id which will be used for deserialization of entries on a distributed task.
|
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, startTime
add, apply, cancel, clear, future, futures, futuresCountNoLock, hasFutures, hasPending, ignoreFailure, initialized, logDebug, logError, markInitialized, processFailure
chain, chain, error, get, get, get, getUninterruptibly, ignoreInterrupts, isCancelled, isDone, isFailed, listen, logger, onCancelled, onDone, onDone, onDone, onDone, reset, result
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
cancel, chain, chain, error, get, get, get, getUninterruptibly, isCancelled, isDone, listen, result
protected 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
@GridToStringExclude protected final IgniteUuid deploymentLdrId
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 CacheGetFuture
nodeId
- 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.10.0 Release Date : March 10 2021