Class GridCacheVersionManager
- java.lang.Object
-
- org.apache.ignite.internal.processors.cache.GridCacheSharedManagerAdapter
-
- org.apache.ignite.internal.processors.cache.version.GridCacheVersionManager
-
- All Implemented Interfaces:
GridCacheSharedManager
public class GridCacheVersionManager extends GridCacheSharedManagerAdapter
Makes sure that cache lock order values come in proper sequence.NOTE: this class should not make use of any cache specific structures, like, for example GridCacheContext, as it may be reused between different caches.
-
-
Field Summary
Fields Modifier and Type Field Description static StringDATA_VER_CLUSTER_IDCluster ID metric name.static GridCacheVersionEVICT_VERstatic StringLAST_DATA_VERLast data version metric name.protected AtomicLongMetriclastDataVerLast version metric.static longTOP_VER_BASE_TIMETimestamp used as base time for cache topology version (January 1, 2014).-
Fields inherited from class org.apache.ignite.internal.processors.cache.GridCacheSharedManagerAdapter
cctx, diagnosticLog, log
-
-
Constructor Summary
Constructors Constructor Description GridCacheVersionManager()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description bytedataCenterId()voiddataCenterId(byte dataCenterId)Sets data center ID.GridCacheVersionisolatedStreamerVersion()Version for entries loaded with isolated streamer, should be less than any version generated for entries update.booleanisStartVersion(GridCacheVersion ver)Check if given version is start version.GridCacheVersionlast()Gets last generated version without generating a new one.longlocalOrder()GridCacheVersionnext(long topVer)Gets next version based on given topology version.GridCacheVersionnext(long topVer, byte dataCenterId)Gets next version based on given topology version.GridCacheVersionnext(GridCacheVersion ver)Gets next version based on given cache version.GridCacheVersionnextForLoad()Gets next version for cache store load and reload operations.GridCacheVersionnextForLoad(long topVer)Gets next version for cache store load and reload operations.GridCacheVersionnextForLoad(GridCacheVersion ver)Gets next version for cache store load and reload operations.voidonExchange(long rcvOrder)voidonLocalJoin(long topVer)voidonReceived(UUID nodeId, long ver)voidonReceived(UUID nodeId, GridCacheVersion ver)GridCacheVersiononReceivedAndNext(UUID nodeId, GridCacheVersion ver)voidstart0()GridCacheVersionstartVersion()Gets start version.protected voidstop0(boolean cancel)-
Methods inherited from class org.apache.ignite.internal.processors.cache.GridCacheSharedManagerAdapter
context, isStopping, kernalStartInfo, kernalStopInfo, onDisconnected, onKernalStart, onKernalStart0, onKernalStop, onKernalStop0, onReconnected, printMemoryStats, start, startInfo, stop, stopInfo, toString
-
-
-
-
Field Detail
-
EVICT_VER
public static final GridCacheVersion EVICT_VER
-
TOP_VER_BASE_TIME
public static final long TOP_VER_BASE_TIME
Timestamp used as base time for cache topology version (January 1, 2014).- See Also:
- Constant Field Values
-
LAST_DATA_VER
public static final String LAST_DATA_VER
Last data version metric name.- See Also:
- Constant Field Values
-
DATA_VER_CLUSTER_ID
public static final String DATA_VER_CLUSTER_ID
Cluster ID metric name.- See Also:
- Constant Field Values
-
lastDataVer
protected AtomicLongMetric lastDataVer
Last version metric.
-
-
Method Detail
-
start0
public void start0() throws IgniteCheckedException- Overrides:
start0in classGridCacheSharedManagerAdapter- Throws:
IgniteCheckedException- If failed.
-
stop0
protected void stop0(boolean cancel)
- Overrides:
stop0in classGridCacheSharedManagerAdapter- Parameters:
cancel- Cancel flag.
-
onLocalJoin
public void onLocalJoin(long topVer)
- Parameters:
topVer- Topology version.
-
dataCenterId
public void dataCenterId(byte dataCenterId)
Sets data center ID.- Parameters:
dataCenterId- Data center ID.
-
dataCenterId
public byte dataCenterId()
- Returns:
- Data center ID.
-
onReceived
public void onReceived(UUID nodeId, GridCacheVersion ver)
- Parameters:
nodeId- Node ID.ver- Remote version.
-
onReceived
public void onReceived(UUID nodeId, long ver)
- Parameters:
nodeId- Node ID.ver- Remote version.
-
onExchange
public void onExchange(long rcvOrder)
- Parameters:
rcvOrder- Received order.
-
onReceivedAndNext
public GridCacheVersion onReceivedAndNext(UUID nodeId, GridCacheVersion ver)
- Parameters:
nodeId- Node ID.ver- Received version.- Returns:
- Next version.
-
isolatedStreamerVersion
public GridCacheVersion isolatedStreamerVersion()
Version for entries loaded with isolated streamer, should be less than any version generated for entries update.- Returns:
- Version for entries loaded with isolated streamer.
-
next
public GridCacheVersion next(long topVer)
Gets next version based on given topology version. Given value should be real topology version calculated as number of grid topology changes and obtained from discovery manager.- Parameters:
topVer- Topology version for which new version should be obtained.- Returns:
- Next version based on given topology version.
-
next
public GridCacheVersion next(long topVer, byte dataCenterId)
Gets next version based on given topology version. Given value should be real topology version calculated as number of grid topology changes and obtained from discovery manager.- Parameters:
topVer- Topology version for which new version should be obtained.dataCenterId- Data center id.- Returns:
- Next version based on given topology version.
-
next
public GridCacheVersion next(GridCacheVersion ver)
Gets next version based on given cache version.- Parameters:
ver- Cache version for which new version should be obtained.- Returns:
- Next version based on given cache version.
-
nextForLoad
public GridCacheVersion nextForLoad()
Gets next version for cache store load and reload operations.- Returns:
- Next version for cache store operations.
-
nextForLoad
public GridCacheVersion nextForLoad(long topVer)
Gets next version for cache store load and reload operations.- Parameters:
topVer- Topology version for which new version should be obtained.- Returns:
- Next version for cache store operations.
-
nextForLoad
public GridCacheVersion nextForLoad(GridCacheVersion ver)
Gets next version for cache store load and reload operations.- Returns:
- Next version for cache store operations.
-
last
public GridCacheVersion last()
Gets last generated version without generating a new one.- Returns:
- Last generated version.
-
localOrder
public long localOrder()
- Returns:
- Local order.
-
startVersion
public GridCacheVersion startVersion()
Gets start version.- Returns:
- Start version.
-
isStartVersion
public boolean isStartVersion(GridCacheVersion ver)
Check if given version is start version.- Parameters:
ver- Version.- Returns:
Trueif given version is start version.
-
-