Perf - Minor cleanup
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/4936c04f Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/4936c04f Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/4936c04f Branch: refs/heads/ignite-perftest-merge Commit: 4936c04f2728812ea9ab4e3bc46eaa5627b552d7 Parents: 4c9afe2 Author: Alexey Goncharuk <[email protected]> Authored: Mon Nov 16 11:56:51 2015 +0300 Committer: Alexey Goncharuk <[email protected]> Committed: Mon Nov 16 11:56:51 2015 +0300 ---------------------------------------------------------------------- .../distributed/GridDistributedBaseMessage.java | 56 -------------------- .../distributed/GridDistributedLockRequest.java | 6 --- .../GridDistributedLockResponse.java | 32 +---------- .../distributed/dht/GridDhtLockRequest.java | 2 +- .../dht/GridDhtTransactionalCacheAdapter.java | 3 -- .../cache/distributed/dht/GridDhtTxMapping.java | 29 +++++----- .../distributed/dht/GridDhtTxPrepareFuture.java | 14 +---- .../distributed/near/GridNearLockRequest.java | 4 +- .../near/GridNearTransactionalCache.java | 7 +-- .../near/GridNearTxPrepareRequest.java | 2 +- 10 files changed, 21 insertions(+), 134 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/4936c04f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedBaseMessage.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedBaseMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedBaseMessage.java index f4a16dc..ebbc9ae 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedBaseMessage.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedBaseMessage.java @@ -21,13 +21,10 @@ import java.io.Externalizable; import java.nio.ByteBuffer; import java.util.Collection; import java.util.Collections; -import org.apache.ignite.IgniteCheckedException; import org.apache.ignite.internal.GridDirectCollection; import org.apache.ignite.internal.GridDirectTransient; import org.apache.ignite.internal.processors.cache.GridCacheDeployable; import org.apache.ignite.internal.processors.cache.GridCacheMessage; -import org.apache.ignite.internal.processors.cache.GridCacheMvccCandidate; -import org.apache.ignite.internal.processors.cache.GridCacheSharedContext; import org.apache.ignite.internal.processors.cache.version.GridCacheVersion; import org.apache.ignite.internal.processors.cache.version.GridCacheVersionable; import org.apache.ignite.internal.util.tostring.GridToStringExclude; @@ -49,15 +46,6 @@ public abstract class GridDistributedBaseMessage extends GridCacheMessage implem @GridToStringInclude protected GridCacheVersion ver; - /** - * Candidates for every key ordered in the order of keys. These - * can be either local-only candidates in case of lock acquisition, - * or pending candidates in case of transaction commit. - */ - @GridToStringInclude - @GridDirectTransient - private Collection<GridCacheMvccCandidate>[] candsByIdx; - /** */ @GridToStringExclude private byte[] candsByIdxBytes; @@ -108,23 +96,6 @@ public abstract class GridDistributedBaseMessage extends GridCacheMessage implem this.ver = ver; } - /** {@inheritDoc} - * @param ctx*/ - @Override public void prepareMarshal(GridCacheSharedContext ctx) throws IgniteCheckedException { - super.prepareMarshal(ctx); - - if (candsByIdx != null) - candsByIdxBytes = ctx.marshaller().marshal(candsByIdx); - } - - /** {@inheritDoc} */ - @Override public void finishUnmarshal(GridCacheSharedContext ctx, ClassLoader ldr) throws IgniteCheckedException { - super.finishUnmarshal(ctx, ldr); - - if (candsByIdxBytes != null) - candsByIdx = ctx.marshaller().unmarshal(candsByIdxBytes, ldr); - } - /** {@inheritDoc} */ @Override public boolean addDeploymentInfo() { return addDepInfo; @@ -169,33 +140,6 @@ public abstract class GridDistributedBaseMessage extends GridCacheMessage implem } /** - * @param idx Key index. - * @param candsByIdx List of candidates for that key. - */ - @SuppressWarnings({"unchecked"}) - public void candidatesByIndex(int idx, Collection<GridCacheMvccCandidate> candsByIdx) { - assert idx < cnt; - - // If nothing to add. - if (candsByIdx == null || candsByIdx.isEmpty()) - return; - - if (this.candsByIdx == null) - this.candsByIdx = new Collection[cnt]; - - this.candsByIdx[idx] = candsByIdx; - } - - /** - * @param idx Key index. - * @return Candidates for given key. - */ - public Collection<GridCacheMvccCandidate> candidatesByIndex(int idx) { - return candsByIdx == null || - candsByIdx[idx] == null ? Collections.<GridCacheMvccCandidate>emptyList() : candsByIdx[idx]; - } - - /** * @return Count of keys referenced in candidates array (needed only locally for optimization). */ public int keysCount() { http://git-wip-us.apache.org/repos/asf/ignite/blob/4936c04f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedLockRequest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedLockRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedLockRequest.java index 2899e25..b584f8a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedLockRequest.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedLockRequest.java @@ -19,14 +19,12 @@ package org.apache.ignite.internal.processors.cache.distributed; import java.nio.ByteBuffer; import java.util.ArrayList; -import java.util.Collection; import java.util.List; import java.util.UUID; import org.apache.ignite.IgniteCheckedException; import org.apache.ignite.internal.GridDirectCollection; import org.apache.ignite.internal.GridDirectTransient; import org.apache.ignite.internal.processors.cache.GridCacheContext; -import org.apache.ignite.internal.processors.cache.GridCacheMvccCandidate; import org.apache.ignite.internal.processors.cache.GridCacheSharedContext; import org.apache.ignite.internal.processors.cache.KeyCacheObject; import org.apache.ignite.internal.processors.cache.version.GridCacheVersion; @@ -261,14 +259,12 @@ public class GridDistributedLockRequest extends GridDistributedBaseMessage { * * @param key Key. * @param retVal Flag indicating whether value should be returned. - * @param cands Candidates. * @param ctx Context. * @throws IgniteCheckedException If failed. */ public void addKeyBytes( KeyCacheObject key, boolean retVal, - @Nullable Collection<GridCacheMvccCandidate> cands, GridCacheContext ctx ) throws IgniteCheckedException { if (keys == null) @@ -276,8 +272,6 @@ public class GridDistributedLockRequest extends GridDistributedBaseMessage { keys.add(key); - candidatesByIndex(idx, cands); - retVals[idx] = retVal; idx++; http://git-wip-us.apache.org/repos/asf/ignite/blob/4936c04f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedLockResponse.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedLockResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedLockResponse.java index cdd58b5..bb3f9ff 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedLockResponse.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedLockResponse.java @@ -26,7 +26,6 @@ import org.apache.ignite.IgniteCheckedException; import org.apache.ignite.internal.GridDirectCollection; import org.apache.ignite.internal.GridDirectTransient; import org.apache.ignite.internal.processors.cache.CacheObject; -import org.apache.ignite.internal.processors.cache.GridCacheMvccCandidate; import org.apache.ignite.internal.processors.cache.GridCacheSharedContext; import org.apache.ignite.internal.processors.cache.version.GridCacheVersion; import org.apache.ignite.internal.util.tostring.GridToStringInclude; @@ -156,34 +155,11 @@ public class GridDistributedLockResponse extends GridDistributedBaseMessage { } /** - * @param idx Index of locked flag. - * @return Value of locked flag at given index. - */ - public boolean isCurrentlyLocked(int idx) { - assert idx >= 0; - - Collection<GridCacheMvccCandidate> cands = candidatesByIndex(idx); - - for (GridCacheMvccCandidate cand : cands) - if (cand.owner()) - return true; - - return false; - } - - /** - * @param idx Candidates index. - * @param cands Collection of candidates. * @param committedVers Committed versions relative to lock version. * @param rolledbackVers Rolled back versions relative to lock version. */ - public void setCandidates(int idx, Collection<GridCacheMvccCandidate> cands, - Collection<GridCacheVersion> committedVers, Collection<GridCacheVersion> rolledbackVers) { - assert idx >= 0; - + public void setCandidates(Collection<GridCacheVersion> committedVers, Collection<GridCacheVersion> rolledbackVers) { completedVersions(committedVers, rolledbackVers); - - candidatesByIndex(idx, cands); } /** @@ -218,9 +194,6 @@ public class GridDistributedLockResponse extends GridDistributedBaseMessage { prepareMarshalCacheObjects(vals, ctx.cacheContext(cacheId)); -// if (F.isEmpty(valBytes) && !F.isEmpty(vals)) -// valBytes = marshalValuesCollection(vals, ctx); - if (err != null) errBytes = ctx.marshaller().marshal(err); } @@ -231,9 +204,6 @@ public class GridDistributedLockResponse extends GridDistributedBaseMessage { finishUnmarshalCacheObjects(vals, ctx.cacheContext(cacheId), ldr); -// if (F.isEmpty(vals) && !F.isEmpty(valBytes)) -// vals = unmarshalValueBytesCollection(valBytes, ctx, ldr); - if (errBytes != null) err = ctx.marshaller().unmarshal(errBytes, ldr); } http://git-wip-us.apache.org/repos/asf/ignite/blob/4936c04f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockRequest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockRequest.java index 91ab1ca..18281d0 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockRequest.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockRequest.java @@ -236,7 +236,7 @@ public class GridDhtLockRequest extends GridDistributedLockRequest { ) throws IgniteCheckedException { invalidateEntries.set(idx, invalidateEntry); - addKeyBytes(key, false, null, ctx); + addKeyBytes(key, false, ctx); } /** http://git-wip-us.apache.org/repos/asf/ignite/blob/4936c04f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java index 1ba1c0d..f3f9d2b 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java @@ -39,7 +39,6 @@ import org.apache.ignite.internal.processors.cache.GridCacheContext; import org.apache.ignite.internal.processors.cache.GridCacheEntryEx; import org.apache.ignite.internal.processors.cache.GridCacheEntryInfo; import org.apache.ignite.internal.processors.cache.GridCacheEntryRemovedException; -import org.apache.ignite.internal.processors.cache.GridCacheFilterFailedException; import org.apache.ignite.internal.processors.cache.GridCacheLockTimeoutException; import org.apache.ignite.internal.processors.cache.GridCacheMvccCandidate; import org.apache.ignite.internal.processors.cache.GridCacheReturn; @@ -187,8 +186,6 @@ public abstract class GridDhtTransactionalCacheAdapter<K, V> extends GridDhtCach IgniteTxKey txKey = ctx.txKey(key); - assert F.isEmpty(req.candidatesByIndex(i)); - if (log.isDebugEnabled()) log.debug("Unmarshalled key: " + key); http://git-wip-us.apache.org/repos/asf/ignite/blob/4936c04f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxMapping.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxMapping.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxMapping.java index 55cbe96..5668f83 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxMapping.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxMapping.java @@ -52,22 +52,25 @@ public class GridDhtTxMapping { public void addMapping(List<ClusterNode> nodes) { ClusterNode primary = F.first(nodes); - Collection<ClusterNode> backups = F.view(nodes, F.notEqualTo(primary)); - if (last == null || !last.primary.equals(primary.id())) { - last = new TxMapping(primary, backups); + last = new TxMapping(primary); mappings.add(last); } - else - last.add(backups); Collection<UUID> storedBackups = txNodes.get(last.primary); if (storedBackups == null) txNodes.put(last.primary, storedBackups = new HashSet<>()); - storedBackups.addAll(last.backups); + // Add backups. + for (int i = 1; i < nodes.size(); i++) { + ClusterNode backup = nodes.get(i); + + last.add(backup); + + storedBackups.add(backup.id()); + } } /** @@ -153,22 +156,18 @@ public class GridDhtTxMapping { /** * @param primary Primary node. - * @param backups Backup nodes. */ - private TxMapping(ClusterNode primary, Iterable<ClusterNode> backups) { + private TxMapping(ClusterNode primary) { this.primary = primary.id(); - this.backups = new HashSet<>(); - - add(backups); + backups = new HashSet<>(); } /** - * @param backups Backup nodes. + * @param backup Backup node. */ - private void add(Iterable<ClusterNode> backups) { - for (ClusterNode n : backups) - this.backups.add(n.id()); + private void add(ClusterNode backup) { + backups.add(backup.id()); } } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/4936c04f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java index e2939b8..b1e3f22 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java @@ -1111,18 +1111,6 @@ public final class GridDhtTxPrepareFuture extends GridCompoundFuture<IgniteInter GridCacheContext<?, ?> cacheCtx = cached.context(); - if (entry.explicitVersion() == null) { - GridCacheMvccCandidate added = cached.candidate(version()); - - assert added != null : "Null candidate for non-group-lock entry " + - "[added=" + added + ", entry=" + entry + ']'; - assert added.dhtLocal() : "Got non-dht-local candidate for prepare future" + - "[added=" + added + ", entry=" + entry + ']'; - - if (added != null && added.ownerVersion() != null) - req.owned(entry.txKey(), added.ownerVersion()); - } - // Do not invalidate near entry on originating transaction node. req.invalidateNearEntry(idx, !tx.nearNodeId().equals(n.id()) && cached.readerId(n.id()) != null); @@ -1131,7 +1119,7 @@ public final class GridDhtTxPrepareFuture extends GridCompoundFuture<IgniteInter List<ClusterNode> owners = cacheCtx.topology().owners(cached.partition(), tx != null ? tx.topologyVersion() : cacheCtx.affinity().affinityTopologyVersion()); - // Do not preload if local node is partition owner. + // Do not preload if local node is a partition owner. if (!owners.contains(cctx.localNode())) req.markKeyForPreload(idx); } http://git-wip-us.apache.org/repos/asf/ignite/blob/4936c04f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockRequest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockRequest.java index 165da84..805a6a2 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockRequest.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockRequest.java @@ -20,13 +20,11 @@ package org.apache.ignite.internal.processors.cache.distributed.near; import java.io.Externalizable; import java.nio.ByteBuffer; import java.util.Arrays; -import java.util.Collection; import java.util.UUID; import org.apache.ignite.IgniteCheckedException; import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion; import org.apache.ignite.internal.processors.cache.CacheEntryPredicate; import org.apache.ignite.internal.processors.cache.GridCacheContext; -import org.apache.ignite.internal.processors.cache.GridCacheMvccCandidate; import org.apache.ignite.internal.processors.cache.GridCacheSharedContext; import org.apache.ignite.internal.processors.cache.KeyCacheObject; import org.apache.ignite.internal.processors.cache.distributed.GridDistributedLockRequest; @@ -300,7 +298,7 @@ public class GridNearLockRequest extends GridDistributedLockRequest { dhtVers[idx] = dhtVer; // Delegate to super. - addKeyBytes(key, retVal, (Collection<GridCacheMvccCandidate>)null, ctx); + addKeyBytes(key, retVal, ctx); } /** http://git-wip-us.apache.org/repos/asf/ignite/blob/4936c04f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTransactionalCache.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTransactionalCache.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTransactionalCache.java index 5ab85b2..9706baf 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTransactionalCache.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTransactionalCache.java @@ -273,7 +273,7 @@ public class GridNearTransactionalCache<K, V> extends GridNearCacheAdapter<K, V> * @throws IgniteCheckedException If failed. * @throws GridDistributedLockCancelledException If lock has been cancelled. */ - @SuppressWarnings({"RedundantTypeArguments"}) + @SuppressWarnings({"RedundantTypeArguments", "ForLoopReplaceableByForEach"}) @Nullable public GridNearTxRemote startRemoteTx(UUID nodeId, GridDhtLockRequest req) throws IgniteCheckedException, GridDistributedLockCancelledException { List<KeyCacheObject> nearKeys = req.nearKeys(); @@ -285,6 +285,7 @@ public class GridNearTransactionalCache<K, V> extends GridNearCacheAdapter<K, V> if (ldr != null) { Collection<IgniteTxKey> evicted = null; + // Avoid iterator creation. for (int i = 0; i < nearKeys.size(); i++) { KeyCacheObject key = nearKeys.get(i); @@ -293,8 +294,6 @@ public class GridNearTransactionalCache<K, V> extends GridNearCacheAdapter<K, V> IgniteTxKey txKey = ctx.txKey(key); - Collection<GridCacheMvccCandidate> cands = req.candidatesByIndex(i); - if (log.isDebugEnabled()) log.debug("Unmarshalled key: " + key); @@ -357,8 +356,6 @@ public class GridNearTransactionalCache<K, V> extends GridNearCacheAdapter<K, V> req.owned(entry.key()) ); - assert cands.isEmpty() : "Received non-empty candidates in dht lock request: " + cands; - if (!req.inTx()) ctx.evicts().touch(entry, req.topologyVersion()); } http://git-wip-us.apache.org/repos/asf/ignite/blob/4936c04f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareRequest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareRequest.java index 5a006d6..ceafaff 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareRequest.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareRequest.java @@ -71,7 +71,7 @@ public class GridNearTxPrepareRequest extends GridDistributedTxPrepareRequest { /** Implicit single flag. */ private boolean implicitSingle; - /** Explicit lock flag. Set to true if at leat one entry was explicitly locked. */ + /** Explicit lock flag. Set to true if at least one entry was explicitly locked. */ private boolean explicitLock; /** Subject ID. */
