Repository: ignite Updated Branches: refs/heads/ignite-3478 685c688f7 -> 27b2be4b9
ignite-3478 Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/27b2be4b Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/27b2be4b Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/27b2be4b Branch: refs/heads/ignite-3478 Commit: 27b2be4b98e12a32037b1fe6146b85d939c95952 Parents: 685c688 Author: sboikov <[email protected]> Authored: Tue Oct 3 10:41:18 2017 +0300 Committer: sboikov <[email protected]> Committed: Tue Oct 3 10:41:18 2017 +0300 ---------------------------------------------------------------------- .../processors/cache/IgniteCacheOffheapManager.java | 13 ++++++++----- .../cache/IgniteCacheOffheapManagerImpl.java | 14 +++++++++----- .../cache/persistence/GridCacheOffheapManager.java | 2 +- 3 files changed, 18 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/27b2be4b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java index 116f422..9d03e4a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java @@ -178,11 +178,14 @@ public interface IgniteCacheOffheapManager { throws IgniteCheckedException; /** - * @param cctx - * @param key - * @return + * For testing only. + * + * @param cctx Cache context. + * @param key Key. + * @return All stored versions for given key. + * @throws IgniteCheckedException If failed. */ - public List<T2<CacheObject, MvccCounter>> mvccAllVersions(GridCacheContext cctx, KeyCacheObject key) + public List<T2<Object, MvccCounter>> mvccAllVersions(GridCacheContext cctx, KeyCacheObject key) throws IgniteCheckedException; /** @@ -544,7 +547,7 @@ public interface IgniteCacheOffheapManager { * @return All stored versions for given key. * @throws IgniteCheckedException If failed. */ - List<T2<CacheObject, MvccCounter>> mvccFindAllVersions(GridCacheContext cctx, KeyCacheObject key) + List<T2<Object, MvccCounter>> mvccFindAllVersions(GridCacheContext cctx, KeyCacheObject key) throws IgniteCheckedException; /** http://git-wip-us.apache.org/repos/asf/ignite/blob/27b2be4b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java index 88aad8e..d8c5eaa 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java @@ -441,12 +441,12 @@ public class IgniteCacheOffheapManagerImpl implements IgniteCacheOffheapManager } /** {@inheritDoc} */ - @Override public List<T2<CacheObject, MvccCounter>> mvccAllVersions(GridCacheContext cctx, KeyCacheObject key) + @Override public List<T2<Object, MvccCounter>> mvccAllVersions(GridCacheContext cctx, KeyCacheObject key) throws IgniteCheckedException { CacheDataStore dataStore = dataStore(cctx, key); return dataStore != null ? dataStore.mvccFindAllVersions(cctx, key) : - Collections.<T2<CacheObject,MvccCounter>>emptyList(); + Collections.<T2<Object, MvccCounter>>emptyList(); } /** @@ -1665,7 +1665,7 @@ public class IgniteCacheOffheapManagerImpl implements IgniteCacheOffheapManager } /** {@inheritDoc} */ - @Override public List<T2<CacheObject, MvccCounter>> mvccFindAllVersions( + @Override public List<T2<Object, MvccCounter>> mvccFindAllVersions( GridCacheContext cctx, KeyCacheObject key) throws IgniteCheckedException @@ -1680,14 +1680,18 @@ public class IgniteCacheOffheapManagerImpl implements IgniteCacheOffheapManager new MvccSearchRow(cacheId, key, Long.MAX_VALUE, Long.MAX_VALUE), new MvccSearchRow(cacheId, key, 1, 1)); - List<T2<CacheObject, MvccCounter>> res = new ArrayList<>(); + List<T2<Object, MvccCounter>> res = new ArrayList<>(); while (cur.next()) { CacheDataRow row = cur.get(); MvccCounter mvccCntr = new MvccCounter(row.mvccCoordinatorVersion(), row.mvccCounter()); - res.add(new T2<>(row.value(), mvccCntr)); + CacheObject val = row.value(); + + Object val0 = val != null ? val.value(cctx.cacheObjectContext(), false) : null; + + res.add(new T2<>(val0, mvccCntr)); } return res; http://git-wip-us.apache.org/repos/asf/ignite/blob/27b2be4b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheOffheapManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheOffheapManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheOffheapManager.java index 49fb243..cb01b6c 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheOffheapManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheOffheapManager.java @@ -1319,7 +1319,7 @@ public class GridCacheOffheapManager extends IgniteCacheOffheapManagerImpl imple } /** {@inheritDoc} */ - @Override public List<T2<CacheObject, MvccCounter>> mvccFindAllVersions(GridCacheContext cctx, KeyCacheObject key) + @Override public List<T2<Object, MvccCounter>> mvccFindAllVersions(GridCacheContext cctx, KeyCacheObject key) throws IgniteCheckedException { CacheDataStore delegate = init0(true);
