Repository: ignite Updated Branches: refs/heads/master a634e5595 -> b4c5d0ad3
Renamed some 'mvcc lock' classes to avoid confusion with new mvcc. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/b4c5d0ad Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/b4c5d0ad Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/b4c5d0ad Branch: refs/heads/master Commit: b4c5d0ad393556db0550157d815640a6c690c8ad Parents: a634e55 Author: sboikov <[email protected]> Authored: Fri Sep 8 12:32:20 2017 +0300 Committer: sboikov <[email protected]> Committed: Fri Sep 8 12:32:20 2017 +0300 ---------------------------------------------------------------------- .../processors/cache/GridCacheLockCallback.java | 51 ++++++++++++++++++++ .../processors/cache/GridCacheMvccCallback.java | 51 -------------------- .../processors/cache/GridCacheMvccFuture.java | 37 -------------- .../processors/cache/GridCacheMvccManager.java | 46 +++++++++--------- .../cache/GridCacheVersionedFuture.java | 37 ++++++++++++++ .../distributed/dht/GridDhtLockFuture.java | 6 +-- .../dht/GridDhtTransactionalCacheAdapter.java | 2 +- .../distributed/dht/GridDhtTxPrepareFuture.java | 6 +-- .../dht/colocated/GridDhtColocatedCache.java | 2 +- .../colocated/GridDhtColocatedLockFuture.java | 6 +-- .../distributed/near/GridNearLockFuture.java | 6 +-- ...arOptimisticSerializableTxPrepareFuture.java | 2 +- .../near/GridNearOptimisticTxPrepareFuture.java | 2 +- .../GridNearPessimisticTxPrepareFuture.java | 2 +- .../near/GridNearTransactionalCache.java | 2 +- .../cache/distributed/near/GridNearTxLocal.java | 4 +- .../near/GridNearTxPrepareFutureAdapter.java | 4 +- .../processors/cache/local/GridLocalCache.java | 5 +- .../cache/local/GridLocalLockFuture.java | 4 +- .../cache/transactions/IgniteTxHandler.java | 4 +- .../cache/transactions/IgniteTxManager.java | 6 +-- 21 files changed, 141 insertions(+), 144 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/b4c5d0ad/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheLockCallback.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheLockCallback.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheLockCallback.java new file mode 100644 index 0000000..2f68d4b --- /dev/null +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheLockCallback.java @@ -0,0 +1,51 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.internal.processors.cache; + +import org.apache.ignite.internal.processors.cache.distributed.GridDistributedCacheEntry; + +/** + * Lock and Unlock callbacks. + */ +public interface GridCacheLockCallback { + /** + * Called when entry gets a first candidate. This call + * happens within entry internal synchronization. + * + * @param entry Entry. + */ + public void onLocked(GridDistributedCacheEntry entry); + + /** + * Called when entry lock ownership changes. This call + * happens outside of synchronization so external callbacks + * can be made from this call. + * + * @param entry Entry. + * @param owner Current owner. + */ + public void onOwnerChanged(GridCacheEntryEx entry, GridCacheMvccCandidate owner); + + /** + * Called when entry has no more candidates. This call happens + * within entry internal synchronization. + * + * @param entry Entry + */ + public void onFreed(GridDistributedCacheEntry entry); +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/b4c5d0ad/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvccCallback.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvccCallback.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvccCallback.java deleted file mode 100644 index 2ba41f7..0000000 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvccCallback.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.ignite.internal.processors.cache; - -import org.apache.ignite.internal.processors.cache.distributed.GridDistributedCacheEntry; - -/** - * Lock and Unlock callbacks. - */ -public interface GridCacheMvccCallback { - /** - * Called when entry gets a first candidate. This call - * happens within entry internal synchronization. - * - * @param entry Entry. - */ - public void onLocked(GridDistributedCacheEntry entry); - - /** - * Called when entry lock ownership changes. This call - * happens outside of synchronization so external callbacks - * can be made from this call. - * - * @param entry Entry. - * @param owner Current owner. - */ - public void onOwnerChanged(GridCacheEntryEx entry, GridCacheMvccCandidate owner); - - /** - * Called when entry has no more candidates. This call happens - * within entry internal synchronization. - * - * @param entry Entry - */ - public void onFreed(GridDistributedCacheEntry entry); -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/b4c5d0ad/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvccFuture.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvccFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvccFuture.java deleted file mode 100644 index 080a6f1..0000000 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvccFuture.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.ignite.internal.processors.cache; - -import org.apache.ignite.internal.processors.cache.version.GridCacheVersion; - -/** - * Distributed future aware of MVCC locking. - */ -public interface GridCacheMvccFuture<T> extends GridCacheFuture<T> { - /** - * @return Future version. - */ - public GridCacheVersion version(); - - /** - * @param entry Entry which received new owner. - * @param owner Owner. - * @return {@code True} if future cares about this entry. - */ - public boolean onOwnerChanged(GridCacheEntryEx entry, GridCacheMvccCandidate owner); -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/b4c5d0ad/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvccManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvccManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvccManager.java index 09bf762..71df71f 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvccManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvccManager.java @@ -107,7 +107,7 @@ public class GridCacheMvccManager extends GridCacheSharedManagerAdapter { /** Active futures mapped by version ID. */ @GridToStringExclude - private final ConcurrentMap<GridCacheVersion, Collection<GridCacheMvccFuture<?>>> mvccFuts = newMap(); + private final ConcurrentMap<GridCacheVersion, Collection<GridCacheVersionedFuture<?>>> verFuts = newMap(); /** Pending atomic futures. */ private final ConcurrentHashMap8<Long, GridCacheAtomicFuture<?>> atomicFuts = new ConcurrentHashMap8<>(); @@ -150,7 +150,7 @@ public class GridCacheMvccManager extends GridCacheSharedManagerAdapter { /** Lock callback. */ @GridToStringExclude - private final GridCacheMvccCallback cb = new GridCacheMvccCallback() { + private final GridCacheLockCallback cb = new GridCacheLockCallback() { /** {@inheritDoc} */ @SuppressWarnings({"unchecked"}) @Override public void onOwnerChanged(final GridCacheEntryEx entry, final GridCacheMvccCandidate owner) { @@ -203,10 +203,10 @@ public class GridCacheMvccManager extends GridCacheSharedManagerAdapter { log.debug("Received owner changed callback [" + entry.key() + ", owner=" + owner + ']'); if (owner != null && (owner.local() || owner.nearLocal())) { - Collection<GridCacheMvccFuture<?>> futCol = mvccFuts.get(owner.version()); + Collection<GridCacheVersionedFuture<?>> futCol = verFuts.get(owner.version()); if (futCol != null) { - ArrayList<GridCacheMvccFuture<?>> futColCp; + ArrayList<GridCacheVersionedFuture<?>> futColCp; synchronized (futCol) { futColCp = new ArrayList<>(futCol.size()); @@ -215,9 +215,9 @@ public class GridCacheMvccManager extends GridCacheSharedManagerAdapter { } // Must invoke onOwnerChanged outside of synchronization block. - for (GridCacheMvccFuture<?> fut : futColCp) { + for (GridCacheVersionedFuture<?> fut : futColCp) { if (!fut.isDone()) { - final GridCacheMvccFuture<Boolean> mvccFut = (GridCacheMvccFuture<Boolean>)fut; + final GridCacheVersionedFuture<Boolean> mvccFut = (GridCacheVersionedFuture<Boolean>)fut; // Since this method is called outside of entry synchronization, // we can safely invoke any method on the future. @@ -284,7 +284,7 @@ public class GridCacheMvccManager extends GridCacheSharedManagerAdapter { /** * @return MVCC callback. */ - public GridCacheMvccCallback callback() { + public GridCacheLockCallback callback() { return cb; } @@ -301,7 +301,7 @@ public class GridCacheMvccManager extends GridCacheSharedManagerAdapter { public Collection<GridCacheFuture<?>> activeFutures() { ArrayList<GridCacheFuture<?>> col = new ArrayList<>(); - for (Collection<GridCacheMvccFuture<?>> futs : mvccFuts.values()) { + for (Collection<GridCacheVersionedFuture<?>> futs : verFuts.values()) { synchronized (futs) { col.addAll(futs); } @@ -510,7 +510,7 @@ public class GridCacheMvccManager extends GridCacheSharedManagerAdapter { * @return {@code True} if added. */ @SuppressWarnings({"SynchronizationOnLocalVariableOrMethodParameter"}) - public boolean addFuture(final GridCacheMvccFuture<?> fut) { + public boolean addFuture(final GridCacheVersionedFuture<?> fut) { if (fut.isDone()) { fut.markNotTrackable(); @@ -521,10 +521,10 @@ public class GridCacheMvccManager extends GridCacheSharedManagerAdapter { return true; while (true) { - Collection<GridCacheMvccFuture<?>> old = mvccFuts.get(fut.version()); + Collection<GridCacheVersionedFuture<?>> old = verFuts.get(fut.version()); if (old == null) { - Collection<GridCacheMvccFuture<?>> col = new HashSet<GridCacheMvccFuture<?>>(U.capacity(1), 0.75f) { + Collection<GridCacheVersionedFuture<?>> col = new HashSet<GridCacheVersionedFuture<?>>(U.capacity(1), 0.75f) { { // Make sure that we add future to queue before // adding queue to the map of futures. @@ -540,7 +540,7 @@ public class GridCacheMvccManager extends GridCacheSharedManagerAdapter { } }; - old = mvccFuts.putIfAbsent(fut.version(), col); + old = verFuts.putIfAbsent(fut.version(), col); } if (old != null) { @@ -555,7 +555,7 @@ public class GridCacheMvccManager extends GridCacheSharedManagerAdapter { // Future is being removed, so we force-remove here and try again. if (empty) { - if (mvccFuts.remove(fut.version(), old)) { + if (verFuts.remove(fut.version(), old)) { if (log.isDebugEnabled()) log.debug("Removed future list from futures map for lock version: " + fut.version()); } @@ -587,7 +587,7 @@ public class GridCacheMvccManager extends GridCacheSharedManagerAdapter { // Just in case if future was completed before it was added. if (fut.isDone()) - removeMvccFuture(fut); + removeVersionedFuture(fut); else onFutureAdded(fut); @@ -625,11 +625,11 @@ public class GridCacheMvccManager extends GridCacheSharedManagerAdapter { * @return {@code True} if removed. */ @SuppressWarnings({"SynchronizationOnLocalVariableOrMethodParameter"}) - public boolean removeMvccFuture(GridCacheMvccFuture<?> fut) { + public boolean removeVersionedFuture(GridCacheVersionedFuture<?> fut) { if (!fut.trackable()) return true; - Collection<GridCacheMvccFuture<?>> cur = mvccFuts.get(fut.version()); + Collection<GridCacheVersionedFuture<?>> cur = verFuts.get(fut.version()); if (cur == null) return false; @@ -649,7 +649,7 @@ public class GridCacheMvccManager extends GridCacheSharedManagerAdapter { else if (log.isDebugEnabled()) log.debug("Attempted to remove a non-registered future (has it been already removed?): " + fut); - if (empty && mvccFuts.remove(fut.version(), cur)) + if (empty && verFuts.remove(fut.version(), cur)) if (log.isDebugEnabled()) log.debug("Removed future list from futures map for lock version: " + fut.version()); @@ -664,12 +664,12 @@ public class GridCacheMvccManager extends GridCacheSharedManagerAdapter { * @return Future. */ @SuppressWarnings({"unchecked"}) - @Nullable public GridCacheMvccFuture<?> mvccFuture(GridCacheVersion ver, IgniteUuid futId) { - Collection<GridCacheMvccFuture<?>> futs = this.mvccFuts.get(ver); + @Nullable public GridCacheVersionedFuture<?> versionedFuture(GridCacheVersion ver, IgniteUuid futId) { + Collection<GridCacheVersionedFuture<?>> futs = this.verFuts.get(ver); if (futs != null) { synchronized (futs) { - for (GridCacheMvccFuture<?> fut : futs) { + for (GridCacheVersionedFuture<?> fut : futs) { if (fut.futureId().equals(futId)) { if (log.isDebugEnabled()) log.debug("Found future in futures map: " + fut); @@ -693,8 +693,8 @@ public class GridCacheMvccManager extends GridCacheSharedManagerAdapter { * @return Futures. */ @SuppressWarnings({"unchecked"}) - @Nullable public Collection<GridCacheMvccFuture<?>> mvccFutures(GridCacheVersion ver) { - Collection<GridCacheMvccFuture<?>> futs = this.mvccFuts.get(ver); + @Nullable public Collection<GridCacheVersionedFuture<?>> futuresForVersion(GridCacheVersion ver) { + Collection<GridCacheVersionedFuture<?>> futs = this.verFuts.get(ver); if (futs != null) { synchronized (futs) { @@ -1008,7 +1008,7 @@ public class GridCacheMvccManager extends GridCacheSharedManagerAdapter { X.println(">>> Mvcc manager memory stats [igniteInstanceName=" + cctx.igniteInstanceName() + ']'); X.println(">>> rmvLocksSize: " + rmvLocks.sizex()); X.println(">>> lockedSize: " + locked.size()); - X.println(">>> futsSize: " + (mvccFuts.size() + futs.size())); + X.println(">>> futsSize: " + (verFuts.size() + futs.size())); X.println(">>> near2dhtSize: " + near2dht.size()); X.println(">>> finishFutsSize: " + finishFuts.sizex()); } http://git-wip-us.apache.org/repos/asf/ignite/blob/b4c5d0ad/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheVersionedFuture.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheVersionedFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheVersionedFuture.java new file mode 100644 index 0000000..f513b69 --- /dev/null +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheVersionedFuture.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.internal.processors.cache; + +import org.apache.ignite.internal.processors.cache.version.GridCacheVersion; + +/** + * Distributed future aware of lock version. + */ +public interface GridCacheVersionedFuture<T> extends GridCacheFuture<T> { + /** + * @return Future version. + */ + public GridCacheVersion version(); + + /** + * @param entry Entry which received new owner. + * @param owner Owner. + * @return {@code True} if future cares about this entry. + */ + public boolean onOwnerChanged(GridCacheEntryEx entry, GridCacheMvccCandidate owner); +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/b4c5d0ad/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockFuture.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockFuture.java index 4119e6f..e0a0260 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockFuture.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockFuture.java @@ -45,7 +45,7 @@ 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.GridCacheMvccCandidate; -import org.apache.ignite.internal.processors.cache.GridCacheMvccFuture; +import org.apache.ignite.internal.processors.cache.GridCacheVersionedFuture; import org.apache.ignite.internal.processors.cache.GridCacheOperation; import org.apache.ignite.internal.processors.cache.KeyCacheObject; import org.apache.ignite.internal.processors.cache.distributed.GridCacheMappedVersion; @@ -80,7 +80,7 @@ import static org.apache.ignite.internal.processors.dr.GridDrType.DR_PRELOAD; * Cache lock future. */ public final class GridDhtLockFuture extends GridCacheCompoundIdentityFuture<Boolean> - implements GridCacheMvccFuture<Boolean>, GridDhtFuture<Boolean>, GridCacheMappedVersion { + implements GridCacheVersionedFuture<Boolean>, GridDhtFuture<Boolean>, GridCacheMappedVersion { /** */ private static final long serialVersionUID = 0L; @@ -740,7 +740,7 @@ public final class GridDhtLockFuture extends GridCacheCompoundIdentityFuture<Boo log.debug("Completing future: " + this); // Clean up. - cctx.mvcc().removeMvccFuture(this); + cctx.mvcc().removeVersionedFuture(this); if (timeoutObj != null) cctx.time().removeTimeoutObject(timeoutObj); http://git-wip-us.apache.org/repos/asf/ignite/blob/b4c5d0ad/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 2c00509..27e5d6f 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 @@ -725,7 +725,7 @@ public abstract class GridDhtTransactionalCacheAdapter<K, V> extends GridDhtCach private void processDhtLockResponse(UUID nodeId, GridDhtLockResponse res) { assert nodeId != null; assert res != null; - GridDhtLockFuture fut = (GridDhtLockFuture)ctx.mvcc().<Boolean>mvccFuture(res.version(), res.futureId()); + GridDhtLockFuture fut = (GridDhtLockFuture)ctx.mvcc().<Boolean>versionedFuture(res.version(), res.futureId()); if (fut == null) { if (txLockMsgLog.isDebugEnabled()) http://git-wip-us.apache.org/repos/asf/ignite/blob/b4c5d0ad/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 1c5e1a6..47dcefc 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 @@ -51,7 +51,7 @@ 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.GridCacheMvccCandidate; -import org.apache.ignite.internal.processors.cache.GridCacheMvccFuture; +import org.apache.ignite.internal.processors.cache.GridCacheVersionedFuture; import org.apache.ignite.internal.processors.cache.GridCacheOperation; import org.apache.ignite.internal.processors.cache.GridCacheReturn; import org.apache.ignite.internal.processors.cache.GridCacheSharedContext; @@ -103,7 +103,7 @@ import static org.apache.ignite.transactions.TransactionState.PREPARED; */ @SuppressWarnings("unchecked") public final class GridDhtTxPrepareFuture extends GridCacheCompoundFuture<IgniteInternalTx, GridNearTxPrepareResponse> - implements GridCacheMvccFuture<GridNearTxPrepareResponse>, IgniteDiagnosticAware { + implements GridCacheVersionedFuture<GridNearTxPrepareResponse>, IgniteDiagnosticAware { /** */ private static final long serialVersionUID = 0L; @@ -972,7 +972,7 @@ public final class GridDhtTxPrepareFuture extends GridCacheCompoundFuture<Ignite if (super.onDone(res, err)) { // Don't forget to clean up. - cctx.mvcc().removeMvccFuture(this); + cctx.mvcc().removeVersionedFuture(this); if (timeoutObj != null) cctx.time().removeTimeoutObject(timeoutObj); http://git-wip-us.apache.org/repos/asf/ignite/blob/b4c5d0ad/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java index 053bbe5..8449f3a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java @@ -1122,7 +1122,7 @@ public class GridDhtColocatedCache<K, V> extends GridDhtTransactionalCacheAdapte assert res != null; GridDhtColocatedLockFuture fut = (GridDhtColocatedLockFuture)ctx.mvcc(). - <Boolean>mvccFuture(res.version(), res.futureId()); + <Boolean>versionedFuture(res.version(), res.futureId()); if (fut != null) fut.onResult(nodeId, res); http://git-wip-us.apache.org/repos/asf/ignite/blob/b4c5d0ad/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java index 7500549..58c6319 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java @@ -45,7 +45,7 @@ import org.apache.ignite.internal.processors.cache.GridCacheEntryEx; import org.apache.ignite.internal.processors.cache.GridCacheEntryRemovedException; import org.apache.ignite.internal.processors.cache.GridCacheLockTimeoutException; import org.apache.ignite.internal.processors.cache.GridCacheMvccCandidate; -import org.apache.ignite.internal.processors.cache.GridCacheMvccFuture; +import org.apache.ignite.internal.processors.cache.GridCacheVersionedFuture; import org.apache.ignite.internal.processors.cache.KeyCacheObject; import org.apache.ignite.internal.processors.cache.distributed.GridDistributedCacheEntry; import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtCacheEntry; @@ -86,7 +86,7 @@ import static org.apache.ignite.events.EventType.EVT_CACHE_OBJECT_READ; * Colocated cache lock future. */ public final class GridDhtColocatedLockFuture extends GridCacheCompoundIdentityFuture<Boolean> - implements GridCacheMvccFuture<Boolean>, IgniteDiagnosticAware { + implements GridCacheVersionedFuture<Boolean>, IgniteDiagnosticAware { /** */ private static final long serialVersionUID = 0L; @@ -582,7 +582,7 @@ public final class GridDhtColocatedLockFuture extends GridCacheCompoundIdentityF log.debug("Completing future: " + this); // Clean up. - cctx.mvcc().removeMvccFuture(this); + cctx.mvcc().removeVersionedFuture(this); if (timeoutObj != null) cctx.time().removeTimeoutObject(timeoutObj); http://git-wip-us.apache.org/repos/asf/ignite/blob/b4c5d0ad/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockFuture.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockFuture.java index bb71337..c947715 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockFuture.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockFuture.java @@ -44,7 +44,7 @@ import org.apache.ignite.internal.processors.cache.GridCacheEntryEx; import org.apache.ignite.internal.processors.cache.GridCacheEntryRemovedException; import org.apache.ignite.internal.processors.cache.GridCacheLockTimeoutException; import org.apache.ignite.internal.processors.cache.GridCacheMvccCandidate; -import org.apache.ignite.internal.processors.cache.GridCacheMvccFuture; +import org.apache.ignite.internal.processors.cache.GridCacheVersionedFuture; import org.apache.ignite.internal.processors.cache.KeyCacheObject; import org.apache.ignite.internal.processors.cache.distributed.GridDistributedCacheEntry; import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtCacheEntry; @@ -82,7 +82,7 @@ import static org.apache.ignite.events.EventType.EVT_CACHE_OBJECT_READ; * Cache lock future. */ public final class GridNearLockFuture extends GridCacheCompoundIdentityFuture<Boolean> - implements GridCacheMvccFuture<Boolean> { + implements GridCacheVersionedFuture<Boolean> { /** */ private static final long serialVersionUID = 0L; @@ -716,7 +716,7 @@ public final class GridNearLockFuture extends GridCacheCompoundIdentityFuture<Bo log.debug("Completing future: " + this); // Clean up. - cctx.mvcc().removeMvccFuture(this); + cctx.mvcc().removeVersionedFuture(this); if (timeoutObj != null) cctx.time().removeTimeoutObject(timeoutObj); http://git-wip-us.apache.org/repos/asf/ignite/blob/b4c5d0ad/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticSerializableTxPrepareFuture.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticSerializableTxPrepareFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticSerializableTxPrepareFuture.java index 69d0940..1da0589 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticSerializableTxPrepareFuture.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticSerializableTxPrepareFuture.java @@ -277,7 +277,7 @@ public class GridNearOptimisticSerializableTxPrepareFuture extends GridNearOptim tx.setRollbackOnly(); // Don't forget to clean up. - cctx.mvcc().removeMvccFuture(this); + cctx.mvcc().removeVersionedFuture(this); return true; } http://git-wip-us.apache.org/repos/asf/ignite/blob/b4c5d0ad/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java index 2c23a7a..c978848 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java @@ -304,7 +304,7 @@ public class GridNearOptimisticTxPrepareFuture extends GridNearOptimisticTxPrepa if (super.onDone(tx, err0)) { // Don't forget to clean up. - cctx.mvcc().removeMvccFuture(this); + cctx.mvcc().removeVersionedFuture(this); return true; } http://git-wip-us.apache.org/repos/asf/ignite/blob/b4c5d0ad/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearPessimisticTxPrepareFuture.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearPessimisticTxPrepareFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearPessimisticTxPrepareFuture.java index d017d7d..4ab6863 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearPessimisticTxPrepareFuture.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearPessimisticTxPrepareFuture.java @@ -408,7 +408,7 @@ public class GridNearPessimisticTxPrepareFuture extends GridNearTxPrepareFutureA tx.state(PREPARED); if (super.onDone(tx, err)) { - cctx.mvcc().removeMvccFuture(this); + cctx.mvcc().removeVersionedFuture(this); return true; } http://git-wip-us.apache.org/repos/asf/ignite/blob/b4c5d0ad/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 973a199..9d0b186 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 @@ -433,7 +433,7 @@ public class GridNearTransactionalCache<K, V> extends GridNearCacheAdapter<K, V> assert nodeId != null; assert res != null; - GridNearLockFuture fut = (GridNearLockFuture)ctx.mvcc().<Boolean>mvccFuture(res.version(), + GridNearLockFuture fut = (GridNearLockFuture)ctx.mvcc().<Boolean>versionedFuture(res.version(), res.futureId()); if (fut != null) http://git-wip-us.apache.org/repos/asf/ignite/blob/b4c5d0ad/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java index 8ecf21f..a894097 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java @@ -47,7 +47,7 @@ import org.apache.ignite.internal.processors.cache.GridCacheContext; import org.apache.ignite.internal.processors.cache.GridCacheEntryEx; import org.apache.ignite.internal.processors.cache.GridCacheEntryRemovedException; import org.apache.ignite.internal.processors.cache.GridCacheMvccCandidate; -import org.apache.ignite.internal.processors.cache.GridCacheMvccFuture; +import org.apache.ignite.internal.processors.cache.GridCacheVersionedFuture; import org.apache.ignite.internal.processors.cache.GridCacheOperation; import org.apache.ignite.internal.processors.cache.GridCacheReturn; import org.apache.ignite.internal.processors.cache.GridCacheSharedContext; @@ -2955,7 +2955,7 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements AutoClosea /** {@inheritDoc} */ @Override public boolean onOwnerChanged(GridCacheEntryEx entry, GridCacheMvccCandidate owner) { - GridCacheMvccFuture<IgniteInternalTx> fut = (GridCacheMvccFuture<IgniteInternalTx>)prepFut; + GridCacheVersionedFuture<IgniteInternalTx> fut = (GridCacheVersionedFuture<IgniteInternalTx>)prepFut; return fut != null && fut.onOwnerChanged(entry, owner); } http://git-wip-us.apache.org/repos/asf/ignite/blob/b4c5d0ad/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareFutureAdapter.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareFutureAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareFutureAdapter.java index a94d6fc..ea002f6 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareFutureAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareFutureAdapter.java @@ -27,7 +27,7 @@ import org.apache.ignite.IgniteLogger; import org.apache.ignite.internal.processors.cache.GridCacheCompoundFuture; import org.apache.ignite.internal.processors.cache.GridCacheContext; import org.apache.ignite.internal.processors.cache.GridCacheEntryRemovedException; -import org.apache.ignite.internal.processors.cache.GridCacheMvccFuture; +import org.apache.ignite.internal.processors.cache.GridCacheVersionedFuture; import org.apache.ignite.internal.processors.cache.GridCacheSharedContext; import org.apache.ignite.internal.processors.cache.distributed.GridDistributedTxMapping; import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxMapping; @@ -49,7 +49,7 @@ import static org.apache.ignite.internal.processors.cache.GridCacheOperation.NOO * Common code for tx prepare in optimistic and pessimistic modes. */ public abstract class GridNearTxPrepareFutureAdapter extends - GridCacheCompoundFuture<GridNearTxPrepareResponse, IgniteInternalTx> implements GridCacheMvccFuture<IgniteInternalTx> { + GridCacheCompoundFuture<GridNearTxPrepareResponse, IgniteInternalTx> implements GridCacheVersionedFuture<IgniteInternalTx> { /** Logger reference. */ protected static final AtomicReference<IgniteLogger> logRef = new AtomicReference<>(); http://git-wip-us.apache.org/repos/asf/ignite/blob/b4c5d0ad/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/GridLocalCache.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/GridLocalCache.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/GridLocalCache.java index 69d1260..0de53c0 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/GridLocalCache.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/GridLocalCache.java @@ -25,15 +25,12 @@ import org.apache.ignite.cache.CachePeekMode; import org.apache.ignite.internal.IgniteInternalFuture; import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion; import org.apache.ignite.internal.processors.cache.CacheEntryPredicate; -import org.apache.ignite.internal.processors.cache.CacheObject; import org.apache.ignite.internal.processors.cache.GridCacheAdapter; import org.apache.ignite.internal.processors.cache.GridCacheContext; import org.apache.ignite.internal.processors.cache.GridCacheEntryEx; -import org.apache.ignite.internal.processors.cache.GridCacheEntryRemovedException; import org.apache.ignite.internal.processors.cache.GridCacheLocalConcurrentMap; import org.apache.ignite.internal.processors.cache.GridCacheMapEntry; import org.apache.ignite.internal.processors.cache.GridCacheMapEntryFactory; -import org.apache.ignite.internal.processors.cache.GridCacheMvccCandidate; import org.apache.ignite.internal.processors.cache.GridCachePreloader; import org.apache.ignite.internal.processors.cache.GridCachePreloaderAdapter; import org.apache.ignite.internal.processors.cache.KeyCacheObject; @@ -210,7 +207,7 @@ public class GridLocalCache<K, V> extends GridCacheAdapter<K, V> { * @param fut Clears future from cache. */ void onFutureDone(GridLocalLockFuture fut) { - if (ctx.mvcc().removeMvccFuture(fut)) { + if (ctx.mvcc().removeVersionedFuture(fut)) { if (log().isDebugEnabled()) log().debug("Explicitly removed future from map of futures: " + fut); } http://git-wip-us.apache.org/repos/asf/ignite/blob/b4c5d0ad/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/GridLocalLockFuture.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/GridLocalLockFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/GridLocalLockFuture.java index 0197acf..b6d72df 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/GridLocalLockFuture.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/GridLocalLockFuture.java @@ -34,7 +34,7 @@ import org.apache.ignite.internal.processors.cache.GridCacheEntryEx; import org.apache.ignite.internal.processors.cache.GridCacheEntryRemovedException; import org.apache.ignite.internal.processors.cache.GridCacheFutureAdapter; import org.apache.ignite.internal.processors.cache.GridCacheMvccCandidate; -import org.apache.ignite.internal.processors.cache.GridCacheMvccFuture; +import org.apache.ignite.internal.processors.cache.GridCacheVersionedFuture; import org.apache.ignite.internal.processors.cache.KeyCacheObject; import org.apache.ignite.internal.processors.cache.transactions.IgniteTxKey; import org.apache.ignite.internal.processors.cache.transactions.IgniteTxLocalEx; @@ -55,7 +55,7 @@ import org.jetbrains.annotations.Nullable; * Cache lock future. */ public final class GridLocalLockFuture<K, V> extends GridCacheFutureAdapter<Boolean> - implements GridCacheMvccFuture<Boolean> { + implements GridCacheVersionedFuture<Boolean> { /** Logger reference. */ private static final AtomicReference<IgniteLogger> logRef = new AtomicReference<>(); http://git-wip-us.apache.org/repos/asf/ignite/blob/b4c5d0ad/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java index 4a13a34..b60bab5 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java @@ -638,7 +638,7 @@ public class IgniteTxHandler { txPrepareMsgLog.debug("Received near prepare response [txId=" + res.version() + ", node=" + nodeId + ']'); GridNearTxPrepareFutureAdapter fut = (GridNearTxPrepareFutureAdapter)ctx.mvcc() - .<IgniteInternalTx>mvccFuture(res.version(), res.futureId()); + .<IgniteInternalTx>versionedFuture(res.version(), res.futureId()); if (fut == null) { U.warn(log, "Failed to find future for near prepare response [txId=" + res.version() + @@ -687,7 +687,7 @@ public class IgniteTxHandler { * @param res Response. */ private void processDhtTxPrepareResponse(UUID nodeId, GridDhtTxPrepareResponse res) { - GridDhtTxPrepareFuture fut = (GridDhtTxPrepareFuture)ctx.mvcc().mvccFuture(res.version(), res.futureId()); + GridDhtTxPrepareFuture fut = (GridDhtTxPrepareFuture)ctx.mvcc().versionedFuture(res.version(), res.futureId()); if (fut == null) { if (txPrepareMsgLog.isDebugEnabled()) { http://git-wip-us.apache.org/repos/asf/ignite/blob/b4c5d0ad/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java index 20d306c..474b484 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java @@ -49,7 +49,7 @@ import org.apache.ignite.internal.processors.cache.GridCacheEntryRemovedExceptio import org.apache.ignite.internal.processors.cache.GridCacheMapEntry; import org.apache.ignite.internal.processors.cache.GridCacheMessage; import org.apache.ignite.internal.processors.cache.GridCacheMvccCandidate; -import org.apache.ignite.internal.processors.cache.GridCacheMvccFuture; +import org.apache.ignite.internal.processors.cache.GridCacheVersionedFuture; import org.apache.ignite.internal.processors.cache.GridCacheReturnCompletableWrapper; import org.apache.ignite.internal.processors.cache.GridCacheSharedManagerAdapter; import org.apache.ignite.internal.processors.cache.GridDeferredAckMessageSender; @@ -2187,10 +2187,10 @@ public class IgniteTxManager extends GridCacheSharedManagerAdapter { private IgniteInternalFuture mvccFuture(IgniteInternalTx tx, Class<? extends IgniteInternalFuture> cls) { assert tx instanceof GridNearTxLocal : tx; - Collection<GridCacheMvccFuture<?>> futs = cctx.mvcc().mvccFutures(tx.nearXidVersion()); + Collection<GridCacheVersionedFuture<?>> futs = cctx.mvcc().futuresForVersion(tx.nearXidVersion()); if (futs != null) { - for (GridCacheMvccFuture<?> fut : futs) { + for (GridCacheVersionedFuture<?> fut : futs) { if (fut.getClass().equals(cls)) return fut; }
