Class 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.

    • Constructor Detail

      • GridCacheVersionManager

        public GridCacheVersionManager()
    • Method Detail

      • 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:
        True if given version is start version.