You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2014/12/16 16:12:04 UTC
[01/18] incubator-ignite git commit: GG-9141 - Fixed group lock
transactions.
Repository: incubator-ignite
Updated Branches:
refs/heads/ignite-41 c2a513218 -> 688a2e715
GG-9141 - Fixed group lock transactions.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/f60670a9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/f60670a9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/f60670a9
Branch: refs/heads/ignite-41
Commit: f60670a9263d9e4005b971b0d278e07fab2433b3
Parents: d7309f4
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Fri Dec 12 18:43:20 2014 -0800
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Fri Dec 12 18:43:20 2014 -0800
----------------------------------------------------------------------
.../org/apache/ignite/IgniteTransactions.java | 10 +-
.../processors/cache/GridCacheAdapter.java | 97 +-------------------
.../cache/GridCacheSharedContext.java | 1 -
.../processors/cache/GridCacheTxHandler.java | 6 +-
.../cache/GridCacheTxLocalAdapter.java | 2 +-
.../distributed/dht/GridDhtCacheEntryImpl.java | 2 +-
.../distributed/dht/GridDhtTxFinishFuture.java | 1 -
.../distributed/dht/GridDhtTxLocalAdapter.java | 10 +-
.../transactions/IgniteTransactionsImpl.java | 86 +++++++++++++++--
.../ipc/shmem/GridIpcSharedMemorySpace.java | 1 -
.../GridCacheGroupLockAbstractSelfTest.java | 49 +++-------
...ockPartitionedMultiNodeAbstractSelfTest.java | 1 -
12 files changed, 110 insertions(+), 156 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f60670a9/modules/core/src/main/java/org/apache/ignite/IgniteTransactions.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteTransactions.java b/modules/core/src/main/java/org/apache/ignite/IgniteTransactions.java
index 061ec38..d28954c 100644
--- a/modules/core/src/main/java/org/apache/ignite/IgniteTransactions.java
+++ b/modules/core/src/main/java/org/apache/ignite/IgniteTransactions.java
@@ -9,7 +9,7 @@
package org.apache.ignite;
-import org.gridgain.grid.*;
+import org.apache.ignite.configuration.*;
import org.gridgain.grid.cache.*;
import org.jetbrains.annotations.*;
@@ -64,7 +64,7 @@ public interface IgniteTransactions {
* transaction. All updates to the keys involved should always go through {@code affinity-group-locked}
* transaction, otherwise cache may be left in inconsistent state.
* <p>
- * If cache sanity check is enabled ({@link org.apache.ignite.configuration.IgniteConfiguration#isCacheSanityCheckEnabled()}),
+ * If cache sanity check is enabled ({@link IgniteConfiguration#isCacheSanityCheckEnabled()}),
* the following checks are performed:
* <ul>
* <li>
@@ -86,7 +86,7 @@ public interface IgniteTransactions {
* @throws IgniteCheckedException If local node is not primary for any of provided keys.
* @throws UnsupportedOperationException If cache is {@link GridCacheAtomicityMode#ATOMIC}.
*/
- public GridCacheTx txStartAffinity(Object affinityKey, GridCacheTxConcurrency concurrency,
+ public GridCacheTx txStartAffinity(String cacheName, Object affinityKey, GridCacheTxConcurrency concurrency,
GridCacheTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException;
/**
@@ -100,7 +100,7 @@ public interface IgniteTransactions {
* transaction. All updates to the keys involved should always go through {@code partition-group-locked}
* transaction, otherwise, cache may be left in inconsistent state.
* <p>
- * If cache sanity check is enabled ({@link org.apache.ignite.configuration.IgniteConfiguration#isCacheSanityCheckEnabled()}),
+ * If cache sanity check is enabled ({@link IgniteConfiguration#isCacheSanityCheckEnabled()}),
* the following checks are performed:
* <ul>
* <li>
@@ -122,7 +122,7 @@ public interface IgniteTransactions {
* @throws IgniteCheckedException If local node is not primary for any of provided keys.
* @throws UnsupportedOperationException If cache is {@link GridCacheAtomicityMode#ATOMIC}.
*/
- public GridCacheTx txStartPartition(int partId, GridCacheTxConcurrency concurrency,
+ public GridCacheTx txStartPartition(String cacheName, int partId, GridCacheTxConcurrency concurrency,
GridCacheTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException;
/**
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f60670a9/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
index bf40a85..4d136a1 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
@@ -52,8 +52,6 @@ import static org.gridgain.grid.cache.GridCacheFlag.*;
import static org.gridgain.grid.cache.GridCachePeekMode.*;
import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
-import static org.gridgain.grid.cache.GridCacheTxState.*;
-import static org.apache.ignite.events.IgniteEventType.*;
import static org.gridgain.grid.kernal.GridClosureCallMode.*;
import static org.gridgain.grid.kernal.processors.dr.GridDrType.*;
import static org.gridgain.grid.kernal.processors.task.GridTaskThreadContextKey.*;
@@ -3138,106 +3136,21 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
/** {@inheritDoc} */
@Override public GridCacheTx txStart(GridCacheTxConcurrency concurrency,
GridCacheTxIsolation isolation, long timeout, int txSize) throws IllegalStateException {
- A.notNull(concurrency, "concurrency");
- A.notNull(isolation, "isolation");
- A.ensure(timeout >= 0, "timeout cannot be negative");
- A.ensure(txSize >= 0, "transaction size cannot be negative");
-
- GridTransactionsConfiguration cfg = ctx.gridConfig().getTransactionsConfiguration();
-
- if (!cfg.isTxSerializableEnabled() && isolation == SERIALIZABLE)
- throw new IllegalArgumentException("SERIALIZABLE isolation level is disabled (to enable change " +
- "'txSerializableEnabled' configuration property)");
-
- GridCacheTxEx<K, V> tx = (GridCacheTxEx<K, V>)ctx.tm().userTx();
-
- if (tx != null)
- throw new IllegalStateException("Failed to start new transaction " +
- "(current thread already has a transaction): " + tx);
-
- tx = ctx.tm().newTx(
- false,
- false,
- concurrency,
- isolation,
- timeout,
- false,
- txSize,
- /** group lock keys */null,
- /** partition lock */false
- );
-
- assert tx != null;
-
- // Wrap into proxy.
- return new GridCacheTxProxyImpl<>(tx, ctx.shared());
+ return ctx.kernalContext().cache().transactions().txStart(concurrency, isolation, timeout, txSize);
}
/** {@inheritDoc} */
@Override public GridCacheTx txStartAffinity(Object affinityKey, GridCacheTxConcurrency concurrency,
GridCacheTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException {
- return txStartGroupLock(ctx.txKey((K)affinityKey), concurrency, isolation, false, timeout, txSize);
+ return ctx.kernalContext().cache().transactions().txStartAffinity(name(), affinityKey, concurrency, isolation,
+ timeout, txSize);
}
/** {@inheritDoc} */
@Override public GridCacheTx txStartPartition(int partId, GridCacheTxConcurrency concurrency,
GridCacheTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException {
- Object grpLockKey = ctx.affinity().partitionAffinityKey(partId);
-
- return txStartGroupLock(ctx.txKey((K)grpLockKey), concurrency, isolation, true, timeout, txSize);
- }
-
- /**
- * Internal method to start group-lock transaction.
- *
- * @param grpLockKey Group lock key.
- * @param concurrency Transaction concurrency control.
- * @param isolation Transaction isolation level.
- * @param partLock {@code True} if this is a partition-lock transaction. In this case {@code grpLockKey}
- * should be a unique partition-specific key.
- * @param timeout Tx timeout.
- * @param txSize Expected transaction size.
- * @return Started transaction.
- * @throws IllegalStateException If other transaction was already started.
- * @throws IgniteCheckedException In case of error.
- */
- @SuppressWarnings("unchecked")
- private GridCacheTx txStartGroupLock(GridCacheTxKey grpLockKey, GridCacheTxConcurrency concurrency,
- GridCacheTxIsolation isolation, boolean partLock, long timeout, int txSize)
- throws IllegalStateException, IgniteCheckedException {
- GridCacheTx tx = ctx.tm().userTx();
-
- if (tx != null)
- throw new IllegalStateException("Failed to start new transaction " +
- "(current thread already has a transaction): " + tx);
-
- GridCacheTxLocalEx<K, V> tx0 = ctx.tm().newTx(
- false,
- false,
- concurrency,
- isolation,
- timeout,
- ctx.hasFlag(INVALIDATE),
- txSize,
- grpLockKey,
- partLock
- );
-
- assert tx0 != null;
-
- IgniteFuture<?> lockFut = tx0.groupLockAsync(ctx, (Collection)F.asList(grpLockKey));
-
- try {
- lockFut.get();
- }
- catch (IgniteCheckedException e) {
- tx0.rollback();
-
- throw e;
- }
-
- // Wrap into proxy.
- return new GridCacheTxProxyImpl<>(tx0, ctx.shared());
+ return ctx.kernalContext().cache().transactions().txStartPartition(name(), partId, concurrency, isolation,
+ timeout, txSize);
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f60670a9/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java
index 33ffea5..e67519b 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java
@@ -14,7 +14,6 @@ import org.apache.ignite.cluster.*;
import org.apache.ignite.configuration.*;
import org.apache.ignite.lang.*;
import org.apache.ignite.marshaller.*;
-import org.gridgain.grid.*;
import org.gridgain.grid.cache.*;
import org.gridgain.grid.kernal.*;
import org.gridgain.grid.kernal.managers.communication.*;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f60670a9/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxHandler.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxHandler.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxHandler.java
index 85a240c..e629d3f 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxHandler.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxHandler.java
@@ -12,7 +12,6 @@ package org.gridgain.grid.kernal.processors.cache;
import org.apache.ignite.*;
import org.apache.ignite.cluster.*;
import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
import org.gridgain.grid.cache.*;
import org.gridgain.grid.kernal.processors.cache.distributed.*;
import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;
@@ -1229,13 +1228,14 @@ public class GridCacheTxHandler<K, V> {
while (true) {
try {
- entry = cacheCtx.dht().near().peekExx(txEntry.key());
+ entry = cacheCtx.near().peekExx(txEntry.key());
if (entry != null) {
entry.keyBytes(txEntry.keyBytes());
// Handle implicit locks for pessimistic transactions.
- tx = ctx.tm().tx(req.version());
+ if (tx == null)
+ tx = ctx.tm().nearTx(req.version());
if (tx == null) {
tx = new GridNearTxRemote<>(
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f60670a9/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
index 4ac7b4e..2c52e0a 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
@@ -2541,7 +2541,7 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
", part=" + part + ", groupLockKey=" + grpLockKey + ']');
}
else {
- Object affinityKey = cacheCtx.config().getAffinityMapper().affinityKey(key);
+ GridCacheTxKey affinityKey = cacheCtx.txKey((K)cacheCtx.config().getAffinityMapper().affinityKey(key));
if (!grpLockKey.equals(affinityKey))
throw new IgniteCheckedException("Failed to enlist key into group-lock transaction (affinity key was " +
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f60670a9/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtCacheEntryImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtCacheEntryImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtCacheEntryImpl.java
index 094df1b..c37fb90 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtCacheEntryImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtCacheEntryImpl.java
@@ -60,7 +60,7 @@ public class GridDhtCacheEntryImpl<K, V> extends GridCacheEntryImpl<K, V> {
/** {@inheritDoc} */
@Override public V peek(@Nullable Collection<GridCachePeekMode> modes) throws IgniteCheckedException {
- if (!ctx.isNear() && !ctx.isReplicated() && modes.contains(NEAR_ONLY))
+ if (!ctx.isNear() && modes.contains(NEAR_ONLY))
return null;
V val = null;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f60670a9/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java
index 2e9311d..a836ff8 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java
@@ -12,7 +12,6 @@ package org.gridgain.grid.kernal.processors.cache.distributed.dht;
import org.apache.ignite.*;
import org.apache.ignite.cluster.*;
import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
import org.gridgain.grid.cache.*;
import org.gridgain.grid.kernal.processors.cache.*;
import org.gridgain.grid.kernal.processors.cache.distributed.*;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f60670a9/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java
index d594df3..95cd4ad 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java
@@ -635,10 +635,10 @@ public abstract class GridDhtTxLocalAdapter<K, V> extends GridCacheTxLocalAdapte
for (GridCacheTxKey<K> key : keys) {
GridCacheTxEntry<K, V> txEntry = entry(key);
- if (!txEntry.groupLockEntry())
+ if (!txEntry.groupLockEntry() || txEntry.context().isNear())
continue;
- assert txEntry.cached() instanceof GridDhtCacheEntry;
+ assert txEntry.cached() instanceof GridDhtCacheEntry : "Invalid entry type: " + txEntry.cached();
while (true) {
try {
@@ -674,10 +674,10 @@ public abstract class GridDhtTxLocalAdapter<K, V> extends GridCacheTxLocalAdapte
txEntry.cached(txEntry.context().dht().entryExx(key.key(), topologyVersion()), txEntry.keyBytes());
}
}
-
- if (locNearMap != null)
- addNearMapping(locNearMap);
}
+
+ if (locNearMap != null)
+ addNearMapping(locNearMap);
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f60670a9/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java
index 89bbb74..a8e1344 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java
@@ -10,12 +10,16 @@
package org.gridgain.grid.kernal.processors.cache.transactions;
import org.apache.ignite.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.lang.*;
import org.gridgain.grid.cache.*;
import org.gridgain.grid.kernal.processors.cache.*;
+import org.gridgain.grid.util.typedef.*;
import org.gridgain.grid.util.typedef.internal.*;
import org.jetbrains.annotations.*;
+import java.util.*;
+
+import static org.gridgain.grid.cache.GridCacheFlag.*;
import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
/**
@@ -115,22 +119,86 @@ public class IgniteTransactionsImpl<K, V> implements IgniteTransactions {
}
/** {@inheritDoc} */
- @Override public GridCacheTx txStartAffinity(Object affinityKey, GridCacheTxConcurrency concurrency,
+ @Override public GridCacheTx txStartAffinity(String cacheName, Object affinityKey, GridCacheTxConcurrency concurrency,
GridCacheTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException {
- // TODO: implement.
- return null;
+ GridCacheAdapter<Object, Object> cache = cctx.kernalContext().cache().internalCache(cacheName);
+
+ if (cache == null)
+ throw new IllegalArgumentException("Failed to find cache with given name (cache is not configured): " +
+ cacheName);
+
+ return txStartGroupLock(cache.context(), affinityKey, concurrency, isolation, false, timeout, txSize);
}
/** {@inheritDoc} */
- @Override public GridCacheTx txStartPartition(int partId, GridCacheTxConcurrency concurrency,
+ @Override public GridCacheTx txStartPartition(String cacheName, int partId, GridCacheTxConcurrency concurrency,
GridCacheTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException {
- // TODO: implement.
- return null;
+ GridCacheAdapter<Object, Object> cache = cctx.kernalContext().cache().internalCache(cacheName);
+
+ if (cache == null)
+ throw new IllegalArgumentException("Failed to find cache with given name (cache is not configured): " +
+ cacheName);
+
+ Object grpLockKey = cache.context().affinity().partitionAffinityKey(partId);
+
+ return txStartGroupLock(cache.context(), grpLockKey, concurrency, isolation, true, timeout, txSize);
+ }
+
+ /**
+ * Internal method to start group-lock transaction.
+ *
+ * @param grpLockKey Group lock key.
+ * @param concurrency Transaction concurrency control.
+ * @param isolation Transaction isolation level.
+ * @param partLock {@code True} if this is a partition-lock transaction. In this case {@code grpLockKey}
+ * should be a unique partition-specific key.
+ * @param timeout Tx timeout.
+ * @param txSize Expected transaction size.
+ * @return Started transaction.
+ * @throws IllegalStateException If other transaction was already started.
+ * @throws IgniteCheckedException In case of error.
+ */
+ @SuppressWarnings("unchecked")
+ private GridCacheTx txStartGroupLock(GridCacheContext ctx, Object grpLockKey, GridCacheTxConcurrency concurrency,
+ GridCacheTxIsolation isolation, boolean partLock, long timeout, int txSize)
+ throws IllegalStateException, IgniteCheckedException {
+ GridCacheTx tx = cctx.tm().userTx();
+
+ if (tx != null)
+ throw new IllegalStateException("Failed to start new transaction " +
+ "(current thread already has a transaction): " + tx);
+
+ GridCacheTxLocalEx<K, V> tx0 = cctx.tm().newTx(
+ false,
+ false,
+ concurrency,
+ isolation,
+ timeout,
+ ctx.hasFlag(INVALIDATE),
+ txSize,
+ ctx.txKey(grpLockKey),
+ partLock
+ );
+
+ assert tx0 != null;
+
+ IgniteFuture<?> lockFut = tx0.groupLockAsync(ctx, (Collection)F.asList(grpLockKey));
+
+ try {
+ lockFut.get();
+ }
+ catch (IgniteCheckedException e) {
+ tx0.rollback();
+
+ throw e;
+ }
+
+ // Wrap into proxy.
+ return new GridCacheTxProxyImpl<>(tx0, cctx);
}
/** {@inheritDoc} */
@Nullable @Override public GridCacheTx tx() {
- // TODO: implement.
- return null;
+ return cctx.tm().userTx();
}
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f60670a9/modules/core/src/main/java/org/gridgain/grid/util/ipc/shmem/GridIpcSharedMemorySpace.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/util/ipc/shmem/GridIpcSharedMemorySpace.java b/modules/core/src/main/java/org/gridgain/grid/util/ipc/shmem/GridIpcSharedMemorySpace.java
index 6d81561..d25338b 100644
--- a/modules/core/src/main/java/org/gridgain/grid/util/ipc/shmem/GridIpcSharedMemorySpace.java
+++ b/modules/core/src/main/java/org/gridgain/grid/util/ipc/shmem/GridIpcSharedMemorySpace.java
@@ -10,7 +10,6 @@
package org.gridgain.grid.util.ipc.shmem;
import org.apache.ignite.*;
-import org.gridgain.grid.*;
import org.gridgain.grid.util.typedef.internal.*;
import java.io.*;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f60670a9/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockAbstractSelfTest.java
index f9fe5e9..34cd126 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockAbstractSelfTest.java
@@ -13,7 +13,7 @@ import org.apache.ignite.*;
import org.apache.ignite.configuration.*;
import org.apache.ignite.events.*;
import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.spi.communication.tcp.*;
import org.gridgain.grid.cache.*;
import org.gridgain.grid.cache.affinity.*;
import org.gridgain.grid.cache.store.*;
@@ -73,8 +73,6 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
cacheCfg.setWriteSynchronizationMode(GridCacheWriteSynchronizationMode.FULL_SYNC);
cacheCfg.setAtomicityMode(TRANSACTIONAL);
- boolean txBatchUpdate = batchUpdate();
-
cacheCfg.setStore(store);
cfg.setCacheConfiguration(cacheCfg);
@@ -86,6 +84,12 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
cfg.setDiscoverySpi(discoSpi);
+ TcpCommunicationSpi commSpi = new TcpCommunicationSpi();
+
+ commSpi.setSharedMemoryPort(-1);
+
+ cfg.setCommunicationSpi(commSpi);
+
return cfg;
}
@@ -797,8 +801,8 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
}
for (int i = 0; i < gridCount(); i++) {
- assertNull("For cache: " + i, cache(i).peek("val1"));
- assertNull("For cache: " + i, cache(i).peek("val2"));
+ assertNull("For cache [i=" + i + ", val=" + cache(i).peek(key1) + ']', cache(i).peek(key1));
+ assertNull("For cache [i=" + i + ", val=" + cache(i).peek(key2) + ']', cache(i).peek(key2));
assertTrue("For cache [idx=" + i + ", keySet=" + cache(i).keySet() + ']', cache(i).size() <= 1);
}
@@ -911,7 +915,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
cache(0).put(key, "val");
- try (GridCacheTx tx = cache(0).txStartPartition(cache(0).affinity().partition(key), concurrency,
+ try (GridCacheTx ignored = cache(0).txStartPartition(cache(0).affinity().partition(key), concurrency,
REPEATABLE_READ, 0, 1)) {
assertEquals("val", cache(0).get(key));
}
@@ -939,7 +943,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
final GridCache<GridCacheAffinityKey<String>, String> cache = grid(0).cache(null);
- try (GridCacheTx tx = cache.txStartAffinity(affinityKey, concurrency, READ_COMMITTED, 0, 1)) {
+ try (GridCacheTx ignored = cache.txStartAffinity(affinityKey, concurrency, READ_COMMITTED, 0, 1)) {
// Key with affinity key different from enlisted on tx start should raise exception.
cache.put(new GridCacheAffinityKey<>("key1", UUID.randomUUID()), "val1");
@@ -978,7 +982,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
cache.put(key, "val");
- try (GridCacheTx tx = cache.txStartAffinity(affinityKey, concurrency, READ_COMMITTED, 0, 1)) {
+ try (GridCacheTx ignored = cache.txStartAffinity(affinityKey, concurrency, READ_COMMITTED, 0, 1)) {
// Key with affinity key different from enlisted on tx start should raise exception.
cache.remove(key);
@@ -1062,9 +1066,6 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
* @throws Exception If failed.
*/
public void testGroupLockWriteThroughBatchUpdateOptimistic() throws Exception {
- // Configuration changed according to test name.
- assert batchUpdate();
-
checkGroupLockWriteThrough(OPTIMISTIC);
}
@@ -1072,25 +1073,6 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
* @throws Exception If failed.
*/
public void testGroupLockWriteThroughBatchUpdatePessimistic() throws Exception {
- // Configuration changed according to test name.
- assert batchUpdate();
-
- checkGroupLockWriteThrough(PESSIMISTIC);
- }
-
- /**
- * @throws Exception If failed.
- */
- public void testGroupLockWriteThroughSingleUpdateOptimistic() throws Exception {
- // Configuration changed according to test name.
- checkGroupLockWriteThrough(OPTIMISTIC);
- }
-
- /**
- * @throws Exception If failed.
- */
- public void testGroupLockWriteThroughSingleUpdatePessimistic() throws Exception {
- // Configuration changed according to test name.
checkGroupLockWriteThrough(PESSIMISTIC);
}
@@ -1142,12 +1124,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
// Check the store.
assertTrue(store.storeMap().equals(putMap));
- assertEquals(batchUpdate() ? 1 : 4, store.putCount());
- }
-
- /** @return {@code True} if batch update should be enabled. */
- private boolean batchUpdate() {
- return getName().contains("testGroupLockWriteThroughBatchUpdate");
+ assertEquals(1, store.putCount());
}
/** @return {@code True} if sanity check should be enabled. */
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f60670a9/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheGroupLockPartitionedMultiNodeAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheGroupLockPartitionedMultiNodeAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheGroupLockPartitionedMultiNodeAbstractSelfTest.java
index 12a7cbd..aa1d4ad 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheGroupLockPartitionedMultiNodeAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheGroupLockPartitionedMultiNodeAbstractSelfTest.java
@@ -10,7 +10,6 @@
package org.gridgain.grid.kernal.processors.cache.distributed.dht;
import org.apache.ignite.*;
-import org.gridgain.grid.*;
import org.gridgain.grid.cache.*;
import org.gridgain.grid.cache.affinity.*;
import org.gridgain.grid.util.typedef.*;
[07/18] incubator-ignite git commit: GG-9141 - Enabled test.
Posted by sb...@apache.org.
GG-9141 - Enabled test.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/1c5984f1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/1c5984f1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/1c5984f1
Branch: refs/heads/ignite-41
Commit: 1c5984f1c5bad7b966ef22e6714f7f96232ab47d
Parents: 7964632
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Sun Dec 14 11:33:53 2014 -0800
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Sun Dec 14 11:33:53 2014 -0800
----------------------------------------------------------------------
.../processors/cache/GridCacheTxSingleThreadedAbstractTest.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1c5984f1/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxSingleThreadedAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxSingleThreadedAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxSingleThreadedAbstractTest.java
index 98f30a6..1dc7b44 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxSingleThreadedAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxSingleThreadedAbstractTest.java
@@ -9,7 +9,7 @@
package org.gridgain.grid.kernal.processors.cache;
-import org.gridgain.grid.*;
+import org.apache.ignite.*;
import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
@@ -49,7 +49,7 @@ public abstract class GridCacheTxSingleThreadedAbstractTest extends GridCacheTxA
/**
* @throws IgniteCheckedException If test failed.
*/
- public void _testOptimisticReadCommittedCommit() throws Exception { // TODO GG-9141
+ public void testOptimisticReadCommittedCommit() throws Exception {
checkCommit(OPTIMISTIC, READ_COMMITTED);
finalChecks();
[08/18] incubator-ignite git commit: GG-9141 - Fixed and enabled test.
Posted by sb...@apache.org.
GG-9141 - Fixed and enabled test.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/62b9617e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/62b9617e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/62b9617e
Branch: refs/heads/ignite-41
Commit: 62b9617e78e420dce512cd126f2c0851d29ae518
Parents: 1c5984f
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Sun Dec 14 11:41:03 2014 -0800
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Sun Dec 14 11:41:03 2014 -0800
----------------------------------------------------------------------
.../distributed/near/GridCacheNearMultiNodeSelfTest.java | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/62b9617e/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiNodeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiNodeSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiNodeSelfTest.java
index 4a53985..e6d1dff 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiNodeSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiNodeSelfTest.java
@@ -12,7 +12,6 @@ package org.gridgain.grid.kernal.processors.cache.distributed.near;
import org.apache.ignite.*;
import org.apache.ignite.cluster.*;
import org.apache.ignite.configuration.*;
-import org.gridgain.grid.*;
import org.gridgain.grid.cache.*;
import org.gridgain.grid.cache.affinity.*;
import org.gridgain.grid.cache.store.*;
@@ -362,7 +361,7 @@ public class GridCacheNearMultiNodeSelfTest extends GridCommonAbstractTest {
* @throws Exception If failed.
*/
@SuppressWarnings({"ConstantConditions"})
- public void _testOptimisticWriteThrough() throws Exception { // TODO GG-9141
+ public void testOptimisticWriteThrough() throws Exception {
GridCache<Integer, String> near = cache(0);
if (transactional()) {
@@ -377,7 +376,11 @@ public class GridCacheNearMultiNodeSelfTest extends GridCommonAbstractTest {
assertEquals("2", near.get(2));
assertEquals("3", near.get(3));
- assertNull(dht(primaryGrid(2)).peek(2));
+ GridDhtCacheEntry<Integer, String> entry = dht(primaryGrid(2)).peekExx(2);
+
+ if (entry != null)
+ assertNull("Unexpected entry: " + entry, entry.rawGetOrUnmarshal(false));
+
assertNotNull(dht(primaryGrid(3)).peek(3));
tx.commit();
[12/18] incubator-ignite git commit: GG-9141 - Enabling passing tests.
Posted by sb...@apache.org.
GG-9141 - Enabling passing tests.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/a94ce931
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/a94ce931
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/a94ce931
Branch: refs/heads/ignite-41
Commit: a94ce9311c678ae3e35e5d7d9ddb908ae76144d6
Parents: 806a44d
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Sun Dec 14 11:48:16 2014 -0800
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Sun Dec 14 11:48:16 2014 -0800
----------------------------------------------------------------------
.../org/gridgain/testsuites/GridCacheQuerySelfTestSuite.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a94ce931/modules/indexing/src/test/java/org/gridgain/testsuites/GridCacheQuerySelfTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/test/java/org/gridgain/testsuites/GridCacheQuerySelfTestSuite.java b/modules/indexing/src/test/java/org/gridgain/testsuites/GridCacheQuerySelfTestSuite.java
index a939fdf..7a2ec15 100644
--- a/modules/indexing/src/test/java/org/gridgain/testsuites/GridCacheQuerySelfTestSuite.java
+++ b/modules/indexing/src/test/java/org/gridgain/testsuites/GridCacheQuerySelfTestSuite.java
@@ -54,7 +54,7 @@ public class GridCacheQuerySelfTestSuite extends TestSuite {
suite.addTestSuite(GridCacheSqlQueryMultiThreadedSelfTest.class);
// Fields queries.
-// suite.addTestSuite(GridCacheLocalFieldsQuerySelfTest.class); // TODO GG-9141
+ suite.addTestSuite(GridCacheLocalFieldsQuerySelfTest.class);
suite.addTestSuite(GridCacheReplicatedFieldsQuerySelfTest.class);
suite.addTestSuite(GridCacheReplicatedFieldsQueryP2PDisabledSelfTest.class);
suite.addTestSuite(GridCachePartitionedFieldsQuerySelfTest.class);
@@ -64,7 +64,7 @@ public class GridCacheQuerySelfTestSuite extends TestSuite {
suite.addTestSuite(GridCacheFieldsQueryNoDataSelfTest.class);
// Continuous queries.
-// suite.addTestSuite(GridCacheContinuousQueryLocalSelfTest.class); // TODO GG-9141
+ suite.addTestSuite(GridCacheContinuousQueryLocalSelfTest.class);
suite.addTestSuite(GridCacheContinuousQueryLocalAtomicSelfTest.class);
suite.addTestSuite(GridCacheContinuousQueryReplicatedSelfTest.class);
suite.addTestSuite(GridCacheContinuousQueryReplicatedAtomicSelfTest.class);
[09/18] incubator-ignite git commit: GG-9141 - Fixed and enabled test.
Posted by sb...@apache.org.
GG-9141 - Fixed and enabled test.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/766e45cf
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/766e45cf
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/766e45cf
Branch: refs/heads/ignite-41
Commit: 766e45cf279ce270a59b835efa5433b837bb4336
Parents: 62b9617
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Sun Dec 14 11:43:25 2014 -0800
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Sun Dec 14 11:43:25 2014 -0800
----------------------------------------------------------------------
.../near/GridCacheNearOneNodeSelfTest.java | 23 +++++++++++---------
1 file changed, 13 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/766e45cf/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearOneNodeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearOneNodeSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearOneNodeSelfTest.java
index 10d438d..728336d 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearOneNodeSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearOneNodeSelfTest.java
@@ -15,6 +15,7 @@ import org.apache.ignite.spi.discovery.tcp.*;
import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
import org.gridgain.grid.cache.*;
import org.gridgain.grid.cache.store.*;
+import org.gridgain.grid.kernal.processors.cache.*;
import org.gridgain.testframework.junits.common.*;
import org.jetbrains.annotations.*;
@@ -135,22 +136,24 @@ public class GridCacheNearOneNodeSelfTest extends GridCommonAbstractTest {
* @throws Exception If failed.
*/
@SuppressWarnings({"ConstantConditions"})
- public void _testOptimisticTxWriteThrough() throws Exception { // TODO GG-9141
+ public void testOptimisticTxWriteThrough() throws Exception {
GridCache<Integer, String> near = cache();
- GridCache<Integer, String> dht = dht();
+ GridCacheAdapter<Integer, String> dht = dht();
- GridCacheTx tx = cache().txStart(OPTIMISTIC, REPEATABLE_READ);
+ try (GridCacheTx tx = cache().txStart(OPTIMISTIC, REPEATABLE_READ) ) {
+ near.putx(2, "2");
+ near.put(3, "3");
- near.putx(2, "2");
- near.put(3, "3");
+ assert "2".equals(near.get(2));
+ assert "3".equals(near.get(3));
- assert "2".equals(near.get(2));
- assert "3".equals(near.get(3));
+ GridCacheEntryEx<Integer, String> entry = dht.peekEx(2);
- assert dht.peek(2) == null;
- assert dht.peek(3) != null;
+ assert entry == null || entry.rawGetOrUnmarshal(false) == null : "Invalid entry: " + entry;
+ assert dht.peek(3) != null;
- tx.commit();
+ tx.commit();
+ }
assert "2".equals(near.get(2));
assert "3".equals(near.get(3));
[14/18] incubator-ignite git commit: GG-9141 - Cleanup,
fixed delayed preloading.
Posted by sb...@apache.org.
GG-9141 - Cleanup, fixed delayed preloading.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/fa69fe88
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/fa69fe88
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/fa69fe88
Branch: refs/heads/ignite-41
Commit: fa69fe8827b189d12f34378f9533d208ce062e46
Parents: 2ad4e6d
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Mon Dec 15 16:18:24 2014 -0800
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Mon Dec 15 16:18:24 2014 -0800
----------------------------------------------------------------------
.../java/org/apache/ignite/IgniteCompute.java | 75 ++++++------
.../grid/cache/GridCacheConfiguration.java | 115 ++-----------------
.../processors/cache/GridCacheAttributes.java | 40 -------
.../GridCachePartitionExchangeManager.java | 16 +--
.../processors/cache/GridCacheProcessor.java | 16 ---
.../preloader/GridDhtPartitionDemandPool.java | 2 +-
.../visor/cache/VisorCacheDgcConfiguration.java | 4 -
.../tcp/GridCacheDhtLockBackupSelfTest.java | 7 --
.../GridCacheAbstractFailoverSelfTest.java | 2 -
.../GridCacheAbstractRemoveFailureTest.java | 9 --
.../GridCacheGroupLockFailoverSelfTest.java | 3 -
.../cache/GridCachePutAllFailoverSelfTest.java | 3 -
.../GridCacheReferenceCleanupSelfTest.java | 1 -
...dCacheQueueMultiNodeConsistencySelfTest.java | 1 -
...dCachePartitionedQueueMultiNodeSelfTest.java | 1 -
...dCacheMultithreadedFailoverAbstractTest.java | 5 +-
...cOriginatingNodeFailureAbstractSelfTest.java | 1 -
.../dht/GridCacheDhtPreloadDelayedSelfTest.java | 2 +-
...titionedExplicitLockNodeFailureSelfTest.java | 1 -
...idCachePartitionedMultiNodeLockSelfTest.java | 1 -
...GridCachePartitionedNodeFailureSelfTest.java | 1 -
.../GridCachePartitionedNodeRestartTest.java | 1 -
...ePartitionedOptimisticTxNodeRestartTest.java | 1 -
.../GridCachePartitionedTxSalvageSelfTest.java | 2 -
.../near/GridCachePutArrayValueSelfTest.java | 2 -
25 files changed, 59 insertions(+), 253 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fa69fe88/modules/core/src/main/java/org/apache/ignite/IgniteCompute.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteCompute.java b/modules/core/src/main/java/org/apache/ignite/IgniteCompute.java
index 613a521..16da89f 100644
--- a/modules/core/src/main/java/org/apache/ignite/IgniteCompute.java
+++ b/modules/core/src/main/java/org/apache/ignite/IgniteCompute.java
@@ -12,7 +12,10 @@ package org.apache.ignite;
import org.apache.ignite.cluster.*;
import org.apache.ignite.compute.*;
import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.marshaller.optimized.IgniteOptimizedMarshaller;
+import org.apache.ignite.resources.*;
+import org.apache.ignite.spi.failover.FailoverSpi;
+import org.apache.ignite.spi.loadbalancing.LoadBalancingSpi;
import org.jetbrains.annotations.*;
import java.io.*;
@@ -21,66 +24,66 @@ import java.util.concurrent.*;
/**
* Defines compute grid functionality for executing tasks and closures over nodes
- * in the {@link org.apache.ignite.cluster.ClusterGroup}. Instance of {@code GridCompute} is obtained from grid projection
+ * in the {@link ClusterGroup}. Instance of {@code GridCompute} is obtained from grid projection
* as follows:
* <pre name="code" class="java">
* GridCompute c = GridGain.grid().compute();
* </pre>
* The methods are grouped as follows:
* <ul>
- * <li>{@code apply(...)} methods execute {@link org.apache.ignite.lang.IgniteClosure} jobs over nodes in the projection.</li>
+ * <li>{@code apply(...)} methods execute {@link IgniteClosure} jobs over nodes in the projection.</li>
* <li>
* {@code call(...)} methods execute {@link Callable} jobs over nodes in the projection.
- * Use {@link org.apache.ignite.lang.IgniteCallable} for better performance as it implements {@link Serializable}.
+ * Use {@link IgniteCallable} for better performance as it implements {@link Serializable}.
* </li>
* <li>
* {@code run(...)} methods execute {@link Runnable} jobs over nodes in the projection.
- * Use {@link org.apache.ignite.lang.IgniteRunnable} for better performance as it implements {@link Serializable}.
+ * Use {@link IgniteRunnable} for better performance as it implements {@link Serializable}.
* </li>
* <li>{@code broadcast(...)} methods broadcast jobs to all nodes in the projection.</li>
* <li>{@code affinity(...)} methods colocate jobs with nodes on which a specified key is cached.</li>
* </ul>
* Note that if attempt is made to execute a computation over an empty projection (i.e. projection that does
- * not have any alive nodes), then {@link org.apache.ignite.cluster.ClusterGroupEmptyException} will be thrown out of result future.
+ * not have any alive nodes), then {@link ClusterGroupEmptyException} will be thrown out of result future.
* <h1 class="header">Serializable</h1>
* Also note that {@link Runnable} and {@link Callable} implementations must support serialization as required
- * by the configured marshaller. For example, {@link org.apache.ignite.marshaller.optimized.IgniteOptimizedMarshaller} requires {@link Serializable}
+ * by the configured marshaller. For example, {@link IgniteOptimizedMarshaller} requires {@link Serializable}
* objects by default, but can be configured not to. Generally speaking objects that implement {@link Serializable}
* or {@link Externalizable} will perform better. For {@link Runnable} and {@link Callable} interfaces
- * GridGain provides analogous {@link org.apache.ignite.lang.IgniteRunnable} and {@link org.apache.ignite.lang.IgniteCallable} classes which are
+ * GridGain provides analogous {@link IgniteRunnable} and {@link IgniteCallable} classes which are
* {@link Serializable} and should be used to run computations on the grid.
* <h1 class="header">Load Balancing</h1>
* In all cases other than {@code broadcast(...)}, GridGain must select a node for a computation
- * to be executed. The node will be selected based on the underlying {@link org.apache.ignite.spi.loadbalancing.LoadBalancingSpi},
+ * to be executed. The node will be selected based on the underlying {@link LoadBalancingSpi},
* which by default sequentially picks next available node from grid projection. Other load balancing
* policies, such as {@code random} or {@code adaptive}, can be configured as well by selecting
* a different load balancing SPI in grid configuration. If your logic requires some custom
- * load balancing behavior, consider implementing {@link org.apache.ignite.compute.ComputeTask} directly.
+ * load balancing behavior, consider implementing {@link ComputeTask} directly.
* <h1 class="header">Fault Tolerance</h1>
* GridGain guarantees that as long as there is at least one grid node standing, every job will be
* executed. Jobs will automatically failover to another node if a remote node crashed
* or has rejected execution due to lack of resources. By default, in case of failover, next
* load balanced node will be picked for job execution. Also jobs will never be re-routed to the
* nodes they have failed on. This behavior can be changed by configuring any of the existing or a custom
- * {@link org.apache.ignite.spi.failover.FailoverSpi} in grid configuration.
+ * {@link FailoverSpi} in grid configuration.
* <h1 class="header">Resource Injection</h1>
* All compute jobs, including closures, runnables, callables, and tasks can be injected with
* grid resources. Both, field and method based injections are supported. The following grid
* resources can be injected:
* <ul>
- * <li>{@link org.apache.ignite.resources.IgniteTaskSessionResource}</li>
- * <li>{@link org.apache.ignite.resources.IgniteInstanceResource}</li>
- * <li>{@link org.apache.ignite.resources.IgniteLoggerResource}</li>
- * <li>{@link org.apache.ignite.resources.IgniteHomeResource}</li>
- * <li>{@link org.apache.ignite.resources.IgniteExecutorServiceResource}</li>
- * <li>{@link org.apache.ignite.resources.IgniteLocalNodeIdResource}</li>
- * <li>{@link org.apache.ignite.resources.IgniteMBeanServerResource}</li>
- * <li>{@link org.apache.ignite.resources.IgniteMarshallerResource}</li>
- * <li>{@link org.apache.ignite.resources.IgniteSpringApplicationContextResource}</li>
- * <li>{@link org.apache.ignite.resources.IgniteSpringResource}</li>
+ * <li>{@link IgniteTaskSessionResource}</li>
+ * <li>{@link IgniteInstanceResource}</li>
+ * <li>{@link IgniteLoggerResource}</li>
+ * <li>{@link IgniteHomeResource}</li>
+ * <li>{@link IgniteExecutorServiceResource}</li>
+ * <li>{@link IgniteLocalNodeIdResource}</li>
+ * <li>{@link IgniteMBeanServerResource}</li>
+ * <li>{@link IgniteMarshallerResource}</li>
+ * <li>{@link IgniteSpringApplicationContextResource}</li>
+ * <li>{@link IgniteSpringResource}</li>
* </ul>
* Refer to corresponding resource documentation for more information.
- * Here is an example of how to inject instance of {@link org.apache.ignite.Ignite} into a computation:
+ * Here is an example of how to inject instance of {@link Ignite} into a computation:
* <pre name="code" class="java">
* public class MyGridJob extends GridRunnable {
* ...
@@ -93,7 +96,7 @@ import java.util.concurrent.*;
* Note that regardless of which method is used for executing computations, all relevant SPI implementations
* configured for this grid instance will be used (i.e. failover, load balancing, collision resolution,
* checkpoints, etc.). If you need to override configured defaults, you should use compute task together with
- * {@link org.apache.ignite.compute.ComputeTaskSpis} annotation. Refer to {@link org.apache.ignite.compute.ComputeTask} documentation for more information.
+ * {@link ComputeTaskSpis} annotation. Refer to {@link ComputeTask} documentation for more information.
*/
public interface IgniteCompute extends IgniteAsyncSupport {
/**
@@ -112,8 +115,8 @@ public interface IgniteCompute extends IgniteAsyncSupport {
* @param cacheName Name of the cache to use for affinity co-location.
* @param affKey Affinity key.
* @param job Job which will be co-located on the node with given affinity key.
- * @see org.apache.ignite.compute.ComputeJobContext#cacheName()
- * @see org.apache.ignite.compute.ComputeJobContext#affinityKey()
+ * @see ComputeJobContext#cacheName()
+ * @see ComputeJobContext#affinityKey()
* @throws IgniteCheckedException If job failed.
*/
public void affinityRun(@Nullable String cacheName, Object affKey, Runnable job) throws IgniteCheckedException;
@@ -129,18 +132,18 @@ public interface IgniteCompute extends IgniteAsyncSupport {
* @param job Job which will be co-located on the node with given affinity key.
* @return Job result.
* @throws IgniteCheckedException If job failed.
- * @see org.apache.ignite.compute.ComputeJobContext#cacheName()
- * @see org.apache.ignite.compute.ComputeJobContext#affinityKey()
+ * @see ComputeJobContext#cacheName()
+ * @see ComputeJobContext#affinityKey()
*/
public <R> R affinityCall(@Nullable String cacheName, Object affKey, Callable<R> job) throws IgniteCheckedException;
/**
* Executes given task on the grid projection. For step-by-step explanation of task execution process
- * refer to {@link org.apache.ignite.compute.ComputeTask} documentation.
+ * refer to {@link ComputeTask} documentation.
* <p>
* Supports asynchronous execution (see {@link IgniteAsyncSupport}).
*
- * @param taskCls Class of the task to execute. If class has {@link org.apache.ignite.compute.ComputeTaskName} annotation,
+ * @param taskCls Class of the task to execute. If class has {@link ComputeTaskName} annotation,
* then task is deployed under a name specified within annotation. Otherwise, full
* class name is used as task name.
* @param arg Optional argument of task execution, can be {@code null}.
@@ -151,11 +154,11 @@ public interface IgniteCompute extends IgniteAsyncSupport {
/**
* Executes given task on this grid projection. For step-by-step explanation of task execution process
- * refer to {@link org.apache.ignite.compute.ComputeTask} documentation.
+ * refer to {@link ComputeTask} documentation.
* <p>
* Supports asynchronous execution (see {@link IgniteAsyncSupport}).
*
- * @param task Instance of task to execute. If task class has {@link org.apache.ignite.compute.ComputeTaskName} annotation,
+ * @param task Instance of task to execute. If task class has {@link ComputeTaskName} annotation,
* then task is deployed under a name specified within annotation. Otherwise, full
* class name is used as task name.
* @param arg Optional argument of task execution, can be {@code null}.
@@ -166,7 +169,7 @@ public interface IgniteCompute extends IgniteAsyncSupport {
/**
* Executes given task on this grid projection. For step-by-step explanation of task execution process
- * refer to {@link org.apache.ignite.compute.ComputeTask} documentation.
+ * refer to {@link ComputeTask} documentation.
* <p>
* If task for given name has not been deployed yet, then {@code taskName} will be
* used as task class name to auto-deploy the task (see {@link #localDeployTask(Class, ClassLoader)} method).
@@ -177,7 +180,7 @@ public interface IgniteCompute extends IgniteAsyncSupport {
* @param arg Optional argument of task execution, can be {@code null}.
* @return Task result.
* @throws IgniteCheckedException If task failed.
- * @see org.apache.ignite.compute.ComputeTask for information about task execution.
+ * @see ComputeTask for information about task execution.
*/
public <T, R> R execute(String taskName, @Nullable T arg) throws IgniteCheckedException;
@@ -330,7 +333,7 @@ public interface IgniteCompute extends IgniteAsyncSupport {
* Sets task name for the next executed task on this projection in the <b>current thread</b>.
* When task starts execution, the name is reset, so one name is used only once. You may use
* this method to set task name when executing jobs directly, without explicitly
- * defining {@link org.apache.ignite.compute.ComputeTask}.
+ * defining {@link ComputeTask}.
* <p>
* Here is an example.
* <pre name="code" class="java">
@@ -346,7 +349,7 @@ public interface IgniteCompute extends IgniteAsyncSupport {
* Sets task timeout for the next executed task on this projection in the <b>current thread</b>.
* When task starts execution, the timeout is reset, so one timeout is used only once. You may use
* this method to set task name when executing jobs directly, without explicitly
- * defining {@link org.apache.ignite.compute.ComputeTask}.
+ * defining {@link ComputeTask}.
* <p>
* Here is an example.
* <pre name="code" class="java">
@@ -391,7 +394,7 @@ public interface IgniteCompute extends IgniteAsyncSupport {
* <p>
* This method has no effect if the class passed in was already deployed.
*
- * @param taskCls Task class to deploy. If task class has {@link org.apache.ignite.compute.ComputeTaskName} annotation,
+ * @param taskCls Task class to deploy. If task class has {@link ComputeTaskName} annotation,
* then task will be deployed under the name specified within annotation. Otherwise, full
* class name will be used as task's name.
* @param clsLdr Task class loader. This class loader is in charge
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fa69fe88/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheConfiguration.java b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheConfiguration.java
index cb082fb..dff9bdc 100644
--- a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheConfiguration.java
+++ b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheConfiguration.java
@@ -9,6 +9,10 @@
package org.gridgain.grid.cache;
+import org.apache.ignite.Ignite;
+import org.apache.ignite.configuration.IgniteConfiguration;
+import org.apache.ignite.portables.PortableObject;
+import org.apache.ignite.spi.indexing.*;
import org.gridgain.grid.cache.affinity.*;
import org.gridgain.grid.cache.affinity.consistenthash.*;
import org.gridgain.grid.cache.cloner.*;
@@ -24,21 +28,17 @@ import java.util.*;
/**
* This class defines grid cache configuration. This configuration is passed to
- * grid via {@link org.apache.ignite.configuration.IgniteConfiguration#getCacheConfiguration()} method. It defines all configuration
+ * grid via {@link IgniteConfiguration#getCacheConfiguration()} method. It defines all configuration
* parameters required to start a cache within grid instance. You can have multiple caches
* configured with different names within one grid.
* <p>
* Cache configuration is set on {@link
- * org.apache.ignite.configuration.IgniteConfiguration#setCacheConfiguration(GridCacheConfiguration...)} method. This adapter is a simple bean and
+ * IgniteConfiguration#setCacheConfiguration(GridCacheConfiguration...)} method. This adapter is a simple bean and
* can be configured from Spring XML files (or other DI frameworks). <p> Note that absolutely all configuration
* properties are optional, so users should only change what they need.
*/
@SuppressWarnings("RedundantFieldInitialization")
public class GridCacheConfiguration extends MutableConfiguration {
- /** DGC tracing logger name. */
- public static final String DGC_TRACE_LOGGER_NAME =
- "org.gridgain.grid.kernal.processors.cache.GridCacheDgcManager.trace";
-
/** Default atomic sequence reservation size. */
public static final int DFLT_ATOMIC_SEQUENCE_RESERVE_SIZE = 1000;
@@ -96,15 +96,6 @@ public class GridCacheConfiguration extends MutableConfiguration {
/** Default preload batch size in bytes. */
public static final int DFLT_PRELOAD_BATCH_SIZE = 512 * 1024; // 512K
- /** Default distributed garbage collection frequency. */
- public static final long DFLT_DGC_FREQUENCY = 10000;
-
- /** Default timeout for lock not to be considered as suspicious. */
- public static final long DFLT_DGC_SUSPECT_LOCK_TIMEOUT = 10000;
-
- /** Default value for whether DGC should remove long running locks, or only report them. */
- public static final boolean DFLT_DGC_REMOVE_LOCKS = true;
-
/** Default maximum eviction queue ratio. */
public static final float DFLT_MAX_EVICTION_OVERFLOW_RATIO = 10;
@@ -274,15 +265,6 @@ public class GridCacheConfiguration extends MutableConfiguration {
/** Preload batch size. */
private int preloadBatchSize = DFLT_PRELOAD_BATCH_SIZE;
- /** Distributed garbage collection frequency. */
- private long dgcFreq = DFLT_DGC_FREQUENCY;
-
- /** Timeout after which DGC will consider remote locks as suspects. */
- private long dgcSuspectLockTimeout = DFLT_DGC_SUSPECT_LOCK_TIMEOUT;
-
- /** Flag indicating whether DGC should remove locks. */
- private boolean dgcRmvLocks = DFLT_DGC_REMOVE_LOCKS;
-
/** Off-heap memory size. */
private long offHeapMaxMem = DFLT_OFFHEAP_MEMORY;
@@ -367,9 +349,6 @@ public class GridCacheConfiguration extends MutableConfiguration {
cloner = cc.getCloner();
dfltLockTimeout = cc.getDefaultLockTimeout();
dfltQryTimeout = cc.getDefaultQueryTimeout();
- dgcFreq = cc.getDgcFrequency();
- dgcRmvLocks = cc.isDgcRemoveLocks();
- dgcSuspectLockTimeout = cc.getDgcSuspectLockTimeout();
distro = cc.getDistributionMode();
eagerTtl = cc.isEagerTtl();
evictFilter = cc.getEvictionFilter();
@@ -419,8 +398,8 @@ public class GridCacheConfiguration extends MutableConfiguration {
/**
* Cache name. If not provided or {@code null}, then this will be considered a default
- * cache which can be accessed via {@link org.apache.ignite.Ignite#cache(String) Grid.cache(null)} method. Otherwise, if name
- * is provided, the cache will be accessed via {@link org.apache.ignite.Ignite#cache(String)} method.
+ * cache which can be accessed via {@link Ignite#cache(String) Grid.cache(null)} method. Otherwise, if name
+ * is provided, the cache will be accessed via {@link Ignite#cache(String)} method.
*
* @return Cache name.
*/
@@ -1105,78 +1084,6 @@ public class GridCacheConfiguration extends MutableConfiguration {
}
/**
- * Gets frequency at which distributed garbage collector will
- * check other nodes if there are any zombie locks left over.
- * <p>
- * If not provided, default value is {@link GridCacheConfiguration#DFLT_DGC_FREQUENCY}.
- *
- * @return Frequency of distributed GC in milliseconds ({@code 0} to disable GC).
- */
- public long getDgcFrequency() {
- return dgcFreq;
- }
-
- /**
- * Sets frequency in milliseconds for internal distributed garbage collector. Pass {@code 0} to disable distributed
- * garbage collection. <p> If not provided, default value is {@link GridCacheConfiguration#DFLT_DGC_FREQUENCY}.
- *
- * @param dgcFreq Frequency of distributed GC in milliseconds ({@code 0} to disable GC).
- */
- public void setDgcFrequency(long dgcFreq) {
- this.dgcFreq = dgcFreq;
- }
-
- /**
- * Gets timeout after which locks are considered to be suspicious.
- * <p>
- * If not provided, default value is {@link GridCacheConfiguration#DFLT_DGC_SUSPECT_LOCK_TIMEOUT}.
- *
- * @return Distributed GC suspect lock timeout.
- */
- public long getDgcSuspectLockTimeout() {
- return dgcSuspectLockTimeout;
- }
-
- /**
- * Sets suspect lock timeout in milliseconds for internal distributed garbage collector. If lock's lifetime is
- * greater than the timeout, then lock is considered to be suspicious. <p> If not provided, default value is {@link
- * GridCacheConfiguration#DFLT_DGC_SUSPECT_LOCK_TIMEOUT}.
- *
- * @param dgcSuspectLockTimeout Timeout in milliseconds.
- */
- public void setDgcSuspectLockTimeout(long dgcSuspectLockTimeout) {
- this.dgcSuspectLockTimeout = dgcSuspectLockTimeout;
- }
-
- /**
- * Gets system-wide flag indicating whether DGC manager should remove locks in question or only
- * report them. Note, that this behavior could be overridden by specifically calling
- * {@link GridCache#dgc(long, boolean, boolean)} method.
- * <p>
- * If {@code false} DGC manager will not release the locks that are not owned by any other node.
- * This may be useful for debugging purposes. You may also enable DGC tracing by enabling DEBUG
- * on {@link #DGC_TRACE_LOGGER_NAME} category.
- * <p>
- * If not provided, default value is {@link GridCacheConfiguration#DFLT_DGC_REMOVE_LOCKS}.
- *
- * @return {@code True} if DGC should remove locks.
- * @see #DGC_TRACE_LOGGER_NAME
- */
- public boolean isDgcRemoveLocks() {
- return dgcRmvLocks;
- }
-
- /**
- * Sets DGC remove locks flag.
- *
- * @param dgcRmvLocks {@code True} to remove locks.
- * @see #isDgcRemoveLocks()
- */
- public void setDgcRemoveLocks(boolean dgcRmvLocks) {
- this.dgcRmvLocks = dgcRmvLocks;
- }
-
- /**
* Flag indicating whether GridGain should use swap storage by default. By default
* swap is disabled which is defined via {@link #DFLT_SWAP_ENABLED} constant.
* <p>
@@ -1562,7 +1469,7 @@ public class GridCacheConfiguration extends MutableConfiguration {
* SPI is configured. In majority of the cases default value should be used.
*
* @return Name of SPI to use for indexing.
- * @see org.apache.ignite.spi.indexing.IndexingSpi
+ * @see GridIndexingSpi
*/
public String getIndexingSpiName() {
return indexingSpiName;
@@ -1576,7 +1483,7 @@ public class GridCacheConfiguration extends MutableConfiguration {
* SPI is configured. In majority of the cases default value should be used.
*
* @param indexingSpiName Name.
- * @see org.apache.ignite.spi.indexing.IndexingSpi
+ * @see GridIndexingSpi
*/
public void setIndexingSpiName(String indexingSpiName) {
this.indexingSpiName = indexingSpiName;
@@ -1744,7 +1651,7 @@ public class GridCacheConfiguration extends MutableConfiguration {
/**
* Flag indicating whether GridGain should store portable keys and values
- * as instances of {@link org.apache.ignite.portables.PortableObject}.
+ * as instances of {@link PortableObject}.
*
* @return Portable enabled flag.
*/
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fa69fe88/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAttributes.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAttributes.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAttributes.java
index 0d659f6..531f816 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAttributes.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAttributes.java
@@ -12,7 +12,6 @@ package org.gridgain.grid.kernal.processors.cache;
import org.gridgain.grid.cache.*;
import org.gridgain.grid.cache.affinity.*;
import org.gridgain.grid.cache.affinity.consistenthash.*;
-import org.gridgain.grid.kernal.processors.cache.dr.*;
import org.gridgain.grid.util.typedef.internal.*;
import org.jetbrains.annotations.*;
@@ -70,15 +69,6 @@ public class GridCacheAttributes implements Externalizable {
/** Preload batch size. */
private int preloadBatchSize;
- /** Distributed garbage collection frequency. */
- private long dgcFreq;
-
- /** Timeout after which DGC will consider remote locks as suspects. */
- private long dgcSuspectLockTimeout;
-
- /** Flag indicating whether DGC should remove locks. */
- private boolean dgcRmvLocks;
-
/** Synchronization mode. */
private GridCacheWriteSynchronizationMode writeSyncMode;
@@ -162,9 +152,6 @@ public class GridCacheAttributes implements Externalizable {
cacheMode = cfg.getCacheMode();
dfltLockTimeout = cfg.getDefaultLockTimeout();
dfltQryTimeout = cfg.getDefaultQueryTimeout();
- dgcFreq = cfg.getDgcFrequency();
- dgcRmvLocks = cfg.isDgcRemoveLocks();
- dgcSuspectLockTimeout = cfg.getDgcSuspectLockTimeout();
evictMaxOverflowRatio = cfg.getEvictMaxOverflowRatio();
evictNearSync = cfg.isEvictNearSynchronized();
evictSync = cfg.isEvictSynchronized();
@@ -439,27 +426,6 @@ public class GridCacheAttributes implements Externalizable {
}
/**
- * @return Distributed garbage collection frequency.
- */
- public long dgcFrequency() {
- return dgcFreq;
- }
-
- /**
- * @return Timeout after which DGC will consider remote locks as suspects.
- */
- public long dgcSuspectLockTimeout() {
- return dgcSuspectLockTimeout;
- }
-
- /**
- * @return Flag indicating whether DGC should remove locks.
- */
- public boolean dgcRemoveLocks() {
- return dgcRmvLocks;
- }
-
- /**
* @return Synchronization mode.
*/
public GridCacheWriteSynchronizationMode writeSynchronization() {
@@ -535,9 +501,6 @@ public class GridCacheAttributes implements Externalizable {
U.writeEnum0(out, cacheMode);
out.writeLong(dfltLockTimeout);
out.writeLong(dfltQryTimeout);
- out.writeLong(dgcFreq);
- out.writeBoolean(dgcRmvLocks);
- out.writeLong(dgcSuspectLockTimeout);
out.writeFloat(evictMaxOverflowRatio);
out.writeBoolean(evictNearSync);
out.writeBoolean(evictSync);
@@ -582,9 +545,6 @@ public class GridCacheAttributes implements Externalizable {
cacheMode = GridCacheMode.fromOrdinal(U.readEnumOrdinal0(in));
dfltLockTimeout = in.readLong();
dfltQryTimeout = in.readLong();
- dgcFreq = in.readLong();
- dgcRmvLocks = in.readBoolean();
- dgcSuspectLockTimeout = in.readLong();
evictMaxOverflowRatio = in.readFloat();
evictNearSync = in.readBoolean();
evictSync = in.readBoolean();
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fa69fe88/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCachePartitionExchangeManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCachePartitionExchangeManager.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCachePartitionExchangeManager.java
index a553dd5..b0c319d 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCachePartitionExchangeManager.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCachePartitionExchangeManager.java
@@ -756,7 +756,7 @@ public class GridCachePartitionExchangeManager<K, V> extends GridCacheSharedMana
busy = true;
- Map<Integer, GridDhtPreloaderAssignments<K, V>> assignsMap = null;
+ Map<Integer, GridDhtPreloaderAssignments<K, V>> assignsMap = new HashMap<>();
boolean dummyReassign = exchFut.dummyReassign();
boolean forcePreload = exchFut.forcePreload();
@@ -820,17 +820,13 @@ public class GridCachePartitionExchangeManager<K, V> extends GridCacheSharedMana
for (GridCacheContext<K, V> cacheCtx : cctx.cacheContexts()) {
long delay = cacheCtx.config().getPreloadPartitionedDelay();
- // Don't delay for dummy reassigns to avoid infinite recursion.
- if (delay == 0 || forcePreload) {
- GridDhtPreloaderAssignments<K, V> assigns = cacheCtx.preloader().assign(exchFut);
+ GridDhtPreloaderAssignments<K, V> assigns = null;
- if (assigns != null) {
- if (assignsMap == null)
- assignsMap = new HashMap<>();
+ // Don't delay for dummy reassigns to avoid infinite recursion.
+ if (delay == 0 || forcePreload)
+ assigns = cacheCtx.preloader().assign(exchFut);
- assignsMap.put(cacheCtx.cacheId(), assigns);
- }
- }
+ assignsMap.put(cacheCtx.cacheId(), assigns);
}
}
finally {
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fa69fe88/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProcessor.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProcessor.java
index a083805..1c08267 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProcessor.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProcessor.java
@@ -1071,25 +1071,9 @@ public class GridCacheProcessor extends GridProcessorAdapter {
"Default query timeout", locAttr.defaultQueryTimeout(), rmtAttr.defaultQueryTimeout(),
false);
- CU.checkAttributeMismatch(log, rmtAttr.cacheName(), rmt, "dgcFrequency",
- "Distributed garbage collector frequency", locAttr.dgcFrequency(), rmtAttr.dgcFrequency(),
- false);
-
CU.checkAttributeMismatch(log, rmtAttr.cacheName(), rmt, "defaultTimeToLive",
"Default time to live", locAttr.defaultTimeToLive(), rmtAttr.defaultTimeToLive(), false);
- CU.checkAttributeMismatch(log, rmtAttr.cacheName(), rmt, "dgcFrequency",
- "Distributed garbage collector frequency", locAttr.dgcFrequency(), rmtAttr.dgcFrequency(),
- false);
-
- CU.checkAttributeMismatch(log, rmtAttr.cacheName(), rmt, "dgcRemoveLocks",
- "Distributed garbage collector remove locks", locAttr.dgcRemoveLocks(),
- rmtAttr.dgcRemoveLocks(), false);
-
- CU.checkAttributeMismatch(log, rmtAttr.cacheName(), rmt, "dgcSuspectLockTimeout",
- "Distributed garbage collector suspect lock timeout", locAttr.dgcSuspectLockTimeout(),
- rmtAttr.dgcSuspectLockTimeout(), false);
-
CU.checkAttributeMismatch(log, rmtAttr.cacheName(), rmt, "preloadBatchSize",
"Preload batch size", locAttr.preloadBatchSize(), rmtAttr.preloadBatchSize(), false);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fa69fe88/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemandPool.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemandPool.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemandPool.java
index ac0b7e6..17291aa 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemandPool.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemandPool.java
@@ -568,7 +568,7 @@ public class GridDhtPartitionDemandPool<K, V> {
* @param exchFut Exchange future.
* @return Missed partitions.
* @throws InterruptedException If interrupted.
- * @throws org.apache.ignite.cluster.ClusterTopologyException If node left.
+ * @throws ClusterTopologyException If node left.
* @throws IgniteCheckedException If failed to send message.
*/
private Set<Integer> demandFromNode(ClusterNode node, final long topVer, GridDhtPartitionDemandMessage<K, V> d,
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fa69fe88/modules/core/src/main/java/org/gridgain/grid/kernal/visor/cache/VisorCacheDgcConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/visor/cache/VisorCacheDgcConfiguration.java b/modules/core/src/main/java/org/gridgain/grid/kernal/visor/cache/VisorCacheDgcConfiguration.java
index e030dc4..be170c6 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/visor/cache/VisorCacheDgcConfiguration.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/visor/cache/VisorCacheDgcConfiguration.java
@@ -37,10 +37,6 @@ public class VisorCacheDgcConfiguration implements Serializable {
public static VisorCacheDgcConfiguration from(GridCacheConfiguration ccfg) {
VisorCacheDgcConfiguration cfg = new VisorCacheDgcConfiguration();
- cfg.frequency(ccfg.getDgcFrequency());
- cfg.removedLocks(ccfg.isDgcRemoveLocks());
- cfg.suspectLockTimeout(ccfg.getDgcSuspectLockTimeout());
-
return cfg;
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fa69fe88/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridCacheDhtLockBackupSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridCacheDhtLockBackupSelfTest.java b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridCacheDhtLockBackupSelfTest.java
index 5031b2f..4445aaf 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridCacheDhtLockBackupSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridCacheDhtLockBackupSelfTest.java
@@ -14,8 +14,6 @@ import org.apache.ignite.configuration.*;
import org.apache.ignite.lang.*;
import org.apache.ignite.marshaller.*;
import org.apache.ignite.marshaller.jdk.*;
-import org.apache.ignite.resources.*;
-import org.gridgain.grid.*;
import org.gridgain.grid.cache.*;
import org.gridgain.grid.kernal.managers.communication.*;
import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
@@ -85,7 +83,6 @@ public class GridCacheDhtLockBackupSelfTest extends GridCommonAbstractTest {
cacheCfg.setCacheMode(GridCacheMode.PARTITIONED);
cacheCfg.setWriteSynchronizationMode(FULL_ASYNC);
cacheCfg.setPreloadMode(SYNC);
- cacheCfg.setDgcFrequency(0);
return cacheCfg;
}
@@ -232,10 +229,6 @@ public class GridCacheDhtLockBackupSelfTest extends GridCommonAbstractTest {
/** */
private int delayTime;
- /** */
- @IgniteMarshallerResource
- private IgniteMarshaller marsh;
-
/**
* Creates test communication spi.
*
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fa69fe88/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFailoverSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFailoverSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFailoverSelfTest.java
index aa0b031..21851f7 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFailoverSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFailoverSelfTest.java
@@ -14,7 +14,6 @@ import org.apache.ignite.cluster.*;
import org.apache.ignite.configuration.*;
import org.apache.ignite.lang.*;
import org.apache.ignite.resources.*;
-import org.gridgain.grid.*;
import org.gridgain.grid.cache.*;
import org.gridgain.grid.util.typedef.*;
import org.gridgain.grid.util.typedef.internal.*;
@@ -70,7 +69,6 @@ public abstract class GridCacheAbstractFailoverSelfTest extends GridCacheAbstrac
GridCacheConfiguration cfg = super.cacheConfiguration(gridName);
cfg.setPreloadMode(SYNC);
- cfg.setDgcFrequency(0);
return cfg;
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fa69fe88/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractRemoveFailureTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractRemoveFailureTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractRemoveFailureTest.java
index 6686911..938a4a8 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractRemoveFailureTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractRemoveFailureTest.java
@@ -11,7 +11,6 @@ package org.gridgain.grid.kernal.processors.cache;
import org.apache.ignite.*;
import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
import org.gridgain.grid.cache.*;
import org.gridgain.grid.util.typedef.*;
import org.gridgain.grid.util.typedef.internal.*;
@@ -98,14 +97,6 @@ public abstract class GridCacheAbstractRemoveFailureTest extends GridCacheAbstra
return DUR + 60_000;
}
- @Override protected GridCacheConfiguration cacheConfiguration(String gridName) throws Exception {
- GridCacheConfiguration cfg = super.cacheConfiguration(gridName);
-
- cfg.setDgcFrequency(0);
-
- return cfg;
- }
-
/**
* @throws Exception If failed.
*/
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fa69fe88/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockFailoverSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockFailoverSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockFailoverSelfTest.java
index c812755..241de60 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockFailoverSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockFailoverSelfTest.java
@@ -15,7 +15,6 @@ import org.apache.ignite.cluster.*;
import org.apache.ignite.compute.*;
import org.apache.ignite.configuration.*;
import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
import org.gridgain.grid.cache.*;
import org.apache.ignite.spi.discovery.tcp.*;
import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
@@ -436,8 +435,6 @@ public class GridCacheGroupLockFailoverSelfTest extends GridCommonAbstractTest {
cacheCfg.setCacheMode(GridCacheMode.PARTITIONED);
cacheCfg.setStartSize(4500000);
cacheCfg.setBackups(backups);
- cacheCfg.setDgcSuspectLockTimeout(600000);
- cacheCfg.setDgcFrequency(0);
cacheCfg.setStoreValueBytes(true);
cacheCfg.setDistributionMode(nearEnabled ? NEAR_PARTITIONED : PARTITIONED_ONLY);
cacheCfg.setQueryIndexEnabled(false);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fa69fe88/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCachePutAllFailoverSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCachePutAllFailoverSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCachePutAllFailoverSelfTest.java
index 7998316..683cbd1 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCachePutAllFailoverSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCachePutAllFailoverSelfTest.java
@@ -8,7 +8,6 @@ import org.apache.ignite.configuration.*;
import org.apache.ignite.lang.*;
import org.apache.ignite.resources.*;
import org.apache.ignite.spi.*;
-import org.gridgain.grid.*;
import org.gridgain.grid.cache.*;
import org.apache.ignite.spi.discovery.tcp.*;
import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
@@ -606,8 +605,6 @@ public class GridCachePutAllFailoverSelfTest extends GridCommonAbstractTest {
cacheCfg.setBackups(backups);
- cacheCfg.setDgcSuspectLockTimeout(600000);
- cacheCfg.setDgcFrequency(0);
cacheCfg.setStoreValueBytes(true);
cacheCfg.setDistributionMode(nearEnabled ? NEAR_PARTITIONED : PARTITIONED_ONLY);
cacheCfg.setQueryIndexEnabled(false);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fa69fe88/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReferenceCleanupSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReferenceCleanupSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReferenceCleanupSelfTest.java
index 4602445..c01bb78 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReferenceCleanupSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReferenceCleanupSelfTest.java
@@ -56,7 +56,6 @@ public class GridCacheReferenceCleanupSelfTest extends GridCommonAbstractTest {
cacheCfg.setCacheMode(mode);
cacheCfg.setWriteSynchronizationMode(GridCacheWriteSynchronizationMode.FULL_SYNC);
- cacheCfg.setDgcRemoveLocks(false);
cacheCfg.setAtomicityMode(TRANSACTIONAL);
cacheCfg.setDistributionMode(NEAR_PARTITIONED);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fa69fe88/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheQueueMultiNodeConsistencySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheQueueMultiNodeConsistencySelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheQueueMultiNodeConsistencySelfTest.java
index 54f70cf..8a12639 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheQueueMultiNodeConsistencySelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheQueueMultiNodeConsistencySelfTest.java
@@ -67,7 +67,6 @@ public class GridCacheQueueMultiNodeConsistencySelfTest extends GridCommonAbstra
c.setDiscoverySpi(spi);
cc.setCacheMode(PARTITIONED);
- cc.setDgcFrequency(0);
cc.setQueryIndexEnabled(true);
cc.setSwapEnabled(false);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fa69fe88/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/partitioned/GridCachePartitionedQueueMultiNodeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/partitioned/GridCachePartitionedQueueMultiNodeSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/partitioned/GridCachePartitionedQueueMultiNodeSelfTest.java
index e42d53b..1068e41 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/partitioned/GridCachePartitionedQueueMultiNodeSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/partitioned/GridCachePartitionedQueueMultiNodeSelfTest.java
@@ -32,7 +32,6 @@ public class GridCachePartitionedQueueMultiNodeSelfTest extends GridCacheQueueMu
cc.setCacheMode(PARTITIONED);
cc.setBackups(1);
cc.setWriteSynchronizationMode(FULL_SYNC);
- cc.setDgcFrequency(0);
cc.setAtomicityMode(TRANSACTIONAL);
cc.setDistributionMode(PARTITIONED_ONLY);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fa69fe88/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheMultithreadedFailoverAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheMultithreadedFailoverAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheMultithreadedFailoverAbstractTest.java
index cab17f0..c7bab9b 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheMultithreadedFailoverAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheMultithreadedFailoverAbstractTest.java
@@ -12,7 +12,6 @@ package org.gridgain.grid.kernal.processors.cache.distributed;
import org.apache.ignite.*;
import org.apache.ignite.configuration.*;
import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
import org.gridgain.grid.cache.*;
import org.gridgain.grid.kernal.processors.cache.*;
import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;
@@ -198,8 +197,6 @@ public class GridCacheMultithreadedFailoverAbstractTest extends GridCommonAbstra
ccfg.setEvictionPolicy(null);
ccfg.setNearEvictionPolicy(null);
- ccfg.setDgcFrequency(0);
-
if (cacheMode() == PARTITIONED)
ccfg.setBackups(backups());
@@ -243,7 +240,7 @@ public class GridCacheMultithreadedFailoverAbstractTest extends GridCommonAbstra
final CyclicBarrier startBarrier = new CyclicBarrier(putThreads());
- final ConcurrentHashMap<Integer, Integer> expVals = new ConcurrentHashMap<>();
+ final Map<Integer, Integer> expVals = new ConcurrentHashMap<>();
final int keysPerThread = keyRange() / putThreads();
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fa69fe88/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxPessimisticOriginatingNodeFailureAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxPessimisticOriginatingNodeFailureAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxPessimisticOriginatingNodeFailureAbstractSelfTest.java
index ec20f23..8204e50 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxPessimisticOriginatingNodeFailureAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxPessimisticOriginatingNodeFailureAbstractSelfTest.java
@@ -429,7 +429,6 @@ public abstract class GridCacheTxPessimisticOriginatingNodeFailureAbstractSelfTe
GridCacheConfiguration cfg = super.cacheConfiguration(gridName);
cfg.setStore(null);
- cfg.setDgcFrequency(0);
return cfg;
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fa69fe88/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheDhtPreloadDelayedSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheDhtPreloadDelayedSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheDhtPreloadDelayedSelfTest.java
index ba1d3c3..9a21a5c 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheDhtPreloadDelayedSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheDhtPreloadDelayedSelfTest.java
@@ -170,7 +170,7 @@ public class GridCacheDhtPreloadDelayedSelfTest extends GridCommonAbstractTest {
}
/** @throws Exception If failed. */
- public void _testDelayedPreload() throws Exception { // TODO GG-9141
+ public void testDelayedPreload() throws Exception {
delay = PRELOAD_DELAY;
Ignite g0 = startGrid(0);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fa69fe88/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedExplicitLockNodeFailureSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedExplicitLockNodeFailureSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedExplicitLockNodeFailureSelfTest.java
index 64f13d1..fd9caf8 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedExplicitLockNodeFailureSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedExplicitLockNodeFailureSelfTest.java
@@ -53,7 +53,6 @@ public class GridCachePartitionedExplicitLockNodeFailureSelfTest extends GridCom
GridCacheConfiguration cc = defaultCacheConfiguration();
cc.setCacheMode(PARTITIONED);
- cc.setDgcFrequency(0);
cc.setWriteSynchronizationMode(GridCacheWriteSynchronizationMode.FULL_SYNC);
cc.setBackups(GRID_CNT - 1);
cc.setAtomicityMode(TRANSACTIONAL);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fa69fe88/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedMultiNodeLockSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedMultiNodeLockSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedMultiNodeLockSelfTest.java
index ba4e427..f04e2db 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedMultiNodeLockSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedMultiNodeLockSelfTest.java
@@ -30,7 +30,6 @@ public class GridCachePartitionedMultiNodeLockSelfTest extends GridCacheMultiNod
cc.setCacheMode(PARTITIONED);
cc.setBackups(2); // 2 backups, so all nodes are involved.
- cc.setDgcFrequency(0);
cc.setAtomicityMode(TRANSACTIONAL);
cc.setDistributionMode(NEAR_PARTITIONED);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fa69fe88/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedNodeFailureSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedNodeFailureSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedNodeFailureSelfTest.java
index 4ea7431..da1ee9b 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedNodeFailureSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedNodeFailureSelfTest.java
@@ -30,7 +30,6 @@ public class GridCachePartitionedNodeFailureSelfTest extends GridCacheNodeFailur
GridCacheConfiguration cc = defaultCacheConfiguration();
cc.setCacheMode(PARTITIONED);
- cc.setDgcFrequency(0);
cc.setWriteSynchronizationMode(GridCacheWriteSynchronizationMode.FULL_SYNC);
cc.setAtomicityMode(TRANSACTIONAL);
cc.setDistributionMode(NEAR_PARTITIONED);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fa69fe88/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedNodeRestartTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedNodeRestartTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedNodeRestartTest.java
index e8d0b41..aed997d 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedNodeRestartTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedNodeRestartTest.java
@@ -40,7 +40,6 @@ public class GridCachePartitionedNodeRestartTest extends GridCacheAbstractNodeRe
cc.setPreloadBatchSize(preloadBatchSize);
cc.setAffinity(new GridCacheConsistentHashAffinityFunction(false, partitions));
cc.setBackups(backups);
- cc.setDgcFrequency(0);
c.setCacheConfiguration(cc);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fa69fe88/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedOptimisticTxNodeRestartTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedOptimisticTxNodeRestartTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedOptimisticTxNodeRestartTest.java
index 90baf34..cf551a3 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedOptimisticTxNodeRestartTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedOptimisticTxNodeRestartTest.java
@@ -38,7 +38,6 @@ public class GridCachePartitionedOptimisticTxNodeRestartTest extends GridCacheAb
cc.setPreloadBatchSize(preloadBatchSize);
cc.setAffinity(new GridCacheConsistentHashAffinityFunction(false, partitions));
cc.setBackups(backups);
- cc.setDgcFrequency(0);
c.setCacheConfiguration(cc);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fa69fe88/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxSalvageSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxSalvageSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxSalvageSelfTest.java
index 3ba8a10..7dee9bf 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxSalvageSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxSalvageSelfTest.java
@@ -12,7 +12,6 @@ package org.gridgain.grid.kernal.processors.cache.distributed.near;
import org.apache.ignite.*;
import org.apache.ignite.configuration.*;
import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
import org.gridgain.grid.cache.*;
import org.gridgain.grid.cache.affinity.consistenthash.*;
import org.gridgain.grid.kernal.*;
@@ -71,7 +70,6 @@ public class GridCachePartitionedTxSalvageSelfTest extends GridCommonAbstractTes
cc.setAffinity(new GridCacheConsistentHashAffinityFunction(false, 18));
cc.setBackups(1);
cc.setPreloadMode(GridCachePreloadMode.SYNC);
- cc.setDgcFrequency(0);
c.setCacheConfiguration(cc);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fa69fe88/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePutArrayValueSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePutArrayValueSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePutArrayValueSelfTest.java
index 1785cb5..e1ce455 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePutArrayValueSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePutArrayValueSelfTest.java
@@ -10,7 +10,6 @@
package org.gridgain.grid.kernal.processors.cache.distributed.near;
import org.gridgain.grid.cache.*;
-import org.gridgain.grid.cache.affinity.consistenthash.*;
import org.gridgain.grid.kernal.processors.cache.*;
import org.gridgain.grid.util.typedef.internal.*;
@@ -33,7 +32,6 @@ public class GridCachePutArrayValueSelfTest extends GridCacheAbstractSelfTest {
cacheCfg.setCacheMode(PARTITIONED);
cacheCfg.setBackups(1);
- cacheCfg.setDgcFrequency(0);
return cacheCfg;
}
[05/18] incubator-ignite git commit: GG-9141 - Enabling passing tests.
Posted by sb...@apache.org.
GG-9141 - Enabling passing tests.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/8963d290
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/8963d290
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/8963d290
Branch: refs/heads/ignite-41
Commit: 8963d2902965b13d42d7b271b8d2e8afc0d6ea29
Parents: 0cb0c33
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Sun Dec 14 10:45:25 2014 -0800
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Sun Dec 14 10:45:25 2014 -0800
----------------------------------------------------------------------
.../processors/cache/GridCacheAbstractProjectionSelfTest.java | 4 ++--
.../org/gridgain/testsuites/bamboo/GridDataGridTestSuite.java | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8963d290/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractProjectionSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractProjectionSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractProjectionSelfTest.java
index 890d8f7..9c0437f 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractProjectionSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractProjectionSelfTest.java
@@ -588,7 +588,7 @@ public abstract class GridCacheAbstractProjectionSelfTest extends GridCacheAbstr
/**
* @throws Exception if failed.
*/
- public void _testSkipStoreFlag() throws Exception { // TODO GG-9141
+ public void testSkipStoreFlag() throws Exception {
assertNull(cache().put("kk1", 100500));
assertEquals(100500, map.get("kk1"));
@@ -616,7 +616,7 @@ public abstract class GridCacheAbstractProjectionSelfTest extends GridCacheAbstr
startGrid(i);
try {
- _testSkipStoreFlag();
+ testSkipStoreFlag();
}
finally {
for (int i = 1; i < nGrids; i++)
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8963d290/modules/core/src/test/java/org/gridgain/testsuites/bamboo/GridDataGridTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/testsuites/bamboo/GridDataGridTestSuite.java b/modules/core/src/test/java/org/gridgain/testsuites/bamboo/GridDataGridTestSuite.java
index c2fe016..3059c4e 100644
--- a/modules/core/src/test/java/org/gridgain/testsuites/bamboo/GridDataGridTestSuite.java
+++ b/modules/core/src/test/java/org/gridgain/testsuites/bamboo/GridDataGridTestSuite.java
@@ -95,7 +95,7 @@ public class GridDataGridTestSuite extends TestSuite {
suite.addTestSuite(GridCacheOffHeapTieredSelfTest.class);
// Local cache.
-// suite.addTestSuite(GridCacheLocalProjectionSelfTest.class);
+ suite.addTestSuite(GridCacheLocalProjectionSelfTest.class);
suite.addTestSuite(GridCacheLocalAtomicProjectionSelfTest.class);
// suite.addTestSuite(GridCacheLocalBasicApiSelfTest.class);
// suite.addTestSuite(GridCacheLocalBasicStoreSelfTest.class);
[04/18] incubator-ignite git commit: GG-9141 - Fixing tests for
clients suite.
Posted by sb...@apache.org.
GG-9141 - Fixing tests for clients suite.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/0cb0c334
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/0cb0c334
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/0cb0c334
Branch: refs/heads/ignite-41
Commit: 0cb0c334f10e512ca546611609052aee012c5b59
Parents: ee2df1d
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Sun Dec 14 10:42:59 2014 -0800
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Sun Dec 14 10:42:59 2014 -0800
----------------------------------------------------------------------
.../GridClientAbstractMultiNodeSelfTest.java | 9 +++--
.../client/suite/GridClientTestSuite.java | 4 ---
.../processors/cache/GridCacheAdapter.java | 13 +++++--
.../processors/cache/GridCacheTxAdapter.java | 36 ++++++++++++++++++--
.../kernal/processors/cache/GridCacheTxEx.java | 8 ++++-
.../processors/cache/GridCacheTxHandler.java | 4 ++-
.../cache/GridCacheTxLocalAdapter.java | 29 ++++------------
.../processors/cache/GridCacheTxManager.java | 2 ++
.../dht/GridDhtTransactionalCacheAdapter.java | 2 ++
.../distributed/dht/GridDhtTxLocalAdapter.java | 19 ++---------
.../colocated/GridDhtColocatedLockFuture.java | 2 +-
.../distributed/near/GridNearLockFuture.java | 2 +-
.../distributed/near/GridNearLockRequest.java | 25 ++++++++++++++
.../cache/distributed/near/GridNearTxLocal.java | 15 +++++---
.../processors/cache/local/GridLocalTx.java | 2 +-
.../transactions/IgniteTransactionsImpl.java | 7 +++-
.../handlers/cache/GridCacheCommandHandler.java | 1 -
.../cache/jta/GridCacheJtaManager.java | 1 +
18 files changed, 118 insertions(+), 63 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0cb0c334/modules/clients/src/test/java/org/gridgain/client/integration/GridClientAbstractMultiNodeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/gridgain/client/integration/GridClientAbstractMultiNodeSelfTest.java b/modules/clients/src/test/java/org/gridgain/client/integration/GridClientAbstractMultiNodeSelfTest.java
index 96fb9d6..60ab835 100644
--- a/modules/clients/src/test/java/org/gridgain/client/integration/GridClientAbstractMultiNodeSelfTest.java
+++ b/modules/clients/src/test/java/org/gridgain/client/integration/GridClientAbstractMultiNodeSelfTest.java
@@ -23,7 +23,6 @@ import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
import org.gridgain.client.*;
import org.gridgain.client.balancer.*;
import org.gridgain.client.ssl.*;
-import org.gridgain.grid.*;
import org.gridgain.grid.cache.*;
import org.gridgain.grid.kernal.*;
import org.gridgain.grid.kernal.managers.communication.*;
@@ -789,13 +788,13 @@ public abstract class GridClientAbstractMultiNodeSelfTest extends GridCommonAbst
GridCacheTxEx t = tm.tx(v);
if (t.hasWriteKey(cacheCtx.txKey("x1")))
- assertFalse(t.syncCommit());
+ assertFalse("Invalid tx flags: " + t, t.syncCommit());
else if (t.hasWriteKey(cacheCtx.txKey("x2")))
- assertTrue(t.syncCommit());
+ assertTrue("Invalid tx flags: " + t, t.syncCommit());
else if (t.hasWriteKey(cacheCtx.txKey("x3")))
- assertFalse(t.syncCommit());
+ assertFalse("Invalid tx flags: " + t, t.syncCommit());
else if (t.hasWriteKey(cacheCtx.txKey("x4")))
- assertTrue(t.syncCommit());
+ assertTrue("Invalid tx flags: " + t, t.syncCommit());
}
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0cb0c334/modules/clients/src/test/java/org/gridgain/client/suite/GridClientTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/gridgain/client/suite/GridClientTestSuite.java b/modules/clients/src/test/java/org/gridgain/client/suite/GridClientTestSuite.java
index ba503e1..db670e1 100644
--- a/modules/clients/src/test/java/org/gridgain/client/suite/GridClientTestSuite.java
+++ b/modules/clients/src/test/java/org/gridgain/client/suite/GridClientTestSuite.java
@@ -28,10 +28,6 @@ public class GridClientTestSuite extends TestSuite {
public static TestSuite suite() {
TestSuite suite = new TestSuite("Gridgain Clients Test Suite");
- // TODO GG-9141
- if (true)
- return suite;
-
suite.addTest(new TestSuite(GridRouterFactorySelfTest.class));
// Parser standalone test.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0cb0c334/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
index 4d136a1..720ff36 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
@@ -3210,7 +3210,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
val = (V)ctx.marshalToPortable(val);
}
- GridRawVersionedEntry<K, V> e = new GridRawVersionedEntry<>(key, null, val, null, ttl, 0, ver);
+ GridVersionedEntry<K,V> e = new GridRawVersionedEntry<>(key, null, val, null, ttl, 0, ver);
e.marshal(ctx.marshaller());
@@ -3607,11 +3607,15 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
READ_COMMITTED,
tCfg.getDefaultTxTimeout(),
ctx.hasFlag(INVALIDATE),
+ !ctx.hasFlag(SKIP_STORE),
0,
/** group lock keys */null,
/** partition lock */false
);
+ if (ctx.hasFlag(SYNC_COMMIT))
+ tx.syncCommit(true);
+
assert tx != null;
try {
@@ -3669,7 +3673,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
GridCacheTxLocalAdapter<K, V> tx = ctx.tm().threadLocalTx();
- if (tx == null || tx.implicit())
+ if (tx == null || tx.implicit()) {
tx = ctx.tm().newTx(
true,
op.single(),
@@ -3677,10 +3681,15 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
READ_COMMITTED,
ctx.kernalContext().config().getTransactionsConfiguration().getDefaultTxTimeout(),
ctx.hasFlag(INVALIDATE),
+ !ctx.hasFlag(SKIP_STORE),
0,
null,
false);
+ if (ctx.hasFlag(SYNC_COMMIT))
+ tx.syncCommit(true);
+ }
+
return asyncOp(tx, op);
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0cb0c334/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxAdapter.java
index 84045a2..7a32afa 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxAdapter.java
@@ -12,7 +12,6 @@ package org.gridgain.grid.kernal.processors.cache;
import org.apache.ignite.*;
import org.apache.ignite.cluster.*;
import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
import org.gridgain.grid.cache.*;
import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
import org.gridgain.grid.util.*;
@@ -188,7 +187,7 @@ public abstract class GridCacheTxAdapter<K, V> extends GridMetadataAwareAdapter
protected String taskName;
/** Store used flag. */
- protected boolean storeUsed;
+ protected boolean storeEnabled = true;
/**
* Empty constructor required for {@link Externalizable}.
@@ -219,6 +218,7 @@ public abstract class GridCacheTxAdapter<K, V> extends GridMetadataAwareAdapter
GridCacheTxIsolation isolation,
long timeout,
boolean invalidate,
+ boolean storeEnabled,
int txSize,
@Nullable GridCacheTxKey grpLockKey,
@Nullable UUID subjId,
@@ -236,6 +236,7 @@ public abstract class GridCacheTxAdapter<K, V> extends GridMetadataAwareAdapter
this.isolation = isolation;
this.timeout = timeout;
this.invalidate = invalidate;
+ this.storeEnabled = storeEnabled;
this.txSize = txSize;
this.grpLockKey = grpLockKey;
this.subjId = subjId;
@@ -381,8 +382,37 @@ public abstract class GridCacheTxAdapter<K, V> extends GridMetadataAwareAdapter
}
/** {@inheritDoc} */
+ @Override public boolean storeEnabled() {
+ return storeEnabled;
+ }
+
+ /**
+ * @param storeEnabled Store enabled flag.
+ */
+ public void storeEnabled(boolean storeEnabled) {
+ this.storeEnabled = storeEnabled;
+ }
+
+ /** {@inheritDoc} */
@Override public boolean storeUsed() {
- return storeUsed;
+ return storeEnabled() && store() != null;
+ }
+
+ /**
+ * Store manager for current transaction.
+ *
+ * @return Store manager.
+ */
+ protected GridCacheStoreManager<K, V> store() {
+ if (!activeCacheIds().isEmpty()) {
+ int cacheId = F.first(activeCacheIds());
+
+ GridCacheStoreManager<K, V> store = cctx.cacheContext(cacheId).store();
+
+ return store.configured() ? store : null;
+ }
+
+ return null;
}
/**
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0cb0c334/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxEx.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxEx.java
index f1c22ea..877c0f1 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxEx.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxEx.java
@@ -43,7 +43,13 @@ public interface GridCacheTxEx<K, V> extends GridCacheTx, GridTimeoutObject {
public int size();
/**
- * @return {@code True} if transaction involves caches with cache store configured.
+ * @return {@code True} if transaction is allowed to use store.
+ */
+ public boolean storeEnabled();
+
+ /**
+ * @return {@code True} if transaction is allowed to use store and transactions spans one or more caches with
+ * store enabled.
*/
public boolean storeUsed();
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0cb0c334/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxHandler.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxHandler.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxHandler.java
index e629d3f..fa85566 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxHandler.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxHandler.java
@@ -524,7 +524,9 @@ public class GridCacheTxHandler<K, V> {
return null;
}
- tx.syncCommit(req.syncCommit());
+ if (!tx.syncCommit())
+ tx.syncCommit(req.syncCommit());
+
tx.nearFinishFutureId(req.futureId());
tx.nearFinishMiniId(req.miniId());
tx.recoveryWrites(req.recoveryWrites());
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0cb0c334/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
index 2c52e0a..b7fa4b2 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
@@ -110,6 +110,7 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
GridCacheTxIsolation isolation,
long timeout,
boolean invalidate,
+ boolean storeEnabled,
int txSize,
@Nullable GridCacheTxKey grpLockKey,
boolean partLock,
@@ -117,7 +118,7 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
int taskNameHash
) {
super(cctx, xidVer, implicit, implicitSingle, /*local*/true, concurrency, isolation, timeout, invalidate,
- txSize, grpLockKey, subjId, taskNameHash);
+ storeEnabled, txSize, grpLockKey, subjId, taskNameHash);
assert !partLock || grpLockKey != null;
@@ -423,23 +424,6 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
}
/**
- * Store manager for current transaction.
- *
- * @return Store manager.
- */
- protected GridCacheStoreManager<K, V> store() {
- if (!activeCacheIds.isEmpty()) {
- int cacheId = F.first(activeCacheIds);
-
- GridCacheStoreManager<K, V> store = cctx.cacheContext(cacheId).store();
-
- return store.configured() ? store : null;
- }
-
- return null;
- }
-
- /**
* Performs batch database operations. This commit must be called
* before {@link #userCommit()}. This way if there is a DB failure,
* cache transaction can still be rolled back.
@@ -451,7 +435,7 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
protected void batchStoreCommit(Iterable<GridCacheTxEntry<K, V>> writeEntries) throws IgniteCheckedException {
GridCacheStoreManager<K, V> store = store();
- if (store != null && (!internal() || groupLock())) {
+ if (store != null && storeEnabled() && (!internal() || groupLock())) {
try {
// Implicit transactions are always updated at the end.
if (isBatchUpdate()) {
@@ -985,7 +969,7 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
/**
* Checks if there is a cached or swapped value for
- * {@link #getAllAsync(GridCacheContext, Collection, GridCacheEntryEx, boolean, org.apache.ignite.lang.IgnitePredicate[])} method.
+ * {@link #getAllAsync(GridCacheContext, Collection, GridCacheEntryEx, boolean, IgnitePredicate[])} method.
*
*
* @param keys Key to enlist.
@@ -1232,7 +1216,7 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
/**
* Loads all missed keys for
- * {@link #getAllAsync(GridCacheContext, Collection, GridCacheEntryEx, boolean, org.apache.ignite.lang.IgnitePredicate[])} method.
+ * {@link #getAllAsync(GridCacheContext, Collection, GridCacheEntryEx, boolean, IgnitePredicate[])} method.
*
* @param map Return map.
* @param missedMap Missed keys.
@@ -2541,7 +2525,8 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
", part=" + part + ", groupLockKey=" + grpLockKey + ']');
}
else {
- GridCacheTxKey affinityKey = cacheCtx.txKey((K)cacheCtx.config().getAffinityMapper().affinityKey(key));
+ GridCacheTxKey affinityKey = cacheCtx.txKey(
+ (K)cacheCtx.config().getAffinityMapper().affinityKey(key));
if (!grpLockKey.equals(affinityKey))
throw new IgniteCheckedException("Failed to enlist key into group-lock transaction (affinity key was " +
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0cb0c334/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxManager.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxManager.java
index 7179f8e..935ae1d 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxManager.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxManager.java
@@ -365,6 +365,7 @@ public class GridCacheTxManager<K, V> extends GridCacheSharedManagerAdapter<K, V
GridCacheTxIsolation isolation,
long timeout,
boolean invalidate,
+ boolean storeEnabled,
int txSize,
@Nullable GridCacheTxKey grpLockKey,
boolean partLock) {
@@ -380,6 +381,7 @@ public class GridCacheTxManager<K, V> extends GridCacheSharedManagerAdapter<K, V
isolation,
timeout,
invalidate,
+ storeEnabled,
txSize,
grpLockKey,
partLock,
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0cb0c334/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java
index 69500dd..3f30801 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java
@@ -768,6 +768,8 @@ public abstract class GridDhtTransactionalCacheAdapter<K, V> extends GridDhtCach
req.subjectId(),
req.taskNameHash());
+ tx.syncCommit(req.syncCommit());
+
tx = ctx.tm().onCreated(tx);
if (tx == null || !tx.init()) {
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0cb0c334/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java
index 95cd4ad..461ea04 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java
@@ -52,9 +52,6 @@ public abstract class GridDhtTxLocalAdapter<K, V> extends GridCacheTxLocalAdapte
private long dhtThreadId;
/** */
- private boolean explicitLock;
-
- /** */
private boolean needsCompletedVers;
/** Versions of pending locks for entries of this tx. */
@@ -75,7 +72,6 @@ public abstract class GridDhtTxLocalAdapter<K, V> extends GridCacheTxLocalAdapte
* @param concurrency Concurrency.
* @param isolation Isolation.
* @param timeout Timeout.
- * @param explicitLock Explicit lock flag.
* @param txSize Expected transaction size.
* @param grpLockKey Group lock key if this is a group-lock transaction.
* @param partLock If this is a group-lock transaction and the whole partition should be locked.
@@ -89,20 +85,18 @@ public abstract class GridDhtTxLocalAdapter<K, V> extends GridCacheTxLocalAdapte
GridCacheTxIsolation isolation,
long timeout,
boolean invalidate,
- boolean explicitLock,
+ boolean storeEnabled,
int txSize,
@Nullable GridCacheTxKey grpLockKey,
boolean partLock,
@Nullable UUID subjId,
int taskNameHash
) {
- super(cctx, xidVer, implicit, implicitSingle, concurrency, isolation, timeout, invalidate, txSize, grpLockKey,
- partLock, subjId, taskNameHash);
+ super(cctx, xidVer, implicit, implicitSingle, concurrency, isolation, timeout, invalidate, storeEnabled, txSize,
+ grpLockKey, partLock, subjId, taskNameHash);
assert cctx != null;
- this.explicitLock = explicitLock;
-
threadId = Thread.currentThread().getId();
dhtThreadId = threadId;
}
@@ -166,13 +160,6 @@ public abstract class GridDhtTxLocalAdapter<K, V> extends GridCacheTxLocalAdapte
}
/**
- * @return Explicit lock flag.
- */
- boolean explicitLock() {
- return explicitLock;
- }
-
- /**
* @return DHT thread ID.
*/
long dhtThreadId() {
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0cb0c334/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
index d27ee3d..535f46e 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
@@ -12,7 +12,6 @@ package org.gridgain.grid.kernal.processors.cache.distributed.dht.colocated;
import org.apache.ignite.*;
import org.apache.ignite.cluster.*;
import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
import org.gridgain.grid.cache.*;
import org.gridgain.grid.kernal.managers.discovery.*;
import org.gridgain.grid.kernal.processors.cache.*;
@@ -704,6 +703,7 @@ public final class GridDhtColocatedLockFuture<K, V> extends GridCompoundIdentity
timeout,
mappedKeys.size(),
inTx() ? tx.size() : mappedKeys.size(),
+ inTx() && tx.syncCommit(),
inTx() ? tx.groupLockKey() : null,
inTx() && tx.partitionLock(),
inTx() ? tx.subjectId() : null,
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0cb0c334/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockFuture.java
index 15f9a85..b67229d 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockFuture.java
@@ -12,7 +12,6 @@ package org.gridgain.grid.kernal.processors.cache.distributed.near;
import org.apache.ignite.*;
import org.apache.ignite.cluster.*;
import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
import org.gridgain.grid.cache.*;
import org.gridgain.grid.kernal.managers.discovery.*;
import org.gridgain.grid.kernal.processors.cache.*;
@@ -846,6 +845,7 @@ public final class GridNearLockFuture<K, V> extends GridCompoundIdentityFuture<B
timeout,
mappedKeys.size(),
inTx() ? tx.size() : mappedKeys.size(),
+ inTx() && tx.syncCommit(),
inTx() ? tx.groupLockKey() : null,
inTx() && tx.partitionLock(),
inTx() ? tx.subjectId() : null,
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0cb0c334/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockRequest.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockRequest.java
index d9217d5..abcc189 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockRequest.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockRequest.java
@@ -69,6 +69,9 @@ public class GridNearLockRequest<K, V> extends GridDistributedLockRequest<K, V>
@GridDirectVersion(3)
private boolean hasTransforms;
+ /** Sync commit flag. */
+ private boolean syncCommit;
+
/**
* Empty constructor required for {@link Externalizable}.
*/
@@ -110,6 +113,7 @@ public class GridNearLockRequest<K, V> extends GridDistributedLockRequest<K, V>
long timeout,
int keyCnt,
int txSize,
+ boolean syncCommit,
@Nullable GridCacheTxKey grpLockKey,
boolean partLock,
@Nullable UUID subjId,
@@ -137,6 +141,7 @@ public class GridNearLockRequest<K, V> extends GridDistributedLockRequest<K, V>
this.topVer = topVer;
this.implicitTx = implicitTx;
this.implicitSingleTx = implicitSingleTx;
+ this.syncCommit = syncCommit;
this.subjId = subjId;
this.taskNameHash = taskNameHash;
@@ -193,6 +198,13 @@ public class GridNearLockRequest<K, V> extends GridDistributedLockRequest<K, V>
}
/**
+ * @return Sync commit flag.
+ */
+ public boolean syncCommit() {
+ return syncCommit;
+ }
+
+ /**
* @return Filter.
*/
public IgnitePredicate<GridCacheEntry<K, V>>[] filter() {
@@ -316,6 +328,7 @@ public class GridNearLockRequest<K, V> extends GridDistributedLockRequest<K, V>
_clone.subjId = subjId;
_clone.taskNameHash = taskNameHash;
_clone.hasTransforms = hasTransforms;
+ _clone.syncCommit = syncCommit;
}
/** {@inheritDoc} */
@@ -436,6 +449,11 @@ public class GridNearLockRequest<K, V> extends GridDistributedLockRequest<K, V>
commState.idx++;
+ case 34:
+ if (!commState.putBoolean(syncCommit))
+ return false;
+
+ commState.idx++;
}
return true;
@@ -576,6 +594,13 @@ public class GridNearLockRequest<K, V> extends GridDistributedLockRequest<K, V>
commState.idx++;
+ case 34:
+ if (buf.remaining() < 1)
+ return false;
+
+ syncCommit = commState.getBoolean();
+
+ commState.idx++;
}
return true;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0cb0c334/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxLocal.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxLocal.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxLocal.java
index 5ff258f..2b974e9 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxLocal.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxLocal.java
@@ -96,6 +96,7 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
GridCacheTxIsolation isolation,
long timeout,
boolean invalidate,
+ boolean storeEnabled,
int txSize,
@Nullable GridCacheTxKey grpLockKey,
boolean partLock,
@@ -111,7 +112,7 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
isolation,
timeout,
invalidate,
- /*TODO explicit lock???*/false,
+ storeEnabled,
txSize,
grpLockKey,
partLock,
@@ -191,6 +192,9 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
* @return {@code True} if transaction is fully synchronous.
*/
private boolean sync() {
+ if (super.syncCommit())
+ return true;
+
for (int cacheId : activeCacheIds()) {
if (cctx.cacheContext(cacheId).config().getWriteSynchronizationMode() == FULL_SYNC)
return true;
@@ -280,9 +284,7 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
}
});
}
- else {
- assert cacheCtx.isColocated();
-
+ else if (cacheCtx.isColocated()) {
return cacheCtx.colocated().loadAsync(keys, /*reload*/false, /*force primary*/false, topologyVersion(),
CU.subjectId(this, cctx), resolveTaskName(), deserializePortable, null)
.chain(new C1<IgniteFuture<Map<K, V>>, Boolean>() {
@@ -305,6 +307,11 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
}
});
}
+ else {
+ assert cacheCtx.isLocal();
+
+ return super.loadMissing(cacheCtx, async, keys, deserializePortable, c);
+ }
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0cb0c334/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTx.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTx.java
index e769893..cebd888 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTx.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTx.java
@@ -60,7 +60,7 @@ class GridLocalTx<K, V> extends GridCacheTxLocalAdapter<K, V> {
@Nullable UUID subjId,
int taskNameHash
) {
- super(ctx, ctx.versions().next(), implicit, implicitSingle, concurrency, isolation, timeout, false, txSize,
+ super(ctx, ctx.versions().next(), implicit, implicitSingle, concurrency, isolation, timeout, false, true, txSize,
null, false, subjId, taskNameHash);
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0cb0c334/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java
index a8e1344..98a87e3 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java
@@ -106,6 +106,7 @@ public class IgniteTransactionsImpl<K, V> implements IgniteTransactions {
isolation,
timeout,
false,
+ true,
txSize,
/** group lock keys */null,
/** partition lock */false
@@ -168,13 +169,14 @@ public class IgniteTransactionsImpl<K, V> implements IgniteTransactions {
throw new IllegalStateException("Failed to start new transaction " +
"(current thread already has a transaction): " + tx);
- GridCacheTxLocalEx<K, V> tx0 = cctx.tm().newTx(
+ GridCacheTxLocalAdapter<K, V> tx0 = cctx.tm().newTx(
false,
false,
concurrency,
isolation,
timeout,
ctx.hasFlag(INVALIDATE),
+ !ctx.hasFlag(SKIP_STORE),
txSize,
ctx.txKey(grpLockKey),
partLock
@@ -182,6 +184,9 @@ public class IgniteTransactionsImpl<K, V> implements IgniteTransactions {
assert tx0 != null;
+ if (ctx.hasFlag(SYNC_COMMIT))
+ tx0.syncCommit(true);
+
IgniteFuture<?> lockFut = tx0.groupLockAsync(ctx, (Collection)F.asList(grpLockKey));
try {
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0cb0c334/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/handlers/cache/GridCacheCommandHandler.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/handlers/cache/GridCacheCommandHandler.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/handlers/cache/GridCacheCommandHandler.java
index 1bab28a..1a68cc7 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/handlers/cache/GridCacheCommandHandler.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/handlers/cache/GridCacheCommandHandler.java
@@ -13,7 +13,6 @@ import org.apache.ignite.*;
import org.apache.ignite.cluster.*;
import org.apache.ignite.lang.*;
import org.apache.ignite.resources.*;
-import org.gridgain.grid.*;
import org.gridgain.grid.cache.*;
import org.gridgain.grid.cache.datastructures.*;
import org.gridgain.grid.kernal.*;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0cb0c334/modules/jta/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheJtaManager.java
----------------------------------------------------------------------
diff --git a/modules/jta/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheJtaManager.java b/modules/jta/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheJtaManager.java
index 79f439a..6044900 100644
--- a/modules/jta/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheJtaManager.java
+++ b/modules/jta/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheJtaManager.java
@@ -70,6 +70,7 @@ public class GridCacheJtaManager<K, V> extends GridCacheJtaManagerAdapter<K, V>
tCfg.getDefaultTxIsolation(),
tCfg.getDefaultTxTimeout(),
false,
+ true,
0,
/** group lock keys */null,
/** partition lock */false
[02/18] incubator-ignite git commit: GG-9141 - Fixed group lock
transactions.
Posted by sb...@apache.org.
GG-9141 - Fixed group lock transactions.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/59d9cd61
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/59d9cd61
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/59d9cd61
Branch: refs/heads/ignite-41
Commit: 59d9cd6168bdbd8721f4d9684344f57ee5c792d9
Parents: f60670a
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Fri Dec 12 18:48:34 2014 -0800
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Fri Dec 12 18:48:34 2014 -0800
----------------------------------------------------------------------
.../processors/dataload/GridDataLoaderProcessorSelfTest.java | 5 +----
.../org/gridgain/testsuites/bamboo/GridDataGridTestSuite.java | 4 ++--
2 files changed, 3 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/59d9cd61/modules/core/src/test/java/org/gridgain/grid/kernal/processors/dataload/GridDataLoaderProcessorSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/dataload/GridDataLoaderProcessorSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/dataload/GridDataLoaderProcessorSelfTest.java
index 2f4d162..658e44b 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/dataload/GridDataLoaderProcessorSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/dataload/GridDataLoaderProcessorSelfTest.java
@@ -14,7 +14,6 @@ import org.apache.ignite.configuration.*;
import org.apache.ignite.events.*;
import org.apache.ignite.lang.*;
import org.apache.ignite.marshaller.optimized.*;
-import org.gridgain.grid.*;
import org.gridgain.grid.cache.*;
import org.gridgain.grid.cache.eviction.fifo.*;
import org.apache.ignite.spi.discovery.tcp.*;
@@ -303,11 +302,9 @@ public class GridDataLoaderProcessorSelfTest extends GridCommonAbstractTest {
}
/**
- * TODO GG-4121
- *
* @throws Exception If failed.
*/
- public void _testReplicatedMultiThreadedGroupLock() throws Exception {
+ public void testReplicatedMultiThreadedGroupLock() throws Exception {
mode = REPLICATED;
useGrpLock = true;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/59d9cd61/modules/core/src/test/java/org/gridgain/testsuites/bamboo/GridDataGridTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/testsuites/bamboo/GridDataGridTestSuite.java b/modules/core/src/test/java/org/gridgain/testsuites/bamboo/GridDataGridTestSuite.java
index 3bed59a..c2fe016 100644
--- a/modules/core/src/test/java/org/gridgain/testsuites/bamboo/GridDataGridTestSuite.java
+++ b/modules/core/src/test/java/org/gridgain/testsuites/bamboo/GridDataGridTestSuite.java
@@ -61,7 +61,7 @@ public class GridDataGridTestSuite extends TestSuite {
suite.addTestSuite(GridCacheBalancingStoreSelfTest.class);
suite.addTestSuite(GridCacheAffinityApiSelfTest.class);
suite.addTestSuite(GridCacheStoreValueBytesSelfTest.class);
- //suite.addTestSuite(GridDataLoaderProcessorSelfTest.class); TODO GG-9141
+ suite.addTestSuite(GridDataLoaderProcessorSelfTest.class);
suite.addTestSuite(GridDataLoaderImplSelfTest.class);
suite.addTestSuite(GridCacheEntryMemorySizeSelfTest.class);
suite.addTestSuite(GridCacheClearAllSelfTest.class);
@@ -284,7 +284,7 @@ public class GridDataGridTestSuite extends TestSuite {
suite.addTestSuite(GridCacheReloadSelfTest.class);
// Group locking.
-// suite.addTest(GridCacheGroupLockSelfTestSuite.suite());
+ suite.addTest(GridCacheGroupLockSelfTestSuite.suite());
// Full API.
suite.addTest(GridCacheFullApiSelfTestSuite.suite());
[03/18] incubator-ignite git commit: GG-9141 - Fixing queries and
enabling passing tests.
Posted by sb...@apache.org.
GG-9141 - Fixing queries and enabling passing tests.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/ee2df1d8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/ee2df1d8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/ee2df1d8
Branch: refs/heads/ignite-41
Commit: ee2df1d8d23256be0b911849878c652d0eda6076
Parents: 59d9cd6
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Fri Dec 12 19:21:15 2014 -0800
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Fri Dec 12 19:21:15 2014 -0800
----------------------------------------------------------------------
.../grid/kernal/processors/cache/GridCacheMapEntry.java | 4 ++--
.../deployment/GridDeploymentMessageCountSelfTest.java | 2 +-
.../GridCacheOffHeapMultiThreadedUpdateAbstractSelfTest.java | 2 +-
.../cache/eviction/GridCacheDistributedEvictionsSelfTest.java | 1 -
.../cache/eviction/GridCacheEvictionTouchSelfTest.java | 4 ++--
.../eviction/lru/GridCacheLruNearEvictionPolicySelfTest.java | 2 +-
.../continuous/GridCacheContinuousQueryAbstractSelfTest.java | 1 -
.../gridgain/testsuites/GridCacheEvictionSelfTestSuite.java | 2 +-
.../org/gridgain/testsuites/GridCacheQuerySelfTestSuite.java | 6 +++---
9 files changed, 11 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ee2df1d8/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMapEntry.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMapEntry.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMapEntry.java
index 32c1485..eb131fd 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMapEntry.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMapEntry.java
@@ -1212,7 +1212,7 @@ public abstract class GridCacheMapEntry<K, V> implements GridCacheEntryEx<K, V>
GridCacheMode mode = cctx.config().getCacheMode();
if (mode == GridCacheMode.LOCAL || mode == GridCacheMode.REPLICATED ||
- (tx != null && (tx.dht() || tx.colocated()) && tx.local()))
+ (tx != null && tx.local() && !isNear()))
cctx.continuousQueries().onEntryUpdate(this, key, val, valueBytesUnlocked(), old, oldBytes);
cctx.dataStructures().onEntryUpdated(key, false);
@@ -1366,7 +1366,7 @@ public abstract class GridCacheMapEntry<K, V> implements GridCacheEntryEx<K, V>
GridCacheMode mode = cctx.config().getCacheMode();
if (mode == GridCacheMode.LOCAL || mode == GridCacheMode.REPLICATED ||
- (tx != null && (tx.dht() || tx.colocated()) && tx.local()))
+ (tx != null && tx.local() && !isNear()))
cctx.continuousQueries().onEntryUpdate(this, key, null, null, old, oldBytes);
cctx.dataStructures().onEntryUpdated(key, true);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ee2df1d8/modules/core/src/test/java/org/gridgain/grid/kernal/managers/deployment/GridDeploymentMessageCountSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/managers/deployment/GridDeploymentMessageCountSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/managers/deployment/GridDeploymentMessageCountSelfTest.java
index e16e19b..51a0e3e 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/managers/deployment/GridDeploymentMessageCountSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/managers/deployment/GridDeploymentMessageCountSelfTest.java
@@ -114,7 +114,7 @@ public class GridDeploymentMessageCountSelfTest extends GridCommonAbstractTest {
/**
* @throws Exception If failed.
*/
- public void _testCacheValueDeploymentOnPut() throws Exception { // TODO GG-9141
+ public void testCacheValueDeploymentOnPut() throws Exception {
ClassLoader ldr = getExternalClassLoader();
Class valCls = ldr.loadClass(TEST_VALUE);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ee2df1d8/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffHeapMultiThreadedUpdateAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffHeapMultiThreadedUpdateAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffHeapMultiThreadedUpdateAbstractSelfTest.java
index a57799b..e1f5c5a 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffHeapMultiThreadedUpdateAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffHeapMultiThreadedUpdateAbstractSelfTest.java
@@ -64,7 +64,7 @@ public abstract class GridCacheOffHeapMultiThreadedUpdateAbstractSelfTest extend
/**
* @throws Exception If failed.
*/
- public void _testTransform() throws Exception { // TODO GG-9141
+ public void testTransform() throws Exception {
testTransform(keyForNode(0));
if (gridCount() > 1)
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ee2df1d8/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheDistributedEvictionsSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheDistributedEvictionsSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheDistributedEvictionsSelfTest.java
index 0489e36..e120287 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheDistributedEvictionsSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheDistributedEvictionsSelfTest.java
@@ -11,7 +11,6 @@ package org.gridgain.grid.kernal.processors.cache.eviction;
import org.apache.ignite.*;
import org.apache.ignite.configuration.*;
-import org.gridgain.grid.*;
import org.gridgain.grid.cache.*;
import org.gridgain.grid.cache.eviction.fifo.*;
import org.gridgain.grid.kernal.processors.cache.distributed.*;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ee2df1d8/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionTouchSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionTouchSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionTouchSelfTest.java
index 1ca5003..5c798fe 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionTouchSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionTouchSelfTest.java
@@ -202,7 +202,7 @@ public class GridCacheEvictionTouchSelfTest extends GridCommonAbstractTest {
/**
* @throws Exception If failed.
*/
- public void _testGroupLock() throws Exception { // TODO GG-9141
+ public void testGroupLock() throws Exception {
plc = new GridCacheFifoEvictionPolicy<>(100);
try {
@@ -248,7 +248,7 @@ public class GridCacheEvictionTouchSelfTest extends GridCommonAbstractTest {
/**
* @throws Exception If failed.
*/
- public void _testPartitionGroupLock() throws Exception { // TODO GG-9141
+ public void testPartitionGroupLock() throws Exception {
plc = new GridCacheFifoEvictionPolicy<>(100);
try {
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ee2df1d8/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/lru/GridCacheLruNearEvictionPolicySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/lru/GridCacheLruNearEvictionPolicySelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/lru/GridCacheLruNearEvictionPolicySelfTest.java
index 2465b1d..3a9901e 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/lru/GridCacheLruNearEvictionPolicySelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/lru/GridCacheLruNearEvictionPolicySelfTest.java
@@ -81,7 +81,7 @@ public class GridCacheLruNearEvictionPolicySelfTest extends GridCommonAbstractTe
/**
* @throws Exception If failed.
*/
- public void _testTransactionalNearEvictionMaxSize() throws Exception { // TODO GG-9141
+ public void testTransactionalNearEvictionMaxSize() throws Exception {
atomicityMode = TRANSACTIONAL;
checkNearEvictionMaxSize();
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ee2df1d8/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/query/continuous/GridCacheContinuousQueryAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/query/continuous/GridCacheContinuousQueryAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/query/continuous/GridCacheContinuousQueryAbstractSelfTest.java
index 2984da1..f81cb45 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/query/continuous/GridCacheContinuousQueryAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/query/continuous/GridCacheContinuousQueryAbstractSelfTest.java
@@ -15,7 +15,6 @@ import org.apache.ignite.configuration.*;
import org.apache.ignite.events.*;
import org.apache.ignite.lang.*;
import org.apache.ignite.marshaller.optimized.*;
-import org.gridgain.grid.*;
import org.gridgain.grid.cache.*;
import org.gridgain.grid.cache.query.*;
import org.gridgain.grid.cache.query.GridCacheContinuousQueryEntry;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ee2df1d8/modules/core/src/test/java/org/gridgain/testsuites/GridCacheEvictionSelfTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/testsuites/GridCacheEvictionSelfTestSuite.java b/modules/core/src/test/java/org/gridgain/testsuites/GridCacheEvictionSelfTestSuite.java
index e5288b9..8b6ab21 100644
--- a/modules/core/src/test/java/org/gridgain/testsuites/GridCacheEvictionSelfTestSuite.java
+++ b/modules/core/src/test/java/org/gridgain/testsuites/GridCacheEvictionSelfTestSuite.java
@@ -39,7 +39,7 @@ public class GridCacheEvictionSelfTestSuite extends TestSuite {
suite.addTest(new TestSuite(GridCacheConcurrentEvictionsSelfTest.class));
suite.addTest(new TestSuite(GridCacheConcurrentEvictionConsistencySelfTest.class));
suite.addTest(new TestSuite(GridCacheEvictionTouchSelfTest.class));
-// suite.addTest(new TestSuite(GridCacheDistributedEvictionsSelfTest.class)); // TODO GG-9141
+ suite.addTest(new TestSuite(GridCacheDistributedEvictionsSelfTest.class));
suite.addTest(new TestSuite(GridCacheEvictionLockUnlockSelfTest.class));
suite.addTest(new TestSuite(GridCacheBatchEvictUnswapSelfTest.class));
suite.addTest(new TestSuite(GridCachePreloadingEvictionsSelfTest.class));
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ee2df1d8/modules/indexing/src/test/java/org/gridgain/testsuites/GridCacheQuerySelfTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/test/java/org/gridgain/testsuites/GridCacheQuerySelfTestSuite.java b/modules/indexing/src/test/java/org/gridgain/testsuites/GridCacheQuerySelfTestSuite.java
index bd430e3..a939fdf 100644
--- a/modules/indexing/src/test/java/org/gridgain/testsuites/GridCacheQuerySelfTestSuite.java
+++ b/modules/indexing/src/test/java/org/gridgain/testsuites/GridCacheQuerySelfTestSuite.java
@@ -38,8 +38,8 @@ public class GridCacheQuerySelfTestSuite extends TestSuite {
suite.addTestSuite(GridCacheReplicatedQuerySelfTest.class);
suite.addTestSuite(GridCacheReplicatedQueryP2PDisabledSelfTest.class);
suite.addTestSuite(GridCachePartitionedQuerySelfTest.class);
-// suite.addTestSuite(GridCacheAtomicQuerySelfTest.class); // TODO GG-9141
-// suite.addTestSuite(GridCacheAtomicNearEnabledQuerySelfTest.class); // TODO GG-9141
+ suite.addTestSuite(GridCacheAtomicQuerySelfTest.class);
+ suite.addTestSuite(GridCacheAtomicNearEnabledQuerySelfTest.class);
suite.addTestSuite(GridCachePartitionedQueryP2PDisabledSelfTest.class);
suite.addTestSuite(GridCachePartitionedQueryMultiThreadedSelfTest.class);
suite.addTestSuite(GridCacheQueryIndexSelfTest.class);
@@ -71,7 +71,7 @@ public class GridCacheQuerySelfTestSuite extends TestSuite {
suite.addTestSuite(GridCacheContinuousQueryReplicatedP2PDisabledSelfTest.class);
suite.addTestSuite(GridCacheContinuousQueryPartitionedSelfTest.class);
suite.addTestSuite(GridCacheContinuousQueryPartitionedOnlySelfTest.class);
-// suite.addTestSuite(GridCacheContinuousQueryPartitionedP2PDisabledSelfTest.class); // TODO GG-9141
+ suite.addTestSuite(GridCacheContinuousQueryPartitionedP2PDisabledSelfTest.class);
suite.addTestSuite(GridCacheContinuousQueryAtomicSelfTest.class);
suite.addTestSuite(GridCacheContinuousQueryAtomicNearEnabledSelfTest.class);
suite.addTestSuite(GridCacheContinuousQueryAtomicP2PDisabledSelfTest.class);
[06/18] incubator-ignite git commit: GG-9141 - Fixed and enabled
metrics tests.
Posted by sb...@apache.org.
GG-9141 - Fixed and enabled metrics tests.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/7964632f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/7964632f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/7964632f
Branch: refs/heads/ignite-41
Commit: 7964632f295e55809259195469286853083dd761
Parents: 8963d29
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Sun Dec 14 11:29:24 2014 -0800
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Sun Dec 14 11:29:24 2014 -0800
----------------------------------------------------------------------
.../org/apache/ignite/IgniteTransactions.java | 10 ++
.../gridgain/grid/cache/GridCacheTxMetrics.java | 45 --------
.../grid/cache/GridCacheTxMetricsAdapter.java | 108 -------------------
.../gridgain/grid/cache/IgniteTxMetrics.java | 45 ++++++++
.../grid/cache/IgniteTxMetricsAdapter.java | 107 ++++++++++++++++++
.../cache/GridCacheSharedContext.java | 13 ++-
.../processors/cache/GridCacheTxManager.java | 18 +++-
.../near/GridNearTxPrepareFuture.java | 38 +++++--
.../transactions/IgniteTransactionsImpl.java | 10 ++
.../cache/GridCacheAbstractMetricsSelfTest.java | 9 +-
.../GridCacheReferenceCleanupSelfTest.java | 2 +-
...cheTransactionalAbstractMetricsSelfTest.java | 32 ++++--
.../GridCacheMetricsSelfTestSuite.java | 4 +-
13 files changed, 258 insertions(+), 183 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7964632f/modules/core/src/main/java/org/apache/ignite/IgniteTransactions.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteTransactions.java b/modules/core/src/main/java/org/apache/ignite/IgniteTransactions.java
index d28954c..783dab4 100644
--- a/modules/core/src/main/java/org/apache/ignite/IgniteTransactions.java
+++ b/modules/core/src/main/java/org/apache/ignite/IgniteTransactions.java
@@ -133,4 +133,14 @@ public interface IgniteTransactions {
* does not have a transaction.
*/
@Nullable public GridCacheTx tx();
+
+ /**
+ * @return Transaction metrics.
+ */
+ public IgniteTxMetrics metrics();
+
+ /**
+ * Resets transaction metrics.
+ */
+ public void resetMetrics();
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7964632f/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxMetrics.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxMetrics.java b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxMetrics.java
deleted file mode 100644
index c9c8bd3..0000000
--- a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxMetrics.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/* @java.file.header */
-
-/* _________ _____ __________________ _____
- * __ ____/___________(_)______ /__ ____/______ ____(_)_______
- * _ / __ __ ___/__ / _ __ / _ / __ _ __ `/__ / __ __ \
- * / /_/ / _ / _ / / /_/ / / /_/ / / /_/ / _ / _ / / /
- * \____/ /_/ /_/ \_,__/ \____/ \__,_/ /_/ /_/ /_/
- */
-
-package org.gridgain.grid.cache;
-
-import java.io.*;
-
-/**
- * Transaction metrics, shared across all caches.
- */
-public interface GridCacheTxMetrics extends Serializable {
- /**
- * Gets last time transaction was committed.
- *
- * @return Last commit time.
- */
- public long commitTime();
-
- /**
- * Gets last time transaction was rollback.
- *
- * @return Last rollback time.
- */
- public long rollbackTime();
-
- /**
- * Gets total number of transaction commits.
- *
- * @return Number of transaction commits.
- */
- public int txCommits();
-
- /**
- * Gets total number of transaction rollbacks.
- *
- * @return Number of transaction rollbacks.
- */
- public int txRollbacks();
-}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7964632f/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxMetricsAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxMetricsAdapter.java b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxMetricsAdapter.java
deleted file mode 100644
index 4fe5896..0000000
--- a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxMetricsAdapter.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/* @java.file.header */
-
-/* _________ _____ __________________ _____
- * __ ____/___________(_)______ /__ ____/______ ____(_)_______
- * _ / __ __ ___/__ / _ __ / _ / __ _ __ `/__ / __ __ \
- * / /_/ / _ / _ / / /_/ / / /_/ / / /_/ / _ / _ / / /
- * \____/ /_/ /_/ \_,__/ \____/ \__,_/ /_/ /_/ /_/
- */
-
-package org.gridgain.grid.cache;
-
-import org.gridgain.grid.util.tostring.*;
-import org.gridgain.grid.util.typedef.internal.*;
-
-import java.io.*;
-
-/**
- * TODO: Add class description.
- */
-public class GridCacheTxMetricsAdapter implements GridCacheTxMetrics, Externalizable {
- /** Number of transaction commits. */
- private volatile int txCommits;
-
- /** Number of transaction rollbacks. */
- private volatile int txRollbacks;
-
- /** Last commit time. */
- private volatile long commitTime;
-
- /** Last rollback time. */
- private volatile long rollbackTime;
-
- /**
- *
- */
- public GridCacheTxMetricsAdapter() {
-
- }
-
- /**
- * @param m Transaction metrics to copy.
- */
- public GridCacheTxMetricsAdapter(GridCacheTxMetrics m) {
- commitTime = m.commitTime();
- rollbackTime = m.rollbackTime();
- txCommits = m.txCommits();
- txRollbacks = m.txRollbacks();
- }
-
- /** {@inheritDoc} */
- @Override public long commitTime() {
- return commitTime;
- }
-
- /** {@inheritDoc} */
- @Override public long rollbackTime() {
- return rollbackTime;
- }
-
- /** {@inheritDoc} */
- @Override public int txCommits() {
- return txCommits;
- }
-
- /** {@inheritDoc} */
- @Override public int txRollbacks() {
- return txRollbacks;
- }
-
- /**
- * Transaction commit callback.
- */
- public void onTxCommit() {
- commitTime = U.currentTimeMillis();
-
- txCommits++;
- }
-
- /**
- * Transaction rollback callback.
- */
- public void onTxRollback() {
- rollbackTime = U.currentTimeMillis();
-
- txRollbacks++;
- }
-
- /** {@inheritDoc} */
- @Override public void writeExternal(ObjectOutput out) throws IOException {
- out.writeLong(commitTime);
- out.writeLong(rollbackTime);
- out.writeInt(txCommits);
- out.writeInt(txRollbacks);
- }
-
- /** {@inheritDoc} */
- @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
- commitTime = in.readLong();
- rollbackTime = in.readLong();
- txCommits = in.readInt();
- txRollbacks = in.readInt();
- }
-
- /** {@inheritDoc} */
- @Override public String toString() {
- return S.toString(GridCacheTxMetricsAdapter.class, this);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7964632f/modules/core/src/main/java/org/gridgain/grid/cache/IgniteTxMetrics.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/IgniteTxMetrics.java b/modules/core/src/main/java/org/gridgain/grid/cache/IgniteTxMetrics.java
new file mode 100644
index 0000000..1c36cfd
--- /dev/null
+++ b/modules/core/src/main/java/org/gridgain/grid/cache/IgniteTxMetrics.java
@@ -0,0 +1,45 @@
+/* @java.file.header */
+
+/* _________ _____ __________________ _____
+ * __ ____/___________(_)______ /__ ____/______ ____(_)_______
+ * _ / __ __ ___/__ / _ __ / _ / __ _ __ `/__ / __ __ \
+ * / /_/ / _ / _ / / /_/ / / /_/ / / /_/ / _ / _ / / /
+ * \____/ /_/ /_/ \_,__/ \____/ \__,_/ /_/ /_/ /_/
+ */
+
+package org.gridgain.grid.cache;
+
+import java.io.*;
+
+/**
+ * Transaction metrics, shared across all caches.
+ */
+public interface IgniteTxMetrics extends Serializable {
+ /**
+ * Gets last time transaction was committed.
+ *
+ * @return Last commit time.
+ */
+ public long commitTime();
+
+ /**
+ * Gets last time transaction was rollback.
+ *
+ * @return Last rollback time.
+ */
+ public long rollbackTime();
+
+ /**
+ * Gets total number of transaction commits.
+ *
+ * @return Number of transaction commits.
+ */
+ public int txCommits();
+
+ /**
+ * Gets total number of transaction rollbacks.
+ *
+ * @return Number of transaction rollbacks.
+ */
+ public int txRollbacks();
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7964632f/modules/core/src/main/java/org/gridgain/grid/cache/IgniteTxMetricsAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/IgniteTxMetricsAdapter.java b/modules/core/src/main/java/org/gridgain/grid/cache/IgniteTxMetricsAdapter.java
new file mode 100644
index 0000000..f9214d4
--- /dev/null
+++ b/modules/core/src/main/java/org/gridgain/grid/cache/IgniteTxMetricsAdapter.java
@@ -0,0 +1,107 @@
+/* @java.file.header */
+
+/* _________ _____ __________________ _____
+ * __ ____/___________(_)______ /__ ____/______ ____(_)_______
+ * _ / __ __ ___/__ / _ __ / _ / __ _ __ `/__ / __ __ \
+ * / /_/ / _ / _ / / /_/ / / /_/ / / /_/ / _ / _ / / /
+ * \____/ /_/ /_/ \_,__/ \____/ \__,_/ /_/ /_/ /_/
+ */
+
+package org.gridgain.grid.cache;
+
+import org.gridgain.grid.util.typedef.internal.*;
+
+import java.io.*;
+
+/**
+ * Tx metrics adapter.
+ */
+public class IgniteTxMetricsAdapter implements IgniteTxMetrics, Externalizable {
+ /** Number of transaction commits. */
+ private volatile int txCommits;
+
+ /** Number of transaction rollbacks. */
+ private volatile int txRollbacks;
+
+ /** Last commit time. */
+ private volatile long commitTime;
+
+ /** Last rollback time. */
+ private volatile long rollbackTime;
+
+ /**
+ *
+ */
+ public IgniteTxMetricsAdapter() {
+
+ }
+
+ /**
+ * @param m Transaction metrics to copy.
+ */
+ public IgniteTxMetricsAdapter(IgniteTxMetrics m) {
+ commitTime = m.commitTime();
+ rollbackTime = m.rollbackTime();
+ txCommits = m.txCommits();
+ txRollbacks = m.txRollbacks();
+ }
+
+ /** {@inheritDoc} */
+ @Override public long commitTime() {
+ return commitTime;
+ }
+
+ /** {@inheritDoc} */
+ @Override public long rollbackTime() {
+ return rollbackTime;
+ }
+
+ /** {@inheritDoc} */
+ @Override public int txCommits() {
+ return txCommits;
+ }
+
+ /** {@inheritDoc} */
+ @Override public int txRollbacks() {
+ return txRollbacks;
+ }
+
+ /**
+ * Transaction commit callback.
+ */
+ public void onTxCommit() {
+ commitTime = U.currentTimeMillis();
+
+ txCommits++;
+ }
+
+ /**
+ * Transaction rollback callback.
+ */
+ public void onTxRollback() {
+ rollbackTime = U.currentTimeMillis();
+
+ txRollbacks++;
+ }
+
+ /** {@inheritDoc} */
+ @Override public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeLong(commitTime);
+ out.writeLong(rollbackTime);
+ out.writeInt(txCommits);
+ out.writeInt(txRollbacks);
+ }
+
+ /** {@inheritDoc} */
+ @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ commitTime = in.readLong();
+ rollbackTime = in.readLong();
+ txCommits = in.readInt();
+ txRollbacks = in.readInt();
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(IgniteTxMetricsAdapter.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7964632f/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java
index e67519b..ab23680 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java
@@ -61,7 +61,7 @@ public class GridCacheSharedContext<K, V> {
private Map<Integer, GridCacheContext<K, V>> ctxMap;
/** Tx metrics. */
- private GridCacheTxMetricsAdapter txMetrics;
+ private volatile IgniteTxMetricsAdapter txMetrics;
/** Preloaders start future. */
private IgniteFuture<Object> preloadersStartFut;
@@ -88,7 +88,7 @@ public class GridCacheSharedContext<K, V> {
this.exchMgr = add(exchMgr);
this.ioMgr = add(ioMgr);
- txMetrics = new GridCacheTxMetricsAdapter();
+ txMetrics = new IgniteTxMetricsAdapter();
ctxMap = new HashMap<>();
}
@@ -206,11 +206,18 @@ public class GridCacheSharedContext<K, V> {
/**
* @return Transactional metrics adapter.
*/
- public GridCacheTxMetricsAdapter txMetrics() {
+ public IgniteTxMetricsAdapter txMetrics() {
return txMetrics;
}
/**
+ * Resets tx metrics.
+ */
+ public void resetTxMetrics() {
+ txMetrics = new IgniteTxMetricsAdapter();
+ }
+
+ /**
* @return Cache transaction manager.
*/
public GridCacheTxManager<K, V> tm() {
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7964632f/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxManager.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxManager.java
index 935ae1d..cc37438 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxManager.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxManager.java
@@ -1239,9 +1239,16 @@ public class GridCacheTxManager<K, V> extends GridCacheSharedManagerAdapter<K, V
txContextReset();
// 15. Update metrics.
- if (!tx.dht() && tx.local())
+ if (!tx.dht() && tx.local()) {
cctx.txMetrics().onTxCommit();
+ for (int cacheId : tx.activeCacheIds()) {
+ GridCacheContext<K, V> cacheCtx = cctx.cacheContext(cacheId);
+
+ cacheCtx.cache().metrics0().onTxCommit();
+ }
+ }
+
if (slowTxWarnTimeout > 0 && tx.local() &&
U.currentTimeMillis() - tx.startTime() > slowTxWarnTimeout)
U.warn(log, "Slow transaction detected [tx=" + tx +
@@ -1305,9 +1312,16 @@ public class GridCacheTxManager<K, V> extends GridCacheSharedManagerAdapter<K, V
txContextReset();
// 11. Update metrics.
- if (!tx.dht() && tx.local())
+ if (!tx.dht() && tx.local()) {
cctx.txMetrics().onTxRollback();
+ for (int cacheId : tx.activeCacheIds()) {
+ GridCacheContext<K, V> cacheCtx = cctx.cacheContext(cacheId);
+
+ cacheCtx.cache().metrics0().onTxRollback();
+ }
+ }
+
if (log.isDebugEnabled())
log.debug("Rolled back from TM: " + tx);
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7964632f/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxPrepareFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxPrepareFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxPrepareFuture.java
index a9bcd3b..5bc5a3e 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxPrepareFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxPrepareFuture.java
@@ -12,7 +12,6 @@ package org.gridgain.grid.kernal.processors.cache.distributed.near;
import org.apache.ignite.*;
import org.apache.ignite.cluster.*;
import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
import org.gridgain.grid.cache.*;
import org.gridgain.grid.kernal.managers.discovery.*;
import org.gridgain.grid.kernal.processors.cache.*;
@@ -384,19 +383,46 @@ public final class GridNearTxPrepareFuture<K, V> extends GridCompoundIdentityFut
if (tx.activeCacheIds().isEmpty())
return cctx.exchange().lastTopologyFuture();
- GridCacheContext<K, V> cacheCtx = cctx.cacheContext(F.first(tx.activeCacheIds()));
+ GridCacheContext<K, V> nonLocalCtx = null;
- cacheCtx.topology().readLock();
+ for (int cacheId : tx.activeCacheIds()) {
+ GridCacheContext<K, V> cacheCtx = cctx.cacheContext(cacheId);
+
+ if (!cacheCtx.isLocal()) {
+ nonLocalCtx = cacheCtx;
+
+ break;
+ }
+ }
+
+ if (nonLocalCtx == null)
+ return cctx.exchange().lastTopologyFuture();
+
+ nonLocalCtx.topology().readLock();
- return cacheCtx.topology().topologyVersionFuture();
+ return nonLocalCtx.topology().topologyVersionFuture();
}
/**
* Releases topology read lock.
*/
private void topologyReadUnlock() {
- if (!tx.activeCacheIds().isEmpty())
- cctx.cacheContext(F.first(tx.activeCacheIds())).topology().readUnlock();
+ if (!tx.activeCacheIds().isEmpty()) {
+ GridCacheContext<K, V> nonLocalCtx = null;
+
+ for (int cacheId : tx.activeCacheIds()) {
+ GridCacheContext<K, V> cacheCtx = cctx.cacheContext(cacheId);
+
+ if (!cacheCtx.isLocal()) {
+ nonLocalCtx = cacheCtx;
+
+ break;
+ }
+ }
+
+ if (nonLocalCtx != null)
+ nonLocalCtx.topology().readUnlock();
+ }
}
/**
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7964632f/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java
index 98a87e3..60eec9e 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java
@@ -206,4 +206,14 @@ public class IgniteTransactionsImpl<K, V> implements IgniteTransactions {
@Nullable @Override public GridCacheTx tx() {
return cctx.tm().userTx();
}
+
+ /** {@inheritDoc} */
+ @Override public IgniteTxMetrics metrics() {
+ return cctx.txMetrics();
+ }
+
+ /** {@inheritDoc} */
+ @Override public void resetMetrics() {
+ cctx.resetTxMetrics();
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7964632f/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractMetricsSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractMetricsSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractMetricsSelfTest.java
index 605b278..87248ef 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractMetricsSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractMetricsSelfTest.java
@@ -12,8 +12,6 @@ package org.gridgain.grid.kernal.processors.cache;
import org.apache.ignite.*;
import org.gridgain.grid.cache.*;
-import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
-
/**
* Cache metrics test.
*/
@@ -22,11 +20,6 @@ public abstract class GridCacheAbstractMetricsSelfTest extends GridCacheAbstract
private static final int KEY_CNT = 50;
/** {@inheritDoc} */
- @Override protected GridCacheWriteSynchronizationMode writeSynchronization() {
- return FULL_SYNC;
- }
-
- /** {@inheritDoc} */
@Override protected boolean swapEnabled() {
return false;
}
@@ -70,6 +63,8 @@ public abstract class GridCacheAbstractMetricsSelfTest extends GridCacheAbstract
assert g.cache(null).isEmpty();
g.cache(null).resetMetrics();
+
+ g.transactions().resetMetrics();
}
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7964632f/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReferenceCleanupSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReferenceCleanupSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReferenceCleanupSelfTest.java
index 80c4747..4602445 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReferenceCleanupSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReferenceCleanupSelfTest.java
@@ -96,7 +96,7 @@ public class GridCacheReferenceCleanupSelfTest extends GridCommonAbstractTest {
}
/** @throws Exception If failed. */
- public void _testAtomicLongLocal() throws Exception { // TODO GG-9141
+ public void testAtomicLongLocal() throws Exception {
mode = GridCacheMode.LOCAL;
try {
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7964632f/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTransactionalAbstractMetricsSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTransactionalAbstractMetricsSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTransactionalAbstractMetricsSelfTest.java
index 2ef09ea..5d3399c 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTransactionalAbstractMetricsSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTransactionalAbstractMetricsSelfTest.java
@@ -210,15 +210,22 @@ public abstract class GridCacheTransactionalAbstractMetricsSelfTest extends Grid
}
for (int i = 0; i < gridCount(); i++) {
- // TODO GG-9141
- GridCacheTxMetrics metrics = null; //grid(i).cache(null).metrics();
+ IgniteTxMetrics metrics = grid(i).transactions().metrics();
+ GridCacheMetrics cacheMetrics = grid(i).cache(null).metrics();
- if (i == 0)
+ if (i == 0) {
assertEquals(TX_CNT, metrics.txCommits());
- else
+
+ if (put)
+ assertEquals(TX_CNT, cacheMetrics.txCommits());
+ }
+ else {
assertEquals(0, metrics.txCommits());
+ assertEquals(0, cacheMetrics.txCommits());
+ }
assertEquals(0, metrics.txRollbacks());
+ assertEquals(0, cacheMetrics.txRollbacks());
}
}
@@ -233,7 +240,7 @@ public abstract class GridCacheTransactionalAbstractMetricsSelfTest extends Grid
GridCache<Integer, Integer> cache = grid(0).cache(null);
for (int i = 0; i < TX_CNT; i++) {
- GridCacheTx tx = cache.txStart(concurrency ,isolation);
+ GridCacheTx tx = cache.txStart(concurrency, isolation);
if (put)
for (int j = 0; j < keyCount(); j++)
@@ -243,15 +250,22 @@ public abstract class GridCacheTransactionalAbstractMetricsSelfTest extends Grid
}
for (int i = 0; i < gridCount(); i++) {
- // TODO GG-9141
- GridCacheTxMetrics metrics = null;//grid(i).cache(null).metrics();
+ IgniteTxMetrics metrics = grid(i).transactions().metrics();
+ GridCacheMetrics cacheMetrics = grid(i).cache(null).metrics();
assertEquals(0, metrics.txCommits());
+ assertEquals(0, cacheMetrics.txCommits());
- if (i == 0)
+ if (i == 0) {
assertEquals(TX_CNT, metrics.txRollbacks());
- else
+
+ if (put)
+ assertEquals(TX_CNT, cacheMetrics.txRollbacks());
+ }
+ else {
assertEquals(0, metrics.txRollbacks());
+ assertEquals(0, cacheMetrics.txRollbacks());
+ }
}
}
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7964632f/modules/core/src/test/java/org/gridgain/testsuites/GridCacheMetricsSelfTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/testsuites/GridCacheMetricsSelfTestSuite.java b/modules/core/src/test/java/org/gridgain/testsuites/GridCacheMetricsSelfTestSuite.java
index 178465a..6a21e85 100644
--- a/modules/core/src/test/java/org/gridgain/testsuites/GridCacheMetricsSelfTestSuite.java
+++ b/modules/core/src/test/java/org/gridgain/testsuites/GridCacheMetricsSelfTestSuite.java
@@ -27,8 +27,8 @@ public class GridCacheMetricsSelfTestSuite extends TestSuite {
// suite.addTest(new TestSuite(GridCacheLocalMetricsSelfTest.class));
suite.addTest(new TestSuite(GridCacheNearMetricsSelfTest.class));
-// suite.addTest(new TestSuite(GridCacheReplicatedMetricsSelfTest.class));
-// suite.addTest(new TestSuite(GridCachePartitionedMetricsSelfTest.class));
+ suite.addTest(new TestSuite(GridCacheReplicatedMetricsSelfTest.class));
+ suite.addTest(new TestSuite(GridCachePartitionedMetricsSelfTest.class));
// Atomic cache.
suite.addTest(new TestSuite(GridCacheAtomicLocalMetricsSelfTest.class));
[13/18] incubator-ignite git commit: GG-9141 - Enabling passing tests.
Posted by sb...@apache.org.
GG-9141 - Enabling passing tests.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/2ad4e6d1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/2ad4e6d1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/2ad4e6d1
Branch: refs/heads/ignite-41
Commit: 2ad4e6d1a405b68221e096d315fc98244e459fcf
Parents: a94ce93
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Sun Dec 14 11:50:51 2014 -0800
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Sun Dec 14 11:50:51 2014 -0800
----------------------------------------------------------------------
.../testsuites/GridCacheDataStructuresSelfTestSuite.java | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2ad4e6d1/modules/core/src/test/java/org/gridgain/testsuites/GridCacheDataStructuresSelfTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/testsuites/GridCacheDataStructuresSelfTestSuite.java b/modules/core/src/test/java/org/gridgain/testsuites/GridCacheDataStructuresSelfTestSuite.java
index c7f43b9..9c1ce37 100644
--- a/modules/core/src/test/java/org/gridgain/testsuites/GridCacheDataStructuresSelfTestSuite.java
+++ b/modules/core/src/test/java/org/gridgain/testsuites/GridCacheDataStructuresSelfTestSuite.java
@@ -35,7 +35,7 @@ public class GridCacheDataStructuresSelfTestSuite extends TestSuite {
// suite.addTest(new TestSuite(GridCachePartitionedQueueFailoverDataConsistencySelfTest.class)); // TODO GG-9141
suite.addTest(new TestSuite(GridCachePartitionedAtomicQueueFailoverDataConsistencySelfTest.class));
-// suite.addTest(new TestSuite(GridCacheLocalSequenceApiSelfTest.class)); // TODO GG-9141
+ suite.addTest(new TestSuite(GridCacheLocalSequenceApiSelfTest.class));
suite.addTest(new TestSuite(GridCacheLocalSetSelfTest.class));
suite.addTest(new TestSuite(GridCacheLocalAtomicSetSelfTest.class));
suite.addTest(new TestSuite(GridCacheLocalQueueApiSelfTest.class));
@@ -76,8 +76,8 @@ public class GridCacheDataStructuresSelfTestSuite extends TestSuite {
// TODO: GG-4807 Uncomment when fix
// suite.addTest(new TestSuite(GridCacheQueueMultiNodeConsistencySelfTest.class));
-// suite.addTest(new TestSuite(GridCacheCountDownLatchSelfTest.class)); // TODO GG-9141
-// suite.addTest(new TestSuite(GridCacheAtomicLongApiSelfTest.class)); // TODO GG-9141
+ suite.addTest(new TestSuite(GridCacheCountDownLatchSelfTest.class));
+ suite.addTest(new TestSuite(GridCacheAtomicLongApiSelfTest.class));
suite.addTest(new TestSuite(GridCachePartitionedAtomicSequenceMultiThreadedTest.class));
[15/18] incubator-ignite git commit: GG-9141 - Fixed exchange future.
Posted by sb...@apache.org.
GG-9141 - Fixed exchange future.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/cbd30af3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/cbd30af3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/cbd30af3
Branch: refs/heads/ignite-41
Commit: cbd30af3032f123b458437526ef4e5cef1512542
Parents: fa69fe8
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Mon Dec 15 16:27:32 2014 -0800
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Mon Dec 15 16:27:32 2014 -0800
----------------------------------------------------------------------
.../processors/cache/GridCacheStoreManager.java | 11 +++--------
.../preloader/GridDhtPartitionsExchangeFuture.java | 6 ++++--
.../GridCacheDhtPreloadMultiThreadedSelfTest.java | 17 +++++------------
3 files changed, 12 insertions(+), 22 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cbd30af3/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheStoreManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheStoreManager.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheStoreManager.java
index f8b7623..e80f8b7 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheStoreManager.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheStoreManager.java
@@ -167,8 +167,7 @@ public class GridCacheStoreManager<K, V> extends GridCacheManagerAdapter<K, V> {
* @return Whether DHT transaction can write to store from DHT.
*/
public boolean writeToStoreFromDht() {
- // TODO GG-9141
- return false;
+ return cctx.config().isWriteBehindEnabled() || locStore;
}
/**
@@ -193,9 +192,7 @@ public class GridCacheStoreManager<K, V> extends GridCacheManagerAdapter<K, V> {
return true;
}
- Collection<? extends K> keys0;
-
- keys0 = convertPortable ?
+ Collection<? extends K> keys0 = convertPortable ?
F.viewReadOnly(keys, new C1<K, K>() {
@Override public K apply(K k) {
return (K)cctx.unwrapPortableIfNeeded(k, false);
@@ -443,9 +440,7 @@ public class GridCacheStoreManager<K, V> extends GridCacheManagerAdapter<K, V> {
}
if (store != null) {
- Collection<? extends K> keys0;
-
- keys0 = convertPortable ?
+ Collection<? extends K> keys0 = convertPortable ?
F.viewReadOnly(keys, new C1<K, K>() {
@Override public K apply(K k) {
return (K)cctx.unwrapPortableIfNeeded(k, false);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cbd30af3/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
index 0a95411..65b4522 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
@@ -912,8 +912,10 @@ public class GridDhtPartitionsExchangeFuture<K, V> extends GridFutureAdapter<Lon
// If local node is just joining.
if (exchId.nodeId().equals(cctx.localNodeId())) {
try {
- for (GridCacheContext<K, V> cacheCtx : cctx.cacheContexts())
- cacheCtx.topology().beforeExchange(exchId);
+ for (GridCacheContext<K, V> cacheCtx : cctx.cacheContexts()) {
+ if (!cacheCtx.isLocal())
+ cacheCtx.topology().beforeExchange(exchId);
+ }
}
catch (IgniteCheckedException e) {
onDone(e);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cbd30af3/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheDhtPreloadMultiThreadedSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheDhtPreloadMultiThreadedSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheDhtPreloadMultiThreadedSelfTest.java
index 5342bc8..3277c68 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheDhtPreloadMultiThreadedSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheDhtPreloadMultiThreadedSelfTest.java
@@ -32,9 +32,6 @@ public class GridCacheDhtPreloadMultiThreadedSelfTest extends GridCommonAbstract
/** IP finder. */
private static final TcpDiscoveryIpFinder IP_FINDER = new TcpDiscoveryVmIpFinder(true);
- /** */
- private boolean cacheEnabled = true;
-
/**
* Creates new test.
*/
@@ -126,7 +123,7 @@ public class GridCacheDhtPreloadMultiThreadedSelfTest extends GridCommonAbstract
/**
* @throws Exception If failed.
*/
- public void _testConcurrentNodesStartStop() throws Exception { // TODO GG-9141
+ public void testConcurrentNodesStartStop() throws Exception {
try {
multithreadedAsync(
new Callable<Object>() {
@@ -156,16 +153,12 @@ public class GridCacheDhtPreloadMultiThreadedSelfTest extends GridCommonAbstract
cfg.setGridName(gridName);
- if (cacheEnabled) {
- for (GridCacheConfiguration cCfg : cfg.getCacheConfiguration()) {
- if (cCfg.getCacheMode() == GridCacheMode.PARTITIONED) {
- cCfg.setAffinity(new GridCacheConsistentHashAffinityFunction(2048, null));
- cCfg.setBackups(1);
- }
+ for (GridCacheConfiguration cCfg : cfg.getCacheConfiguration()) {
+ if (cCfg.getCacheMode() == GridCacheMode.PARTITIONED) {
+ cCfg.setAffinity(new GridCacheConsistentHashAffinityFunction(2048, null));
+ cCfg.setBackups(1);
}
}
- else
- cfg.setCacheConfiguration();
((TcpDiscoverySpi)cfg.getDiscoverySpi()).setIpFinder(IP_FINDER);
[11/18] incubator-ignite git commit: GG-9141 - Enabling passing tests.
Posted by sb...@apache.org.
GG-9141 - Enabling passing tests.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/806a44d1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/806a44d1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/806a44d1
Branch: refs/heads/ignite-41
Commit: 806a44d1ab2dae571f7817741fead3e858b48f67
Parents: ec62ccc
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Sun Dec 14 11:47:17 2014 -0800
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Sun Dec 14 11:47:17 2014 -0800
----------------------------------------------------------------------
.../rest/handlers/cache/GridCacheCommandHandlerSelfTest.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/806a44d1/modules/core/src/test/java/org/gridgain/grid/kernal/processors/rest/handlers/cache/GridCacheCommandHandlerSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/rest/handlers/cache/GridCacheCommandHandlerSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/rest/handlers/cache/GridCacheCommandHandlerSelfTest.java
index cafff4e..c0dde12 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/rest/handlers/cache/GridCacheCommandHandlerSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/rest/handlers/cache/GridCacheCommandHandlerSelfTest.java
@@ -118,7 +118,7 @@ public class GridCacheCommandHandlerSelfTest extends GridCommonAbstractTest {
* @throws Exception In case of any exception.
*/
@SuppressWarnings("NullableProblems")
- public void _testAppendPrepend() throws Exception { // TODO GG-9141
+ public void testAppendPrepend() throws Exception {
assertEquals("as" + "df", testAppend("as", "df", true));
assertEquals("df" + "as", testAppend("as", "df", false));
[16/18] incubator-ignite git commit: GG-9141 - Fixing failover tests.
Posted by sb...@apache.org.
GG-9141 - Fixing failover tests.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/03c17b8f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/03c17b8f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/03c17b8f
Branch: refs/heads/ignite-41
Commit: 03c17b8f3caaa45fd3554a5a306d6e431d74e0ca
Parents: cbd30af
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Mon Dec 15 18:48:04 2014 -0800
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Mon Dec 15 18:48:04 2014 -0800
----------------------------------------------------------------------
.../processors/cache/GridCachePartitionExchangeManager.java | 7 ++++++-
.../grid/kernal/processors/cache/GridCacheTxLocalAdapter.java | 2 +-
.../testsuites/bamboo/GridCacheFailoverTestSuite.java | 4 ----
3 files changed, 7 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/03c17b8f/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCachePartitionExchangeManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCachePartitionExchangeManager.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCachePartitionExchangeManager.java
index b0c319d..201b960 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCachePartitionExchangeManager.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCachePartitionExchangeManager.java
@@ -470,6 +470,9 @@ public class GridCachePartitionExchangeManager<K, V> extends GridCacheSharedMana
m.addFullPartitionsMap(cacheCtx.cacheId(), cacheCtx.topology().partitionMap(true));
}
+ for (GridClientPartitionTopology<K, V> top : cctx.exchange().clientTopologies())
+ m.addFullPartitionsMap(top.cacheId(), top.partitionMap(true));
+
if (log.isDebugEnabled())
log.debug("Sending all partitions [nodeIds=" + U.nodeIds(nodes) + ", msg=" + m + ']');
@@ -587,7 +590,9 @@ public class GridCachePartitionExchangeManager<K, V> extends GridCacheSharedMana
if (!cacheCtx.isLocal()) {
GridDhtPartitionTopology<K, V> top = cacheCtx.topology();
- updated |= top.update(null, msg.partitions().get(cacheCtx.cacheId())) != null;
+ GridDhtPartitionFullMap partMap = msg.partitions().get(cacheCtx.cacheId());
+
+ updated |= top.update(null, partMap) != null;
}
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/03c17b8f/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
index b7fa4b2..abb9fef 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
@@ -2093,7 +2093,7 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
if (log.isDebugEnabled())
log.debug("Got removed entry in putAllAsync method (will retry): " + cached);
- txEntry.cached(entryEx(cacheCtx, txEntry.txKey()), txEntry.keyBytes());
+ txEntry.cached(entryEx(cached.context(), txEntry.txKey()), txEntry.keyBytes());
}
}
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/03c17b8f/modules/core/src/test/java/org/gridgain/testsuites/bamboo/GridCacheFailoverTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/testsuites/bamboo/GridCacheFailoverTestSuite.java b/modules/core/src/test/java/org/gridgain/testsuites/bamboo/GridCacheFailoverTestSuite.java
index 65c6d07..7584e00 100644
--- a/modules/core/src/test/java/org/gridgain/testsuites/bamboo/GridCacheFailoverTestSuite.java
+++ b/modules/core/src/test/java/org/gridgain/testsuites/bamboo/GridCacheFailoverTestSuite.java
@@ -26,10 +26,6 @@ public class GridCacheFailoverTestSuite extends TestSuite {
public static TestSuite suite() throws Exception {
TestSuite suite = new TestSuite("Gridgain Cache Failover Test Suite");
- // TODO GG-9141
- if (true)
- return suite;
-
suite.addTestSuite(GridCacheAtomicInvalidPartitionHandlingSelfTest.class);
// Group lock failover.
[18/18] incubator-ignite git commit: # ignite-41
Posted by sb...@apache.org.
# ignite-41
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/688a2e71
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/688a2e71
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/688a2e71
Branch: refs/heads/ignite-41
Commit: 688a2e71509b9b3cebd148045d7388386e5ce0fb
Parents: e85a938
Author: sboikov <sb...@gridgain.com>
Authored: Tue Dec 16 13:06:26 2014 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Tue Dec 16 18:11:24 2014 +0300
----------------------------------------------------------------------
.../processors/cache/GridCacheAdapter.java | 3 +-
.../processors/cache/GridCacheIoManager.java | 2 +
.../processors/cache/GridCacheMapEntry.java | 31 +-
.../cache/GridCacheTxLocalAdapter.java | 58 +++-
.../cache/GridCacheUpdateAtomicResult.java | 2 +-
.../distributed/GridCacheExpiryPolicy.java | 74 ++++-
.../GridDistributedTxRemoteAdapter.java | 2 +
.../dht/atomic/GridDhtAtomicCache.java | 79 +++--
.../dht/atomic/GridDhtAtomicUpdateFuture.java | 30 +-
.../dht/atomic/GridDhtAtomicUpdateRequest.java | 172 ++++++----
.../atomic/GridNearAtomicUpdateResponse.java | 111 ++++++-
.../distributed/near/GridNearAtomicCache.java | 35 ++-
.../expiry/IgniteCacheExpiryPolicyTest.java | 310 +++++++++++++++++--
13 files changed, 749 insertions(+), 160 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/688a2e71/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
index f1f4436..39b7338 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
@@ -2043,8 +2043,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
return tx.putAllAsync(ctx, F.t(key, val), true, cached, ttl, filter).get().value();
}
- @Override
- public String toString() {
+ @Override public String toString() {
return "put [key=" + key + ", val=" + val + ", filter=" + Arrays.toString(filter) + ']';
}
}));
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/688a2e71/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheIoManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheIoManager.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheIoManager.java
index a222c32..a50e461 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheIoManager.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheIoManager.java
@@ -200,6 +200,8 @@ public class GridCacheIoManager<K, V> extends GridCacheSharedManagerAdapter<K, V
unmarshall(nodeId, cacheMsg);
+ log.info("Message: " + cacheMsg);
+
if (cacheMsg.allowForStartup())
processMessage(nodeId, cacheMsg, c);
else {
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/688a2e71/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMapEntry.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMapEntry.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMapEntry.java
index 6483c8a..2c377e7 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMapEntry.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMapEntry.java
@@ -151,7 +151,7 @@ public abstract class GridCacheMapEntry<K, V> implements GridCacheEntryEx<K, V>
*/
protected GridCacheMapEntry(GridCacheContext<K, V> cctx, K key, int hash, V val,
GridCacheMapEntry<K, V> next, long ttl, int hdrId) {
- log = U.logger(cctx.kernalContext(), logRef, this);
+ log = U.logger(cctx.kernalContext(), logRef, GridCacheMapEntry.class);
if (cctx.portableEnabled())
key = (K)cctx.kernalContext().portable().detachPortable(key);
@@ -1112,6 +1112,8 @@ public abstract class GridCacheMapEntry<K, V> implements GridCacheEntryEx<K, V>
@Nullable UUID subjId,
String taskName
) throws IgniteCheckedException, GridCacheEntryRemovedException {
+ log.info("Inner set " + key + " " + val + " " + ttl);
+
V old;
boolean valid = valid(tx != null ? tx.topologyVersion() : topVer);
@@ -1630,7 +1632,7 @@ public abstract class GridCacheMapEntry<K, V> implements GridCacheEntryEx<K, V>
return toTtl(duration);
}
- private static long toTtl(Duration duration) {
+ public static long toTtl(Duration duration) {
if (duration == null)
return -1;
@@ -1685,7 +1687,7 @@ public abstract class GridCacheMapEntry<K, V> implements GridCacheEntryEx<K, V>
GridDrResolveResult<V> drRes = null;
- long newTtl = 0L;
+ long newTtl = -1L;
long newExpireTime = 0L;
long newDrExpireTime = -1L; // Explicit DR expire time which possibly will be sent to DHT node.
@@ -1869,12 +1871,14 @@ public abstract class GridCacheMapEntry<K, V> implements GridCacheEntryEx<K, V>
}
}
+ long ttl0 = newTtl;
+
if (drRes == null) {
// Calculate TTL and expire time for local update.
if (drTtl >= 0L) {
assert drExpireTime >= 0L;
- newTtl = drTtl;
+ ttl0 = drTtl;
newExpireTime = drExpireTime;
}
else {
@@ -1902,10 +1906,9 @@ public abstract class GridCacheMapEntry<K, V> implements GridCacheEntryEx<K, V>
else
newTtl = -1L;
- if (newTtl < 0)
- newTtl = ttlExtras();
+ ttl0 = newTtl < 0 ? ttlExtras() : newTtl;
- newExpireTime = toExpireTime(newTtl);
+ newExpireTime = toExpireTime(ttl0);
}
}
@@ -1937,7 +1940,7 @@ public abstract class GridCacheMapEntry<K, V> implements GridCacheEntryEx<K, V>
// in load methods without actually holding entry lock.
updateIndex(updated, valBytes, newExpireTime, newVer, old);
- update(updated, valBytes, newExpireTime, newTtl, newVer);
+ update(updated, valBytes, newExpireTime, ttl0, newVer);
drReplicate(drType, updated, valBytes, newVer);
@@ -2048,7 +2051,7 @@ public abstract class GridCacheMapEntry<K, V> implements GridCacheEntryEx<K, V>
res = hadVal;
// Do not propagate zeroed TTL and expire time.
- newTtl = 0L;
+ newTtl = -1L;
newDrExpireTime = -1L;
}
@@ -2500,7 +2503,7 @@ public abstract class GridCacheMapEntry<K, V> implements GridCacheEntryEx<K, V>
* @param ttl Time to live.
* @return Expiration time.
*/
- protected long toExpireTime(long ttl) {
+ public static long toExpireTime(long ttl) {
long expireTime = ttl == 0 ? 0 : U.currentTimeMillis() + ttl;
// Account for overflow.
@@ -2953,14 +2956,6 @@ public abstract class GridCacheMapEntry<K, V> implements GridCacheEntryEx<K, V>
}
/** {@inheritDoc} */
- /*
- @Override public synchronized GridDrEntry<K, V> drEntry() throws IgniteCheckedException {
- return new GridDrPlainEntry<>(key, isStartVersion() ? unswap(true, true) : rawGetOrUnmarshalUnlocked(false),
- ttlExtras(), expireTimeExtras(), ver.drVersion());
- }
- */
-
- /** {@inheritDoc} */
@Override public synchronized V rawPut(V val, long ttl) {
V old = this.val;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/688a2e71/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
index abb9fef..c6888f1 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
@@ -25,6 +25,7 @@ import org.gridgain.grid.util.typedef.*;
import org.gridgain.grid.util.typedef.internal.*;
import org.jetbrains.annotations.*;
+import javax.cache.expiry.*;
import java.io.*;
import java.util.*;
import java.util.concurrent.atomic.*;
@@ -585,6 +586,8 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
addGroupTxMapping(writeSet());
if (!empty) {
+ log.info("User commit");
+
// We are holding transaction-level locks for entries here, so we can get next write version.
writeVersion(cctx.versions().next(topologyVersion()));
@@ -649,6 +652,19 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
V val = res.get2();
byte[] valBytes = res.get3();
+ if (op == CREATE || op == UPDATE && txEntry.drExpireTime() == -1L) {
+ ExpiryPolicy expiry = cacheCtx.expiry();
+
+ if (expiry != null) {
+ Duration duration = cached.hasValue() ?
+ expiry.getExpiryForUpdate() : expiry.getExpiryForCreation();
+
+ txEntry.ttl(GridCacheMapEntry.toTtl(duration));
+
+ log.info("Calculated expiry (userCommit), update=" + cached.hasValue() + ", ttl=" + txEntry.ttl() + ", detached=" + cached.detached());
+ }
+ }
+
// Preserve TTL if needed.
if (txEntry.ttl() < 0)
txEntry.ttl(cached.ttl());
@@ -1154,7 +1170,7 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
missed.put(key, ver);
if (!readCommitted()) {
- txEntry = addEntry(READ, val, null, entry, -1, filter, true, -1L, -1L, null);
+ txEntry = addEntry(READ, val, null, entry, null, filter, true, -1L, -1L, null);
if (groupLock())
txEntry.groupLockEntry(true);
@@ -1179,7 +1195,7 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
// Value for which failure occurred.
V val = e.<V>value();
- txEntry = addEntry(READ, val, null, entry, -1, CU.<K, V>empty(), false, -1L, -1L, null);
+ txEntry = addEntry(READ, val, null, entry, null, CU.<K, V>empty(), false, -1L, -1L, null);
// Mark as checked immediately for non-pessimistic.
if (val != null && !pessimistic())
@@ -1698,7 +1714,7 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
*
* @param keys Keys to enlist.
* @param cached Cached entry.
- * @param ttl Time to live for entry. If negative, leave unchanged.
+ * @param expiry Expiry policy for entry. If {@code null}, leave unchanged.
* @param implicit Implicit flag.
* @param lookup Value lookup map ({@code null} for remove).
* @param transformMap Map with transform closures if this is a transform operation.
@@ -1715,7 +1731,7 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
GridCacheContext<K, V> cacheCtx,
Collection<? extends K> keys,
@Nullable GridCacheEntryEx<K, V> cached,
- long ttl,
+ @Nullable ExpiryPolicy expiry,
boolean implicit,
@Nullable Map<? extends K, ? extends V> lookup,
@Nullable Map<? extends K, ? extends IgniteClosure<V, V>> transformMap,
@@ -1856,7 +1872,7 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
if (!readCommitted() && old != null) {
// Enlist failed filters as reads for non-read-committed mode,
// so future ops will get the same values.
- txEntry = addEntry(READ, old, null, entry, -1, CU.<K, V>empty(), false, -1L, -1L,
+ txEntry = addEntry(READ, old, null, entry, null, CU.<K, V>empty(), false, -1L, -1L,
null);
txEntry.markValid();
@@ -1869,7 +1885,7 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
}
txEntry = addEntry(lockOnly ? NOOP : rmv ? DELETE : transformClo != null ? TRANSFORM :
- old != null ? UPDATE : CREATE, val, transformClo, entry, ttl, filter, true, drTtl,
+ old != null ? UPDATE : CREATE, val, transformClo, entry, expiry, filter, true, drTtl,
drExpireTime, drVer);
if (!implicit() && readCommitted())
@@ -1956,7 +1972,7 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
}
txEntry = addEntry(rmv ? DELETE : transformClo != null ? TRANSFORM :
- v != null ? UPDATE : CREATE, val, transformClo, entry, ttl, filter, true, drTtl,
+ v != null ? UPDATE : CREATE, val, transformClo, entry, expiry, filter, true, drTtl,
drExpireTime, drVer);
enlisted.add(key);
@@ -2219,11 +2235,13 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
Collection<K> enlisted = new LinkedList<>();
+ GridCacheProjectionImpl<K, V> prj = cacheCtx.projectionPerCall();
+
final IgniteFuture<Set<K>> loadFut = enlistWrite(
cacheCtx,
keySet,
cached,
- ttl,
+ prj != null ? prj.expiry() : null,
implicit,
map0,
transformMap0,
@@ -2404,7 +2422,7 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
cacheCtx,
keys0,
/** cached entry */null,
- /** ttl */-1,
+ /** expiry */null,
implicit,
/** lookup map */null,
/** transform map */null,
@@ -2555,7 +2573,7 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
cacheCtx,
keys,
/** cached entry */null,
- /** ttl - leave unchanged */-1,
+ /** expiry - leave unchanged */null,
/** implicit */false,
/** lookup map */null,
/** transform map */null,
@@ -2652,7 +2670,7 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
/**
* @param op Cache operation.
* @param val Value.
- * @param ttl Time to leave to set to tx entry. If {@code null}, leave unchanged.
+ * @param expiryPlc Expiry policy, if {@code null}, leave unchanged.
* @param transformClos Transform closure.
* @param entry Cache entry.
* @param filter Filter.
@@ -2662,10 +2680,16 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
* @param drVer DR version.
* @return Transaction entry.
*/
- protected final GridCacheTxEntry<K, V> addEntry(GridCacheOperation op, @Nullable V val,
- @Nullable IgniteClosure<V, V> transformClos, GridCacheEntryEx<K, V> entry, long ttl,
- IgnitePredicate<GridCacheEntry<K, V>>[] filter, boolean filtersSet, long drTtl,
- long drExpireTime, @Nullable GridCacheVersion drVer) {
+ protected final GridCacheTxEntry<K, V> addEntry(GridCacheOperation op,
+ @Nullable V val,
+ @Nullable IgniteClosure<V, V> transformClos,
+ GridCacheEntryEx<K, V> entry,
+ @Nullable ExpiryPolicy expiryPlc, // TODO IGNITE-41
+ IgnitePredicate<GridCacheEntry<K, V>>[] filter,
+ boolean filtersSet,
+ long drTtl,
+ long drExpireTime,
+ @Nullable GridCacheVersion drVer) {
GridCacheTxKey<K> key = entry.txKey();
checkInternal(key);
@@ -2706,6 +2730,8 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
old.cached(entry, old.keyBytes());
old.filters(filter);
+ long ttl = -1L;
+
// Update ttl if specified.
if (drTtl >= 0L) {
assert drExpireTime >= 0L;
@@ -2721,6 +2747,8 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
log.debug("Updated transaction entry: " + txEntry);
}
else {
+ long ttl = -1L;
+
if (drTtl >= 0L)
ttl = drTtl;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/688a2e71/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheUpdateAtomicResult.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheUpdateAtomicResult.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheUpdateAtomicResult.java
index 048df15..43ca819 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheUpdateAtomicResult.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheUpdateAtomicResult.java
@@ -98,7 +98,7 @@ public class GridCacheUpdateAtomicResult<K, V> {
}
/**
- * @return New TTL.
+ * @return {@code -1} if TTL did not change, otherwise new TTL.
*/
public long newTtl() {
return newTtl;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/688a2e71/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheExpiryPolicy.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheExpiryPolicy.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheExpiryPolicy.java
index f7fe27a..3a77884 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheExpiryPolicy.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheExpiryPolicy.java
@@ -9,6 +9,9 @@
package org.gridgain.grid.kernal.processors.cache.distributed;
+import org.gridgain.grid.util.typedef.internal.*;
+import org.jetbrains.annotations.*;
+
import javax.cache.expiry.*;
import java.io.*;
import java.util.concurrent.*;
@@ -27,11 +30,24 @@ public class GridCacheExpiryPolicy implements ExpiryPolicy, Externalizable {
private static final byte UPDATE_TTL_MASK = 0x02;
/** */
+ private static final byte ACCESS_TTL_MASK = 0x04;
+
+ /** */
private Duration forCreate;
/** */
private Duration forUpdate;
+ /** */
+ private Duration forAccess;
+
+ /**
+ * Required by {@link Externalizable}.
+ */
+ public GridCacheExpiryPolicy() {
+ // No-op.
+ }
+
/**
* @param plc Expiry policy.
*/
@@ -48,9 +64,7 @@ public class GridCacheExpiryPolicy implements ExpiryPolicy, Externalizable {
/** {@inheritDoc} */
@Override public Duration getExpiryForAccess() {
- assert false;
-
- return null;
+ return forAccess;
}
/** {@inheritDoc} */
@@ -58,6 +72,38 @@ public class GridCacheExpiryPolicy implements ExpiryPolicy, Externalizable {
return forUpdate;
}
+ /**
+ * @param out Output stream.
+ * @param duration Duration.
+ * @throws IOException
+ */
+ private void writeDuration(ObjectOutput out, @Nullable Duration duration) throws IOException {
+ if (duration != null) {
+ if (duration.isEternal())
+ out.writeLong(0);
+ else if (duration.getDurationAmount() == 0)
+ out.writeLong(1);
+ else
+ out.writeLong(duration.getTimeUnit().toMillis(duration.getDurationAmount()));
+ }
+ }
+
+ /**
+ * @param in Input stream.
+ * @return Duration.
+ * @throws IOException
+ */
+ private Duration readDuration(ObjectInput in) throws IOException {
+ long ttl = in.readLong();
+
+ assert ttl >= 0;
+
+ if (ttl == 0)
+ return Duration.ETERNAL;
+
+ return new Duration(TimeUnit.MILLISECONDS, ttl);
+ }
+
/** {@inheritDoc} */
@Override public void writeExternal(ObjectOutput out) throws IOException {
byte flags = 0;
@@ -72,7 +118,18 @@ public class GridCacheExpiryPolicy implements ExpiryPolicy, Externalizable {
if (update != null)
flags |= UPDATE_TTL_MASK;
+ Duration access = plc.getExpiryForAccess();
+
+ if (access != null)
+ flags |= ACCESS_TTL_MASK;
+
out.writeByte(flags);
+
+ writeDuration(out, create);
+
+ writeDuration(out, update);
+
+ writeDuration(out, access);
}
/** {@inheritDoc} */
@@ -80,9 +137,16 @@ public class GridCacheExpiryPolicy implements ExpiryPolicy, Externalizable {
byte flags = in.readByte();
if ((flags & CREATE_TTL_MASK) != 0)
- forCreate = new Duration(TimeUnit.MILLISECONDS, in.readLong());
+ forCreate = readDuration(in);
if ((flags & UPDATE_TTL_MASK) != 0)
- forUpdate = new Duration(TimeUnit.MILLISECONDS, in.readLong());
+ forUpdate = readDuration(in);
+
+ if ((flags & ACCESS_TTL_MASK) != 0)
+ forAccess = readDuration(in);
+ }
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(GridCacheExpiryPolicy.class, this);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/688a2e71/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java
index 3cd3e2d..3b34552 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java
@@ -446,6 +446,8 @@ public class GridDistributedTxRemoteAdapter<K, V> extends GridCacheTxAdapter<K,
@SuppressWarnings({"CatchGenericClass"})
private void commitIfLocked() throws IgniteCheckedException {
if (state() == COMMITTING) {
+ log.info("commitIfLocked");
+
for (GridCacheTxEntry<K, V> txEntry : writeMap.values()) {
assert txEntry != null : "Missing transaction entry for tx: " + this;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/688a2e71/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
index fd2d98d..64c95c3 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
@@ -1355,6 +1355,8 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
req.subjectId(),
taskName);
+ assert updRes.newTtl() == -1L || (expiry != null || updRes.drExpireTime() >= 0);
+
if (dhtFut == null && !F.isEmpty(filteredReaders)) {
dhtFut = createDhtFuture(ver, req, res, completionCb, true);
@@ -1366,7 +1368,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
GridDrResolveResult<V> ctx = updRes.drResolveResult();
long ttl = updRes.newTtl();
- long drExpireTime = updRes.drExpireTime();
+ long expireTime = updRes.drExpireTime();
if (ctx == null)
newDrVer = null;
@@ -1380,19 +1382,24 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
if (req.forceTransformBackups() && op == TRANSFORM)
transformC = (IgniteClosure<V, V>)writeVal;
- if (!readersOnly)
+ if (!readersOnly) {
dhtFut.addWriteEntry(entry,
updRes.newValue(),
newValBytes,
transformC,
- drExpireTime >= 0L ? ttl : -1L,
- drExpireTime,
- newDrVer,
- drExpireTime < 0L ? req.expiry() : null);
+ updRes.newTtl(),
+ expireTime,
+ newDrVer);
+ }
if (!F.isEmpty(filteredReaders))
- dhtFut.addNearWriteEntries(filteredReaders, entry, updRes.newValue(), newValBytes,
- transformC, drExpireTime < 0L ? req.expiry() : null);
+ dhtFut.addNearWriteEntries(filteredReaders,
+ entry,
+ updRes.newValue(),
+ newValBytes,
+ transformC,
+ ttl,
+ expireTime);
}
else {
// TODO IGNITE-41 ttl could be changed.
@@ -1408,14 +1415,21 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
if (!ctx.affinity().belongs(node, entry.partition(), topVer)) {
GridDrResolveResult<V> ctx = updRes.drResolveResult();
- // TODO IGNITE-41 dr ttl for near cache.
+ long ttl = updRes.newTtl();
+ long expireTime = updRes.drExpireTime();
if (ctx != null && ctx.isMerge())
newValBytes = null;
// If put the same value as in request then do not need to send it back.
if (op == TRANSFORM || writeVal != updRes.newValue())
- res.addNearValue(i, updRes.newValue(), newValBytes);
+ res.addNearValue(i,
+ updRes.newValue(),
+ newValBytes,
+ ttl,
+ expireTime);
+ else
+ res.addNearTtl(i, ttl, expireTime);
if (updRes.newValue() != null || newValBytes != null) {
IgniteFuture<Boolean> f = entry.addReader(node.id(), req.messageId(), topVer);
@@ -1596,6 +1610,8 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
req.subjectId(),
taskName);
+ assert updRes.newTtl() == -1L || expiry != null;
+
if (intercept) {
if (op == UPDATE)
ctx.config().getInterceptor().onAfterPut(entry.key(), updRes.newValue());
@@ -1624,25 +1640,42 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
IgniteClosure<V, V> transformC = transformMap == null ? null : transformMap.get(entry.key());
if (!batchRes.readersOnly())
- dhtFut.addWriteEntry(entry, writeVal, valBytes, transformC, -1, -1, null, req.expiry());
+ dhtFut.addWriteEntry(entry,
+ writeVal,
+ valBytes,
+ transformC,
+ updRes.newTtl(),
+ -1,
+ null);
if (!F.isEmpty(filteredReaders))
- dhtFut.addNearWriteEntries(filteredReaders, entry, writeVal, valBytes, transformC,
- req.expiry());
+ dhtFut.addNearWriteEntries(filteredReaders,
+ entry,
+ writeVal,
+ valBytes,
+ transformC,
+ updRes.newTtl(),
+ -1);
}
if (hasNear) {
if (primary) {
if (!ctx.affinity().belongs(node, entry.partition(), topVer)) {
- if (req.operation() == TRANSFORM) {
- int idx = firstEntryIdx + i;
+ int idx = firstEntryIdx + i;
+ if (req.operation() == TRANSFORM) {
GridCacheValueBytes valBytesTuple = entry.valueBytes();
byte[] valBytes = valBytesTuple.getIfMarshaled();
- res.addNearValue(idx, writeVal, valBytes);
+ res.addNearValue(idx,
+ writeVal,
+ valBytes,
+ updRes.newTtl(),
+ -1);
}
+ else
+ res.addNearTtl(idx, updRes.newTtl(), -1);
if (writeVal != null || !entry.valueBytes().isNull()) {
IgniteFuture<Boolean> f = entry.addReader(node.id(), req.messageId(), topVer);
@@ -2037,8 +2070,6 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
String taskName = ctx.kernalContext().task().resolveTaskName(req.taskNameHash());
- ExpiryPolicy expiry = req.expiry() != null ? req.expiry() : ctx.expiry();
-
for (int i = 0; i < req.size(); i++) {
K key = req.key(i);
@@ -2058,6 +2089,12 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
UPDATE :
DELETE;
+ long ttl = req.drTtl(i);
+ long expireTime = req.drExpireTime(i);
+
+ if (ttl != -1L && expireTime == -1L)
+ expireTime = GridCacheMapEntry.toExpireTime(ttl);
+
GridCacheUpdateAtomicResult<K, V> updRes = entry.innerUpdate(
ver,
nodeId,
@@ -2067,15 +2104,15 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
valBytes,
/*write-through*/false,
/*retval*/false,
- expiry,
+ null,
/*event*/true,
/*metrics*/true,
/*primary*/false,
/*check version*/!req.forceTransformBackups(),
CU.<K, V>empty(),
replicate ? DR_BACKUP : DR_NONE,
- req.drTtl(i),
- req.drExpireTime(i),
+ ttl,
+ expireTime,
req.drVersion(i),
false,
intercept,
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/688a2e71/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateFuture.java
index 3c7da7b..25bc875 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateFuture.java
@@ -202,7 +202,6 @@ public class GridDhtAtomicUpdateFuture<K, V> extends GridFutureAdapter<Void>
* @param drTtl DR TTL (optional).
* @param drExpireTime DR expire time (optional).
* @param drVer DR version (optional).
- * @param expiryPlc Expiry policy.
*/
public void addWriteEntry(GridDhtCacheEntry<K, V> entry,
@Nullable V val,
@@ -210,8 +209,7 @@ public class GridDhtAtomicUpdateFuture<K, V> extends GridFutureAdapter<Void>
IgniteClosure<V, V> transformC,
long drTtl,
long drExpireTime,
- @Nullable GridCacheVersion drVer,
- @Nullable ExpiryPolicy expiryPlc) {
+ @Nullable GridCacheVersion drVer) {
long topVer = updateReq.topologyVersion();
Collection<ClusterNode> dhtNodes = cctx.dht().topology().nodes(entry.partition(), topVer);
@@ -237,7 +235,6 @@ public class GridDhtAtomicUpdateFuture<K, V> extends GridFutureAdapter<Void>
writeVer,
syncMode,
topVer,
- expiryPlc,
forceTransformBackups,
this.updateReq.subjectId(),
this.updateReq.taskNameHash());
@@ -245,8 +242,14 @@ public class GridDhtAtomicUpdateFuture<K, V> extends GridFutureAdapter<Void>
mappings.put(nodeId, updateReq);
}
- updateReq.addWriteValue(entry.key(), entry.keyBytes(), val, valBytes, transformC, drTtl,
- drExpireTime, drVer);
+ updateReq.addWriteValue(entry.key(),
+ entry.keyBytes(),
+ val,
+ valBytes,
+ transformC,
+ drTtl,
+ drExpireTime,
+ drVer);
}
}
}
@@ -256,14 +259,16 @@ public class GridDhtAtomicUpdateFuture<K, V> extends GridFutureAdapter<Void>
* @param entry Entry.
* @param val Value.
* @param valBytes Value bytes.
- * @param expiryPlc Expiry policy..
+ * @param TTL for near cache update (optional).
+ * @param expireTime Expire time for near cache update (optional).
*/
public void addNearWriteEntries(Iterable<UUID> readers,
GridDhtCacheEntry<K, V> entry,
@Nullable V val,
@Nullable byte[] valBytes,
IgniteClosure<V, V> transformC,
- @Nullable ExpiryPolicy expiryPlc) {
+ long ttl,
+ long expireTime) {
GridCacheWriteSynchronizationMode syncMode = updateReq.writeSynchronizationMode();
keys.add(entry.key());
@@ -287,7 +292,6 @@ public class GridDhtAtomicUpdateFuture<K, V> extends GridFutureAdapter<Void>
writeVer,
syncMode,
topVer,
- expiryPlc,
forceTransformBackups,
this.updateReq.subjectId(),
this.updateReq.taskNameHash());
@@ -300,7 +304,13 @@ public class GridDhtAtomicUpdateFuture<K, V> extends GridFutureAdapter<Void>
nearReadersEntries.put(entry.key(), entry);
- updateReq.addNearWriteValue(entry.key(), entry.keyBytes(), val, valBytes, transformC);
+ updateReq.addNearWriteValue(entry.key(),
+ entry.keyBytes(),
+ val,
+ valBytes,
+ transformC,
+ ttl,
+ expireTime);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/688a2e71/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateRequest.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateRequest.java
index c3b0918..fda44c9 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateRequest.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateRequest.java
@@ -77,14 +77,14 @@ public class GridDhtAtomicUpdateRequest<K, V> extends GridCacheMessage<K, V> imp
/** DR TTLs. */
private GridLongList drExpireTimes;
- /** Write synchronization mode. */
- private GridCacheWriteSynchronizationMode syncMode;
+ /** Near TTLs. */
+ private GridLongList nearTtls;
- /** Expiry policy. */
- private ExpiryPolicy expiryPlc;
+ /** Near expire times. */
+ private GridLongList nearExpireTimes;
- /** Expiry policy bytes. */
- private byte[] expiryPlcBytes;
+ /** Write synchronization mode. */
+ private GridCacheWriteSynchronizationMode syncMode;
/** Keys to update. */
@GridToStringInclude
@@ -154,7 +154,6 @@ public class GridDhtAtomicUpdateRequest<K, V> extends GridCacheMessage<K, V> imp
* @param writeVer Write version for cache values.
* @param syncMode Cache write synchronization mode.
* @param topVer Topology version.
- * @param expiryPlc Expiry policy.
* @param forceTransformBackups Force transform backups flag.
* @param subjId Subject ID.
*/
@@ -165,7 +164,6 @@ public class GridDhtAtomicUpdateRequest<K, V> extends GridCacheMessage<K, V> imp
GridCacheVersion writeVer,
GridCacheWriteSynchronizationMode syncMode,
long topVer,
- @Nullable ExpiryPolicy expiryPlc,
boolean forceTransformBackups,
UUID subjId,
int taskNameHash
@@ -175,7 +173,6 @@ public class GridDhtAtomicUpdateRequest<K, V> extends GridCacheMessage<K, V> imp
this.futVer = futVer;
this.writeVer = writeVer;
this.syncMode = syncMode;
- this.expiryPlc = expiryPlc;
this.topVer = topVer;
this.forceTransformBackups = forceTransformBackups;
this.subjId = subjId;
@@ -210,8 +207,14 @@ public class GridDhtAtomicUpdateRequest<K, V> extends GridCacheMessage<K, V> imp
* @param drExpireTime DR expire time (optional).
* @param drVer DR version (optional).
*/
- public void addWriteValue(K key, @Nullable byte[] keyBytes, @Nullable V val, @Nullable byte[] valBytes,
- IgniteClosure<V, V> transformC, long drTtl, long drExpireTime, @Nullable GridCacheVersion drVer) {
+ public void addWriteValue(K key,
+ @Nullable byte[] keyBytes,
+ @Nullable V val,
+ @Nullable byte[] valBytes,
+ IgniteClosure<V, V> transformC,
+ long drTtl,
+ long drExpireTime,
+ @Nullable GridCacheVersion drVer) {
keys.add(key);
this.keyBytes.add(keyBytes);
@@ -265,8 +268,13 @@ public class GridDhtAtomicUpdateRequest<K, V> extends GridCacheMessage<K, V> imp
* @param val Value, {@code null} if should be removed.
* @param valBytes Value bytes, {@code null} if should be removed.
*/
- public void addNearWriteValue(K key, @Nullable byte[] keyBytes, @Nullable V val, @Nullable byte[] valBytes,
- IgniteClosure<V, V> transformC) {
+ public void addNearWriteValue(K key,
+ @Nullable byte[] keyBytes,
+ @Nullable V val,
+ @Nullable byte[] valBytes,
+ IgniteClosure<V, V> transformC,
+ long ttl,
+ long expireTime) {
if (nearKeys == null) {
nearKeys = new ArrayList<>();
nearKeyBytes = new ArrayList<>();
@@ -293,6 +301,28 @@ public class GridDhtAtomicUpdateRequest<K, V> extends GridCacheMessage<K, V> imp
nearVals.add(val);
nearValBytes.add(valBytes != null ? GridCacheValueBytes.marshaled(valBytes) : null);
}
+
+ if (ttl >= 0) {
+ if (nearTtls == null) {
+ nearTtls = new GridLongList(nearKeys.size());
+
+ for (int i = 0; i < nearKeys.size() - 1; i++)
+ nearTtls.add(-1);
+ }
+
+ nearTtls.add(ttl);
+ }
+
+ if (expireTime >= 0) {
+ if (nearExpireTimes == null) {
+ nearExpireTimes = new GridLongList(nearKeys.size());
+
+ for (int i = 0; i < nearKeys.size() - 1; i++)
+ nearExpireTimes.add(-1);
+ }
+
+ nearExpireTimes.add(expireTime);
+ }
}
/** {@inheritDoc} */
@@ -364,13 +394,6 @@ public class GridDhtAtomicUpdateRequest<K, V> extends GridCacheMessage<K, V> imp
}
/**
- * @return Expiry policy.
- */
- @Nullable public ExpiryPolicy expiry() {
- return expiryPlc;
- }
-
- /**
* @return Keys.
*/
public Collection<K> keys() {
@@ -542,6 +565,20 @@ public class GridDhtAtomicUpdateRequest<K, V> extends GridCacheMessage<K, V> imp
}
/**
+ * @param idx Index.
+ * @return TTL for near cache update.
+ */
+ public long nearTtl(int idx) {
+ if (nearTtls != null) {
+ assert idx >= 0 && idx < nearTtls.size();
+
+ return nearTtls.get(idx);
+ }
+
+ return -1L;
+ }
+
+ /**
* @return DR TTLs.
*/
@Nullable public GridLongList drExpireTimes() {
@@ -562,6 +599,20 @@ public class GridDhtAtomicUpdateRequest<K, V> extends GridCacheMessage<K, V> imp
return -1L;
}
+ /**
+ * @param idx Index.
+ * @return Expire time for near cache update.
+ */
+ public long nearExpireTime(int idx) {
+ if (nearExpireTimes != null) {
+ assert idx >= 0 && idx < nearExpireTimes.size();
+
+ return nearExpireTimes.get(idx);
+ }
+
+ return -1L;
+ }
+
/** {@inheritDoc}
* @param ctx*/
@Override public void prepareMarshal(GridCacheSharedContext<K, V> ctx) throws IgniteCheckedException {
@@ -625,7 +676,6 @@ public class GridDhtAtomicUpdateRequest<K, V> extends GridCacheMessage<K, V> imp
_clone.drTtls = drTtls;
_clone.drExpireTimes = drExpireTimes;
_clone.syncMode = syncMode;
- _clone.expiryPlc = expiryPlc;
_clone.nearKeys = nearKeys;
_clone.nearKeyBytes = nearKeyBytes;
_clone.nearVals = nearVals;
@@ -635,6 +685,8 @@ public class GridDhtAtomicUpdateRequest<K, V> extends GridCacheMessage<K, V> imp
_clone.transformClosBytes = transformClosBytes;
_clone.nearTransformClos = nearTransformClos;
_clone.nearTransformClosBytes = nearTransformClosBytes;
+ _clone.nearExpireTimes = nearExpireTimes;
+ _clone.nearTtls = nearTtls;
_clone.subjId = subjId;
_clone.taskNameHash = taskNameHash;
}
@@ -746,12 +798,6 @@ public class GridDhtAtomicUpdateRequest<K, V> extends GridCacheMessage<K, V> imp
commState.idx++;
case 11:
- if (!commState.putByteArray(expiryPlcBytes))
- return false;
-
- commState.idx++;
-
- case 12:
if (valBytes != null) {
if (commState.it == null) {
if (!commState.putInt(valBytes.size()))
@@ -778,13 +824,13 @@ public class GridDhtAtomicUpdateRequest<K, V> extends GridCacheMessage<K, V> imp
commState.idx++;
- case 13:
+ case 12:
if (!commState.putCacheVersion(writeVer))
return false;
commState.idx++;
- case 14:
+ case 13:
if (nearKeyBytes != null) {
if (commState.it == null) {
if (!commState.putInt(nearKeyBytes.size()))
@@ -811,7 +857,7 @@ public class GridDhtAtomicUpdateRequest<K, V> extends GridCacheMessage<K, V> imp
commState.idx++;
- case 15:
+ case 14:
if (nearValBytes != null) {
if (commState.it == null) {
if (!commState.putInt(nearValBytes.size()))
@@ -838,13 +884,13 @@ public class GridDhtAtomicUpdateRequest<K, V> extends GridCacheMessage<K, V> imp
commState.idx++;
- case 16:
+ case 15:
if (!commState.putBoolean(forceTransformBackups))
return false;
commState.idx++;
- case 17:
+ case 16:
if (nearTransformClosBytes != null) {
if (commState.it == null) {
if (!commState.putInt(nearTransformClosBytes.size()))
@@ -871,7 +917,7 @@ public class GridDhtAtomicUpdateRequest<K, V> extends GridCacheMessage<K, V> imp
commState.idx++;
- case 18:
+ case 17:
if (transformClosBytes != null) {
if (commState.it == null) {
if (!commState.putInt(transformClosBytes.size()))
@@ -898,18 +944,29 @@ public class GridDhtAtomicUpdateRequest<K, V> extends GridCacheMessage<K, V> imp
commState.idx++;
- case 19:
+ case 18:
if (!commState.putUuid(subjId))
return false;
commState.idx++;
- case 20:
+ case 19:
if (!commState.putInt(taskNameHash))
return false;
commState.idx++;
+ case 20:
+ if (!commState.putLongList(nearExpireTimes))
+ return false;
+
+ commState.idx++;
+
+ case 21:
+ if (!commState.putLongList(nearTtls))
+ return false;
+
+ commState.idx++;
}
return true;
@@ -1041,16 +1098,6 @@ public class GridDhtAtomicUpdateRequest<K, V> extends GridCacheMessage<K, V> imp
commState.idx++;
case 11:
- byte[] expiryPlcBytes0 = commState.getByteArray();
-
- if (expiryPlcBytes0 == BYTE_ARR_NOT_READ)
- return false;
-
- expiryPlcBytes = expiryPlcBytes0;
-
- commState.idx++;
-
- case 12:
if (commState.readSize == -1) {
if (buf.remaining() < 4)
return false;
@@ -1079,7 +1126,7 @@ public class GridDhtAtomicUpdateRequest<K, V> extends GridCacheMessage<K, V> imp
commState.idx++;
- case 13:
+ case 12:
GridCacheVersion writeVer0 = commState.getCacheVersion();
if (writeVer0 == CACHE_VER_NOT_READ)
@@ -1089,7 +1136,7 @@ public class GridDhtAtomicUpdateRequest<K, V> extends GridCacheMessage<K, V> imp
commState.idx++;
- case 14:
+ case 13:
if (commState.readSize == -1) {
if (buf.remaining() < 4)
return false;
@@ -1118,7 +1165,7 @@ public class GridDhtAtomicUpdateRequest<K, V> extends GridCacheMessage<K, V> imp
commState.idx++;
- case 15:
+ case 14:
if (commState.readSize == -1) {
if (buf.remaining() < 4)
return false;
@@ -1147,7 +1194,7 @@ public class GridDhtAtomicUpdateRequest<K, V> extends GridCacheMessage<K, V> imp
commState.idx++;
- case 16:
+ case 15:
if (buf.remaining() < 1)
return false;
@@ -1155,7 +1202,7 @@ public class GridDhtAtomicUpdateRequest<K, V> extends GridCacheMessage<K, V> imp
commState.idx++;
- case 17:
+ case 16:
if (commState.readSize == -1) {
if (buf.remaining() < 4)
return false;
@@ -1184,7 +1231,7 @@ public class GridDhtAtomicUpdateRequest<K, V> extends GridCacheMessage<K, V> imp
commState.idx++;
- case 18:
+ case 17:
if (commState.readSize == -1) {
if (buf.remaining() < 4)
return false;
@@ -1213,7 +1260,7 @@ public class GridDhtAtomicUpdateRequest<K, V> extends GridCacheMessage<K, V> imp
commState.idx++;
- case 19:
+ case 18:
UUID subjId0 = commState.getUuid();
if (subjId0 == UUID_NOT_READ)
@@ -1223,7 +1270,7 @@ public class GridDhtAtomicUpdateRequest<K, V> extends GridCacheMessage<K, V> imp
commState.idx++;
- case 20:
+ case 19:
if (buf.remaining() < 4)
return false;
@@ -1231,6 +1278,25 @@ public class GridDhtAtomicUpdateRequest<K, V> extends GridCacheMessage<K, V> imp
commState.idx++;
+ case 20:
+ GridLongList nearExpireTimes0 = commState.getLongList();
+
+ if (nearExpireTimes0 == LONG_LIST_NOT_READ)
+ return false;
+
+ nearExpireTimes = nearExpireTimes0;
+
+ commState.idx++;
+
+ case 21:
+ GridLongList nearTtls0 = commState.getLongList();
+
+ if (nearTtls0 == LONG_LIST_NOT_READ)
+ return false;
+
+ nearTtls = nearTtls0;
+
+ commState.idx++;
}
return true;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/688a2e71/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java
index fd4d7dc..0be44aa 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java
@@ -12,6 +12,7 @@ package org.gridgain.grid.kernal.processors.cache.distributed.dht.atomic;
import org.apache.ignite.*;
import org.gridgain.grid.kernal.*;
import org.gridgain.grid.kernal.processors.cache.*;
+import org.gridgain.grid.util.*;
import org.gridgain.grid.util.direct.*;
import org.gridgain.grid.util.tostring.*;
import org.gridgain.grid.util.typedef.internal.*;
@@ -94,6 +95,12 @@ public class GridNearAtomicUpdateResponse<K, V> extends GridCacheMessage<K, V> i
@GridDirectVersion(1)
private GridCacheVersion nearVer;
+ /** Near TTLs. */
+ private GridLongList nearTtls;
+
+ /** Near expire times. */
+ private GridLongList nearExpireTimes;
+
/**
* Empty constructor required by {@link Externalizable}.
*/
@@ -186,20 +193,87 @@ public class GridNearAtomicUpdateResponse<K, V> extends GridCacheMessage<K, V> i
* @param keyIdx Key index.
* @param val Value.
* @param valBytes Value bytes.
+ * @param ttl TTL for near cache update.
+ * @param expireTime Expire time for near cache update.
*/
- public void addNearValue(int keyIdx, @Nullable V val, @Nullable byte[] valBytes) {
+ public void addNearValue(int keyIdx,
+ @Nullable V val,
+ @Nullable byte[] valBytes,
+ long ttl,
+ long expireTime) {
if (nearValsIdxs == null) {
nearValsIdxs = new ArrayList<>();
nearValBytes = new ArrayList<>();
nearVals = new ArrayList<>();
}
+ addNearTtl(keyIdx, ttl, expireTime);
+
nearValsIdxs.add(keyIdx);
nearVals.add(val);
nearValBytes.add(valBytes != null ? GridCacheValueBytes.marshaled(valBytes) : null);
}
/**
+ * @param ttl TTL for near cache update.
+ * @param expireTime Expire time for near cache update.
+ */
+ @SuppressWarnings("ForLoopReplaceableByForEach")
+ public void addNearTtl(int keyIdx, long ttl, long expireTime) {
+ if (ttl >= 0) {
+ if (nearTtls == null) {
+ nearTtls = new GridLongList(16);
+
+ for (int i = 0; i < keyIdx; i++)
+ nearTtls.add(-1L);
+ }
+ }
+
+ if (nearTtls != null)
+ nearTtls.add(ttl);
+
+ if (expireTime >= 0) {
+ if (nearExpireTimes == null) {
+ nearExpireTimes = new GridLongList(16);
+
+ for (int i = 0; i < keyIdx; i++)
+ nearExpireTimes.add(-1);
+ }
+ }
+
+ if (nearExpireTimes != null)
+ nearExpireTimes.add(expireTime);
+ }
+
+ /**
+ * @param idx Index.
+ * @return Expire time for near cache update.
+ */
+ public long nearExpireTime(int idx) {
+ if (nearExpireTimes != null) {
+ assert idx >= 0 && idx < nearExpireTimes.size();
+
+ return nearExpireTimes.get(idx);
+ }
+
+ return -1L;
+ }
+
+ /**
+ * @param idx Index.
+ * @return TTL for near cache update.
+ */
+ public long nearTtl(int idx) {
+ if (nearTtls != null) {
+ assert idx >= 0 && idx < nearTtls.size();
+
+ return nearTtls.get(idx);
+ }
+
+ return -1L;
+ }
+
+ /**
* @param nearVer Version generated on primary node to be used for originating node's near cache update.
*/
public void nearVersion(GridCacheVersion nearVer) {
@@ -221,6 +295,8 @@ public class GridNearAtomicUpdateResponse<K, V> extends GridCacheMessage<K, V> i
nearSkipIdxs = new ArrayList<>();
nearSkipIdxs.add(keyIdx);
+
+ addNearTtl(keyIdx, -1L, -1L);
}
/**
@@ -366,6 +442,8 @@ public class GridNearAtomicUpdateResponse<K, V> extends GridCacheMessage<K, V> i
_clone.nearVals = nearVals;
_clone.nearValBytes = nearValBytes;
_clone.nearVer = nearVer;
+ _clone.nearTtls = nearTtls;
+ _clone.nearExpireTimes = nearExpireTimes;
}
/** {@inheritDoc} */
@@ -501,6 +579,17 @@ public class GridNearAtomicUpdateResponse<K, V> extends GridCacheMessage<K, V> i
commState.idx++;
+ case 12:
+ if (!commState.putLongList(nearExpireTimes))
+ return false;
+
+ commState.idx++;
+
+ case 13:
+ if (!commState.putLongList(nearTtls))
+ return false;
+
+ commState.idx++;
}
return true;
@@ -662,6 +751,26 @@ public class GridNearAtomicUpdateResponse<K, V> extends GridCacheMessage<K, V> i
commState.idx++;
+ case 12:
+ GridLongList nearExpireTimes0 = commState.getLongList();
+
+ if (nearExpireTimes0 == LONG_LIST_NOT_READ)
+ return false;
+
+ nearExpireTimes = nearExpireTimes0;
+
+ commState.idx++;
+
+ case 13:
+ GridLongList nearTtls0 = commState.getLongList();
+
+ if (nearTtls0 == LONG_LIST_NOT_READ)
+ return false;
+
+ nearTtls = nearTtls0;
+
+ commState.idx++;
+
}
return true;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/688a2e71/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearAtomicCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearAtomicCache.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearAtomicCache.java
index 2aa32c3..1da6626 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearAtomicCache.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearAtomicCache.java
@@ -148,12 +148,19 @@ public class GridNearAtomicCache<K, V> extends GridNearCacheAdapter<K, V> {
}
}
+ long ttl = res.nearTtl(i);
+ long expireTime = res.nearExpireTime(i);
+
+ if (ttl != -1L && expireTime == -1L)
+ expireTime = GridCacheMapEntry.toExpireTime(ttl);
+
try {
processNearAtomicUpdateResponse(ver,
key,
val,
valBytes,
- req.expiry(),
+ ttl,
+ expireTime,
req.nodeId(),
req.subjectId(),
taskName);
@@ -169,7 +176,8 @@ public class GridNearAtomicCache<K, V> extends GridNearCacheAdapter<K, V> {
* @param key Key.
* @param val Value.
* @param valBytes Value bytes.
- * @param expiryPlc Expiry policy.
+ * @param ttl TTL.
+ * @param expireTime Expire time.
* @param nodeId Node ID.
* @throws IgniteCheckedException If failed.
*/
@@ -178,7 +186,8 @@ public class GridNearAtomicCache<K, V> extends GridNearCacheAdapter<K, V> {
K key,
@Nullable V val,
@Nullable byte[] valBytes,
- ExpiryPolicy expiryPlc,
+ long ttl,
+ long expireTime,
UUID nodeId,
UUID subjId,
String taskName
@@ -203,15 +212,15 @@ public class GridNearAtomicCache<K, V> extends GridNearCacheAdapter<K, V> {
valBytes,
/*write-through*/false,
/*retval*/false,
- expiryPlc != null ? expiryPlc : ctx.expiry(),
+ null,
/*event*/true,
/*metrics*/true,
/*primary*/false,
/*check version*/true,
CU.<K, V>empty(),
DR_NONE,
- -1,
- -1,
+ ttl,
+ expireTime,
null,
false,
false,
@@ -260,8 +269,6 @@ public class GridNearAtomicCache<K, V> extends GridNearCacheAdapter<K, V> {
String taskName = ctx.kernalContext().task().resolveTaskName(req.taskNameHash());
- ExpiryPolicy expiry = req.expiry() != null ? req.expiry() : ctx.expiry();
-
for (int i = 0; i < req.nearSize(); i++) {
K key = req.nearKey(i);
@@ -292,6 +299,12 @@ public class GridNearAtomicCache<K, V> extends GridNearCacheAdapter<K, V> {
UPDATE :
DELETE;
+ long ttl = req.nearTtl(i);
+ long expireTime = req.nearExpireTime(i);
+
+ if (ttl != -1L && expireTime == -1L)
+ expireTime = GridCacheMapEntry.toExpireTime(ttl);
+
GridCacheUpdateAtomicResult<K, V> updRes = entry.innerUpdate(
ver,
nodeId,
@@ -301,15 +314,15 @@ public class GridNearAtomicCache<K, V> extends GridNearCacheAdapter<K, V> {
valBytes,
/*write-through*/false,
/*retval*/false,
- expiry,
+ null,
/*event*/true,
/*metrics*/true,
/*primary*/false,
/*check version*/!req.forceTransformBackups(),
CU.<K, V>empty(),
DR_NONE,
- -1,
- -1,
+ ttl,
+ expireTime,
null,
false,
intercept,
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/688a2e71/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/expiry/IgniteCacheExpiryPolicyTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/expiry/IgniteCacheExpiryPolicyTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/expiry/IgniteCacheExpiryPolicyTest.java
index 0d22f62..f96e5a7 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/expiry/IgniteCacheExpiryPolicyTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/expiry/IgniteCacheExpiryPolicyTest.java
@@ -36,6 +36,9 @@ public class IgniteCacheExpiryPolicyTest extends IgniteCacheTest {
/** */
private Factory<? extends ExpiryPolicy> factory;
+ /** */
+ private boolean nearCache;
+
/** {@inheritDoc} */
@Override protected void beforeTestsStarted() throws Exception {
// No-op.
@@ -48,7 +51,160 @@ public class IgniteCacheExpiryPolicyTest extends IgniteCacheTest {
/** {@inheritDoc} */
@Override protected int gridCount() {
- return 2;
+ return 3;
+ }
+
+ public void testPrimary() throws Exception {
+ factory = new FactoryBuilder.SingletonFactory<>(new TestPolicy(60_000L, 61_000L, null));
+
+ nearCache = false;
+
+ boolean inTx = false;
+
+ startGrids();
+
+ IgniteCache<Integer, Integer> cache = jcache(0);
+
+ GridCache<Integer, Object> cache0 = cache(0);
+
+ Integer key = primaryKey(cache0);
+
+ log.info("Create: " + key);
+
+ GridCacheTx tx = inTx ? grid(0).transactions().txStart() : null;
+
+ cache.put(key, 1);
+
+ if (tx != null)
+ tx.commit();
+
+ checkTtl(key, 60_000);
+
+ tx = inTx ? grid(0).transactions().txStart() : null;
+
+ log.info("Update: " + key);
+
+ cache.put(key, 2);
+
+ if (tx != null)
+ tx.commit();
+
+ checkTtl(key, 61_000);
+ }
+
+ public void testBackup() throws Exception {
+ factory = new FactoryBuilder.SingletonFactory<>(new TestPolicy(60_000L, 61_000L, null));
+
+ nearCache = false;
+
+ boolean inTx = false;
+
+ startGrids();
+
+ IgniteCache<Integer, Integer> cache = jcache(0);
+
+ GridCache<Integer, Object> cache0 = cache(0);
+
+ Integer key = backupKey(cache0);
+
+ log.info("Create: " + key);
+
+ GridCacheTx tx = inTx ? grid(0).transactions().txStart() : null;
+
+ cache.put(key, 1);
+
+ if (tx != null)
+ tx.commit();
+
+ checkTtl(key, 60_000);
+
+ tx = inTx ? grid(0).transactions().txStart() : null;
+
+ log.info("Update: " + key);
+
+ cache.put(key, 2);
+
+ if (tx != null)
+ tx.commit();
+
+ checkTtl(key, 61_000);
+ }
+
+ public void testNear() throws Exception {
+ factory = new FactoryBuilder.SingletonFactory<>(new TestPolicy(60_000L, 61_000L, null));
+
+ nearCache = false;
+
+ boolean inTx = true;
+
+ startGrids();
+
+ IgniteCache<Integer, Integer> cache = jcache(0);
+
+ GridCache<Integer, Object> cache0 = cache(0);
+
+ Integer key = nearKey(cache0);
+
+ log.info("Create: " + key);
+
+ GridCacheTx tx = inTx ? grid(0).transactions().txStart() : null;
+
+ cache.put(key, 1);
+
+ if (tx != null)
+ tx.commit();
+
+ checkTtl(key, 60_000);
+
+ tx = inTx ? grid(0).transactions().txStart() : null;
+
+ log.info("Update: " + key);
+
+ cache.put(key, 2);
+
+ if (tx != null)
+ tx.commit();
+
+ checkTtl(key, 61_000);
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
+ public void test1() throws Exception {
+ factory = new FactoryBuilder.SingletonFactory<>(new TestPolicy(60_000L, null, null));
+
+ nearCache = false;
+
+ boolean inTx = true;
+
+ startGrids();
+
+ Collection<Integer> keys = keys();
+
+ IgniteCache<Integer, Integer> cache = jcache(0);
+
+ for (final Integer key : keys) {
+ log.info("Test key1: " + key);
+
+ GridCacheTx tx = inTx ? grid(0).transactions().txStart() : null;
+
+ cache.put(key, 1);
+
+ if (tx != null)
+ tx.commit();
+ }
+
+ for (final Integer key : keys) {
+ log.info("Test key2: " + key);
+
+ GridCacheTx tx = inTx ? grid(0).transactions().txStart() : null;
+
+ cache.put(key, 2);
+
+ if (tx != null)
+ tx.commit();
+ }
}
/**
@@ -93,6 +249,94 @@ public class IgniteCacheExpiryPolicyTest extends IgniteCacheTest {
}
/**
+ * @throws Exception If failed.
+ */
+ public void testNearPut() throws Exception {
+ factory = new FactoryBuilder.SingletonFactory<>(new TestPolicy(60_000L, null, null));
+
+ nearCache = true;
+
+ startGrids();
+
+ GridCache<Integer, Object> cache0 = cache(0);
+
+ Integer key = nearKey(cache0);
+
+ IgniteCache<Integer, Integer> jcache0 = jcache(0);
+
+ jcache0.put(key, 1);
+
+ checkTtl(key, 60_000);
+
+ IgniteCache<Integer, Integer> jcache1 = jcache(1);
+
+ // Update from another node with provided TTL.
+ jcache1.withExpiryPolicy(new TestPolicy(null, 1000L, null)).put(key, 2);
+
+ checkTtl(key, 1000);
+
+ waitExpired(key);
+
+ jcache1.remove(key);
+
+ jcache0.put(key, 1);
+
+ checkTtl(key, 60_000);
+
+ // Update from near node with provided TTL.
+ jcache0.withExpiryPolicy(new TestPolicy(null, 1100L, null)).put(key, 2);
+
+ checkTtl(key, 1100);
+
+ waitExpired(key);
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
+ public void testNearPutAll() throws Exception {
+ factory = new FactoryBuilder.SingletonFactory<>(new TestPolicy(60_000L, null, null));
+
+ nearCache = true;
+
+ startGrids();
+
+ Map<Integer, Integer> vals = new HashMap<>();
+
+ for (int i = 0; i < 1000; i++)
+ vals.put(i, i);
+
+ IgniteCache<Integer, Integer> jcache0 = jcache(0);
+
+ jcache0.putAll(vals);
+
+ for (Integer key : vals.keySet())
+ checkTtl(key, 60_000);
+
+ IgniteCache<Integer, Integer> jcache1 = jcache(1);
+
+ // Update from another node with provided TTL.
+ jcache1.withExpiryPolicy(new TestPolicy(null, 1000L, null)).putAll(vals);
+
+ for (Integer key : vals.keySet())
+ checkTtl(key, 1000);
+
+ waitExpired(vals.keySet());
+
+ jcache0.removeAll(vals.keySet());
+
+ jcache0.putAll(vals);
+
+ // Update from near node with provided TTL.
+ jcache1.withExpiryPolicy(new TestPolicy(null, 1101L, null)).putAll(vals);
+
+ for (Integer key : vals.keySet())
+ checkTtl(key, 1101L);
+
+ waitExpired(vals.keySet());
+ }
+
+ /**
* @return Test keys.
* @throws Exception If failed.
*/
@@ -106,7 +350,7 @@ public class IgniteCacheExpiryPolicyTest extends IgniteCacheTest {
if (gridCount() > 1) {
keys.add(backupKey(cache));
- if (cache.configuration().getDistributionMode() == NEAR_PARTITIONED)
+ if (cache.configuration().getCacheMode() != REPLICATED)
keys.add(nearKey(cache));
}
@@ -117,16 +361,27 @@ public class IgniteCacheExpiryPolicyTest extends IgniteCacheTest {
* @param key Key.
* @throws Exception If failed.
*/
- private void waitExpired(final Integer key) throws Exception {
+ private void waitExpired(Integer key) throws Exception {
+ waitExpired(Collections.singleton(key));
+ }
+
+ /**
+ * @param keys Keys.
+ * @throws Exception If failed.
+ */
+ private void waitExpired(final Collection<Integer> keys) throws Exception {
GridTestUtils.waitForCondition(new GridAbsPredicate() {
@Override public boolean apply() {
for (int i = 0; i < gridCount(); i++) {
- Object val = jcache(i).localPeek(key);
+ for (Integer key : keys) {
+ Object val = jcache(i).localPeek(key);
- log.info("Value [grid=" + i + ", val=" + val + ']');
+ if (val != null) {
+ // log.info("Value [grid=" + i + ", val=" + val + ']');
- if (val != null)
- return false;
+ return false;
+ }
+ }
}
return false;
@@ -138,17 +393,23 @@ public class IgniteCacheExpiryPolicyTest extends IgniteCacheTest {
for (int i = 0; i < gridCount(); i++) {
ClusterNode node = grid(i).cluster().localNode();
- Object val = jcache(i).localPeek(key);
+ for (Integer key : keys) {
+ Object val = jcache(i).localPeek(key);
- log.info("Value [grid=" + i +
- ", primary=" + cache.affinity().isPrimary(node, key) +
- ", backup=" + cache.affinity().isBackup(node, key) + ']');
+ if (val != null) {
+ log.info("Unexpected value [grid=" + i +
+ ", primary=" + cache.affinity().isPrimary(node, key) +
+ ", backup=" + cache.affinity().isBackup(node, key) + ']');
+ }
- assertNull("Unexpected non-null value for grid " + i, val);
+ assertNull("Unexpected non-null value for grid " + i, val);
+ }
}
- for (int i = 0; i < gridCount(); i++)
- assertNull("Unexpected non-null value for grid " + i, jcache(i).get(key));
+ for (int i = 0; i < gridCount(); i++) {
+ for (Integer key : keys)
+ assertNull("Unexpected non-null value for grid " + i, jcache(i).get(key));
+ }
}
/**
@@ -167,11 +428,8 @@ public class IgniteCacheExpiryPolicyTest extends IgniteCacheTest {
if (e == null && cache.context().isNear())
e = cache.context().near().dht().peekEx(key);
- if (e == null) {
- assertTrue(i > 0);
-
+ if (e == null)
assertTrue(!cache.affinity().isPrimaryOrBackup(grid.localNode(), key));
- }
else
assertEquals("Unexpected ttl for grid " + i, ttl, e.ttl());
}
@@ -184,10 +442,16 @@ public class IgniteCacheExpiryPolicyTest extends IgniteCacheTest {
GridCacheConfiguration cfg = super.cacheConfiguration(gridName);
cfg.setCacheMode(PARTITIONED);
- cfg.setAtomicityMode(ATOMIC);
+ cfg.setAtomicityMode(TRANSACTIONAL);
+
+ //cfg.setAtomicityMode(ATOMIC);
+
cfg.setBackups(1);
- cfg.setDistributionMode(PARTITIONED_ONLY);
+ if (nearCache && gridName.equals(getTestGridName(0)))
+ cfg.setDistributionMode(NEAR_PARTITIONED);
+ else
+ cfg.setDistributionMode(PARTITIONED_ONLY);
cfg.setExpiryPolicyFactory(factory);
@@ -213,11 +477,11 @@ public class IgniteCacheExpiryPolicyTest extends IgniteCacheTest {
* @param update TTL for update.
*/
TestPolicy(@Nullable Long create,
- @Nullable Long access,
- @Nullable Long update) {
+ @Nullable Long update,
+ @Nullable Long access) {
this.create = create;
- this.access = access;
this.update = update;
+ this.access = access;
}
/** {@inheritDoc} */
[17/18] incubator-ignite git commit: Merge remote-tracking branch
'remotes/origin/ignite-1' into ignite-41
Posted by sb...@apache.org.
Merge remote-tracking branch 'remotes/origin/ignite-1' into ignite-41
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/e85a9385
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/e85a9385
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/e85a9385
Branch: refs/heads/ignite-41
Commit: e85a9385ccfef3ac2343fab79f7edf340e798b2e
Parents: c2a5132 03c17b8
Author: sboikov <sb...@gridgain.com>
Authored: Tue Dec 16 09:29:57 2014 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Tue Dec 16 09:29:57 2014 +0300
----------------------------------------------------------------------
.../GridClientAbstractMultiNodeSelfTest.java | 9 +-
.../client/suite/GridClientTestSuite.java | 4 -
.../java/org/apache/ignite/IgniteCompute.java | 75 ++++++------
.../org/apache/ignite/IgniteTransactions.java | 20 +++-
.../grid/cache/GridCacheConfiguration.java | 115 ++-----------------
.../gridgain/grid/cache/GridCacheTxMetrics.java | 45 --------
.../grid/cache/GridCacheTxMetricsAdapter.java | 108 -----------------
.../gridgain/grid/cache/IgniteTxMetrics.java | 45 ++++++++
.../grid/cache/IgniteTxMetricsAdapter.java | 107 +++++++++++++++++
.../processors/cache/GridCacheAdapter.java | 108 +++--------------
.../processors/cache/GridCacheAttributes.java | 40 -------
.../processors/cache/GridCacheMapEntry.java | 4 +-
.../GridCachePartitionExchangeManager.java | 23 ++--
.../processors/cache/GridCacheProcessor.java | 16 ---
.../cache/GridCacheSharedContext.java | 14 ++-
.../processors/cache/GridCacheStoreManager.java | 11 +-
.../processors/cache/GridCacheTxAdapter.java | 36 +++++-
.../kernal/processors/cache/GridCacheTxEx.java | 8 +-
.../processors/cache/GridCacheTxHandler.java | 10 +-
.../cache/GridCacheTxLocalAdapter.java | 31 ++---
.../processors/cache/GridCacheTxManager.java | 20 +++-
.../distributed/dht/GridDhtCacheEntryImpl.java | 2 +-
.../dht/GridDhtTransactionalCacheAdapter.java | 2 +
.../distributed/dht/GridDhtTxFinishFuture.java | 1 -
.../distributed/dht/GridDhtTxLocalAdapter.java | 29 ++---
.../colocated/GridDhtColocatedLockFuture.java | 2 +-
.../preloader/GridDhtPartitionDemandPool.java | 2 +-
.../GridDhtPartitionsExchangeFuture.java | 6 +-
.../distributed/near/GridNearLockFuture.java | 2 +-
.../distributed/near/GridNearLockRequest.java | 25 ++++
.../cache/distributed/near/GridNearTxLocal.java | 15 ++-
.../near/GridNearTxPrepareFuture.java | 38 +++++-
.../processors/cache/local/GridLocalTx.java | 2 +-
.../transactions/IgniteTransactionsImpl.java | 101 ++++++++++++++--
.../handlers/cache/GridCacheCommandHandler.java | 1 -
.../visor/cache/VisorCacheDgcConfiguration.java | 4 -
.../ipc/shmem/GridIpcSharedMemorySpace.java | 1 -
.../tcp/GridCacheDhtLockBackupSelfTest.java | 7 --
.../GridDeploymentMessageCountSelfTest.java | 2 +-
.../GridCacheAbstractFailoverSelfTest.java | 2 -
.../cache/GridCacheAbstractMetricsSelfTest.java | 9 +-
.../GridCacheAbstractProjectionSelfTest.java | 4 +-
.../GridCacheAbstractRemoveFailureTest.java | 9 --
.../GridCacheGroupLockAbstractSelfTest.java | 49 +++-----
.../GridCacheGroupLockFailoverSelfTest.java | 3 -
...HeapMultiThreadedUpdateAbstractSelfTest.java | 2 +-
.../cache/GridCachePutAllFailoverSelfTest.java | 3 -
.../GridCacheReferenceCleanupSelfTest.java | 3 +-
...cheTransactionalAbstractMetricsSelfTest.java | 32 ++++--
.../GridCacheTxSingleThreadedAbstractTest.java | 4 +-
...dCacheQueueMultiNodeConsistencySelfTest.java | 1 -
...dCachePartitionedQueueMultiNodeSelfTest.java | 1 -
...dCacheMultithreadedFailoverAbstractTest.java | 5 +-
...cOriginatingNodeFailureAbstractSelfTest.java | 1 -
.../dht/GridCacheDhtPreloadDelayedSelfTest.java | 2 +-
...ridCacheDhtPreloadMultiThreadedSelfTest.java | 17 +--
...ockPartitionedMultiNodeAbstractSelfTest.java | 1 -
.../near/GridCacheNearMultiNodeSelfTest.java | 9 +-
.../near/GridCacheNearOneNodeSelfTest.java | 23 ++--
...titionedExplicitLockNodeFailureSelfTest.java | 1 -
...idCachePartitionedMultiNodeLockSelfTest.java | 1 -
...GridCachePartitionedNodeFailureSelfTest.java | 1 -
.../GridCachePartitionedNodeRestartTest.java | 1 -
...ePartitionedOptimisticTxNodeRestartTest.java | 1 -
.../GridCachePartitionedTxSalvageSelfTest.java | 2 -
.../near/GridCachePutArrayValueSelfTest.java | 2 -
.../GridCacheReplicatedPreloadSelfTest.java | 3 +-
.../GridCacheDistributedEvictionsSelfTest.java | 1 -
.../eviction/GridCacheEvictionAbstractTest.java | 2 +-
.../GridCacheEvictionFilterSelfTest.java | 2 +-
.../GridCacheEvictionTouchSelfTest.java | 4 +-
.../GridCacheLruNearEvictionPolicySelfTest.java | 2 +-
.../GridCacheRandomEvictionPolicySelfTest.java | 2 +-
...ridCacheContinuousQueryAbstractSelfTest.java | 1 -
.../GridDataLoaderProcessorSelfTest.java | 5 +-
.../cache/GridCacheCommandHandlerSelfTest.java | 2 +-
.../GridCacheDataStructuresSelfTestSuite.java | 6 +-
.../GridCacheEvictionSelfTestSuite.java | 2 +-
.../GridCacheMetricsSelfTestSuite.java | 4 +-
.../bamboo/GridCacheFailoverTestSuite.java | 4 -
.../bamboo/GridDataGridTestSuite.java | 6 +-
.../testsuites/GridCacheQuerySelfTestSuite.java | 10 +-
.../cache/jta/GridCacheJtaManager.java | 1 +
83 files changed, 610 insertions(+), 727 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e85a9385/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheConfiguration.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e85a9385/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e85a9385/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMapEntry.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e85a9385/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProcessor.java
----------------------------------------------------------------------
[10/18] incubator-ignite git commit: GG-9141 - Enabling passing tests.
Posted by sb...@apache.org.
GG-9141 - Enabling passing tests.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/ec62ccc3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/ec62ccc3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/ec62ccc3
Branch: refs/heads/ignite-41
Commit: ec62ccc38141046544fd8cccfefed1bdd35f4561
Parents: 766e45c
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Sun Dec 14 11:46:33 2014 -0800
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Sun Dec 14 11:46:33 2014 -0800
----------------------------------------------------------------------
.../replicated/preloader/GridCacheReplicatedPreloadSelfTest.java | 3 +--
.../processors/cache/eviction/GridCacheEvictionAbstractTest.java | 2 +-
.../cache/eviction/GridCacheEvictionFilterSelfTest.java | 2 +-
.../eviction/random/GridCacheRandomEvictionPolicySelfTest.java | 2 +-
4 files changed, 4 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ec62ccc3/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/preloader/GridCacheReplicatedPreloadSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/preloader/GridCacheReplicatedPreloadSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/preloader/GridCacheReplicatedPreloadSelfTest.java
index 29e0044..82a56a3 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/preloader/GridCacheReplicatedPreloadSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/preloader/GridCacheReplicatedPreloadSelfTest.java
@@ -13,7 +13,6 @@ import org.apache.ignite.*;
import org.apache.ignite.cluster.*;
import org.apache.ignite.configuration.*;
import org.apache.ignite.events.*;
-import org.gridgain.grid.*;
import org.gridgain.grid.cache.*;
import org.gridgain.grid.cache.affinity.*;
import org.apache.ignite.spi.discovery.tcp.*;
@@ -164,7 +163,7 @@ public class GridCacheReplicatedPreloadSelfTest extends GridCommonAbstractTest {
EVT_CACHE_PRELOAD_STARTED, EVT_CACHE_PRELOAD_STOPPED);
if (evts.size() != 2) {
- info("Wrong events collection size (will retry in 1000 ms).");
+ info("Wrong events collection size (will retry in 1000 ms): " + evts.size());
Thread.sleep(1000);
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ec62ccc3/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionAbstractTest.java
index c307bd9..5aa3cc7 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionAbstractTest.java
@@ -211,7 +211,7 @@ public abstract class GridCacheEvictionAbstractTest<T extends GridCacheEvictionP
}
/** @throws Exception If failed. */
- public void _testPartitionedNearEnabled() throws Exception { // TODO GG-9141
+ public void testPartitionedNearEnabled() throws Exception {
mode = PARTITIONED;
nearEnabled = true;
nearMax = 3;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ec62ccc3/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionFilterSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionFilterSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionFilterSelfTest.java
index d292d55..b088ecc 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionFilterSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionFilterSelfTest.java
@@ -98,7 +98,7 @@ public class GridCacheEvictionFilterSelfTest extends GridCommonAbstractTest {
}
/** @throws Exception If failed. */
- public void _testPartitioned() throws Exception { // TODO GG-9141
+ public void testPartitioned() throws Exception {
mode = PARTITIONED;
nearEnabled = true;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ec62ccc3/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/random/GridCacheRandomEvictionPolicySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/random/GridCacheRandomEvictionPolicySelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/random/GridCacheRandomEvictionPolicySelfTest.java
index a90fb8e..b7a2eec 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/random/GridCacheRandomEvictionPolicySelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/random/GridCacheRandomEvictionPolicySelfTest.java
@@ -212,7 +212,7 @@ public class GridCacheRandomEvictionPolicySelfTest extends
}
/** {@inheritDoc} */
- @Override public void _testPartitionedNearEnabled() throws Exception {
+ @Override public void testPartitionedNearEnabled() throws Exception {
// No-op.
}