IGNITE-950 - Fixing tests.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/d0d0e3e3 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/d0d0e3e3 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/d0d0e3e3 Branch: refs/heads/ignite-950-new Commit: d0d0e3e35e20cfd8cd6e2bfe0bed7c4e034cab82 Parents: 5bf0698 Author: Alexey Goncharuk <[email protected]> Authored: Fri Oct 23 12:51:06 2015 +0300 Committer: Alexey Goncharuk <[email protected]> Committed: Fri Oct 23 12:51:06 2015 +0300 ---------------------------------------------------------------------- .../internal/portable/PortableObjectImpl.java | 4 +-- .../processors/cache/GridCacheMapEntry.java | 4 +-- .../dht/atomic/GridDhtAtomicCache.java | 33 ++++++++++---------- .../atomic/GridNearAtomicUpdateResponse.java | 5 ++- .../store/GridCacheStoreManagerAdapter.java | 24 +++----------- ...IgniteCacheAbstractExecutionContextTest.java | 5 +++ .../IgniteCacheTxExecutionContextTest.java | 6 ++++ 7 files changed, 39 insertions(+), 42 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/d0d0e3e3/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableObjectImpl.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableObjectImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableObjectImpl.java index 9c618cf..d82162a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableObjectImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableObjectImpl.java @@ -403,8 +403,8 @@ public final class PortableObjectImpl extends PortableObjectEx implements Extern assert desc != null; -// if (desc.keepDeserialized()) -// obj = obj0; + if (desc.keepDeserialized()) + obj = obj0; return obj0; } http://git-wip-us.apache.org/repos/asf/ignite/blob/d0d0e3e3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java index 6546d76..4bf50ee 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java @@ -2098,7 +2098,7 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme // Try write-through. if (writeThrough) // Must persist inside synchronization in non-tx mode. - cctx.store().put(null, keyValue(false), CU.value(updated, cctx, false), newVer); + cctx.store().put(null, key, updated, newVer); if (!hadVal) { boolean new0 = isNew(); @@ -2168,7 +2168,7 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme if (writeThrough) // Must persist inside synchronization in non-tx mode. - cctx.store().remove(null, keyValue(false)); + cctx.store().remove(null, key); if (oldVal == null) oldVal = saveValueForIndexUnlocked(); http://git-wip-us.apache.org/repos/asf/ignite/blob/d0d0e3e3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java index b740d27..259b4c9 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java @@ -1326,11 +1326,11 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> { int size = req.keys().size(); - Map<Object, Object> putMap = null; + Map<KeyCacheObject, CacheObject> putMap = null; Map<KeyCacheObject, EntryProcessor<Object, Object, Object>> entryProcessorMap = null; - Collection<Object> rmvKeys = null; + Collection<KeyCacheObject> rmvKeys = null; List<CacheObject> writeVals = null; @@ -1470,7 +1470,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> { if (rmvKeys == null) rmvKeys = new ArrayList<>(size); - rmvKeys.add(entry.key().value(ctx.cacheObjectContext(), false)); + rmvKeys.add(entry.key()); } else { if (intercept) { @@ -1518,7 +1518,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> { writeVals = new ArrayList<>(size); } - putMap.put(CU.value(entry.key(), ctx, false), CU.value(updated, ctx, false)); + putMap.put(entry.key(), updated); writeVals.add(updated); } @@ -1562,7 +1562,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> { writeVals = new ArrayList<>(size); } - putMap.put(CU.value(entry.key(), ctx, false), CU.value(updated, ctx, false)); + putMap.put(entry.key(), updated); writeVals.add(updated); } else { @@ -1593,7 +1593,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> { if (rmvKeys == null) rmvKeys = new ArrayList<>(size); - rmvKeys.add(entry.key().value(ctx.cacheObjectContext(), false)); + rmvKeys.add(entry.key()); } filtered.add(entry); @@ -1927,8 +1927,8 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> { final GridCacheVersion ver, ClusterNode node, @Nullable List<CacheObject> writeVals, - @Nullable Map<Object, Object> putMap, - @Nullable Collection<Object> rmvKeys, + @Nullable Map<KeyCacheObject, CacheObject> putMap, + @Nullable Collection<KeyCacheObject> rmvKeys, @Nullable Map<KeyCacheObject, EntryProcessor<Object, Object, Object>> entryProcessorMap, @Nullable GridDhtAtomicUpdateFuture dhtFut, CI2<GridNearAtomicUpdateRequest, GridNearAtomicUpdateResponse> completionCb, @@ -1954,17 +1954,17 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> { if (putMap != null) { // If fast mapping, filter primary keys for write to store. - Map<Object, Object> storeMap = req.fastMap() ? - F.view(putMap, new P1<Object>() { - @Override public boolean apply(Object key) { + Map<KeyCacheObject, CacheObject> storeMap = req.fastMap() ? + F.view(putMap, new P1<CacheObject>() { + @Override public boolean apply(CacheObject key) { return ctx.affinity().primary(ctx.localNode(), key, req.topologyVersion()); } }) : putMap; try { - ctx.store().putAll(null, F.viewReadOnly(storeMap, new C1<Object, IgniteBiTuple<Object, GridCacheVersion>>() { - @Override public IgniteBiTuple<Object, GridCacheVersion> apply(Object v) { + ctx.store().putAll(null, F.viewReadOnly(storeMap, new C1<CacheObject, IgniteBiTuple<CacheObject, GridCacheVersion>>() { + @Override public IgniteBiTuple<CacheObject, GridCacheVersion> apply(CacheObject v) { return F.t(v, ver); } })); @@ -1977,7 +1977,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> { } else { // If fast mapping, filter primary keys for write to store. - Collection<Object> storeKeys = req.fastMap() ? + Collection<KeyCacheObject> storeKeys = req.fastMap() ? F.view(rmvKeys, new P1<Object>() { @Override public boolean apply(Object key) { return ctx.affinity().primary(ctx.localNode(), key, req.topologyVersion()); @@ -2146,8 +2146,9 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> { res.addFailedKeys(putMap != null ? putMap.keySet() : rmvKeys, e, ctx); } - if (storeErr != null) - res.addFailedKeys(storeErr.failedKeys(), storeErr.getCause(), ctx); + // TODO ignite-950 +// if (storeErr != null) +// res.addFailedKeys(storeErr.failedKeys(), storeErr.getCause(), ctx); return dhtFut; } http://git-wip-us.apache.org/repos/asf/ignite/blob/d0d0e3e3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java index 376f4ec..1fcfb48 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java @@ -375,12 +375,11 @@ public class GridNearAtomicUpdateResponse extends GridCacheMessage implements Gr * @param e Error cause. * @param ctx Context. */ - public synchronized void addFailedKeys(Collection<Object> keys, Throwable e, GridCacheContext ctx) { + public synchronized void addFailedKeys(Collection<KeyCacheObject> keys, Throwable e, GridCacheContext ctx) { if (failedKeys == null) failedKeys = new ArrayList<>(keys.size()); - for (Object key : keys) - failedKeys.add(ctx.toCacheKeyObject(key)); + failedKeys.addAll(keys); if (err == null) err = new IgniteCheckedException("Failed to update keys on primary node."); http://git-wip-us.apache.org/repos/asf/ignite/blob/d0d0e3e3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/store/GridCacheStoreManagerAdapter.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/store/GridCacheStoreManagerAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/store/GridCacheStoreManagerAdapter.java index 174e1ce..e042d3d 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/store/GridCacheStoreManagerAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/store/GridCacheStoreManagerAdapter.java @@ -269,10 +269,7 @@ public abstract class GridCacheStoreManagerAdapter extends GridCacheManagerAdapt // Never load internal keys from store as they are never persisted. return null; - Object storeKey = key.value(cctx.cacheObjectContext(), false); - - if (convertPortable()) - storeKey = cctx.unwrapPortableIfNeeded(storeKey, false); + Object storeKey = cctx.unwrapPortableIfNeeded(key, !convertPortable()); if (log.isDebugEnabled()) log.debug("Loading value from store for key: " + storeKey); @@ -396,22 +393,12 @@ public abstract class GridCacheStoreManagerAdapter extends GridCacheManagerAdapt return; } - Collection<Object> keys0; - - if (convertPortable()) { - keys0 = F.viewReadOnly(keys, new C1<KeyCacheObject, Object>() { + Collection<Object> keys0 = F.viewReadOnly(keys, + new C1<KeyCacheObject, Object>() { @Override public Object apply(KeyCacheObject key) { - return cctx.unwrapPortableIfNeeded(key.value(cctx.cacheObjectContext(), false), false); + return cctx.unwrapPortableIfNeeded(key, !convertPortable()); } }); - } - else { - keys0 = F.viewReadOnly(keys, new C1<KeyCacheObject, Object>() { - @Override public Object apply(KeyCacheObject key) { - return key.value(cctx.cacheObjectContext(), false); - } - }); - } if (log.isDebugEnabled()) log.debug("Loading values from store for keys: " + keys0); @@ -637,8 +624,7 @@ public abstract class GridCacheStoreManagerAdapter extends GridCacheManagerAdapt if (key instanceof GridCacheInternal) return false; - if (convertPortable()) - key = cctx.unwrapPortableIfNeeded(key, false); + key = cctx.unwrapPortableIfNeeded(key, !convertPortable()); if (log.isDebugEnabled()) log.debug("Removing value from cache store [key=" + key + ']'); http://git-wip-us.apache.org/repos/asf/ignite/blob/d0d0e3e3/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/context/IgniteCacheAbstractExecutionContextTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/context/IgniteCacheAbstractExecutionContextTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/context/IgniteCacheAbstractExecutionContextTest.java index c04c934..80c339c 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/context/IgniteCacheAbstractExecutionContextTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/context/IgniteCacheAbstractExecutionContextTest.java @@ -23,6 +23,8 @@ import org.apache.ignite.IgniteCache; import org.apache.ignite.configuration.CacheConfiguration; import org.apache.ignite.configuration.IgniteConfiguration; import org.apache.ignite.internal.processors.cache.IgniteCacheAbstractTest; +import org.apache.ignite.internal.util.typedef.F; +import org.apache.ignite.marshaller.portable.PortableMarshaller; import org.apache.ignite.testframework.GridTestExternalClassLoader; import org.apache.ignite.testframework.config.GridTestProperties; @@ -63,6 +65,9 @@ public abstract class IgniteCacheAbstractExecutionContextTest extends IgniteCach * @throws Exception If failed. */ public void testUsersClassLoader() throws Exception { + if (F.eq(GridTestProperties.getProperty(GridTestProperties.MARSH_CLASS_NAME), PortableMarshaller.class.getName())) + fail("https://issues.apache.org/jira/browse/IGNITE-1272"); + UsersClassLoader testClassLdr = (UsersClassLoader)grid(0).configuration().getClassLoader(); Object val = testClassLdr.loadClass(TEST_VALUE).newInstance(); http://git-wip-us.apache.org/repos/asf/ignite/blob/d0d0e3e3/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/context/IgniteCacheTxExecutionContextTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/context/IgniteCacheTxExecutionContextTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/context/IgniteCacheTxExecutionContextTest.java index 1cde3f8..cd8109c 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/context/IgniteCacheTxExecutionContextTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/context/IgniteCacheTxExecutionContextTest.java @@ -21,6 +21,8 @@ import org.apache.ignite.cache.CacheAtomicWriteOrderMode; import org.apache.ignite.cache.CacheAtomicityMode; import org.apache.ignite.cache.CacheMode; import org.apache.ignite.configuration.NearCacheConfiguration; +import org.apache.ignite.marshaller.portable.PortableMarshaller; +import org.apache.ignite.testframework.config.GridTestProperties; import static org.apache.ignite.cache.CacheAtomicWriteOrderMode.CLOCK; import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL; @@ -29,6 +31,10 @@ import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL; * */ public class IgniteCacheTxExecutionContextTest extends IgniteCacheAbstractExecutionContextTest { + static { + GridTestProperties.setProperty(GridTestProperties.MARSH_CLASS_NAME, PortableMarshaller.class.getName()); + } + /** {@inheritDoc} */ @Override protected CacheMode cacheMode() { return CacheMode.PARTITIONED;
