Merge remote-tracking branch 'remotes/community/ignite-1.6.3' # Conflicts: # modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java # modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheWithIndexingTestSuite.java
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/da563701 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/da563701 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/da563701 Branch: refs/heads/ignite-3553 Commit: da563701caec058db4a264a4b08f0a35c4cd9b17 Parents: a441bb9 9d07e3e Author: sboikov <[email protected]> Authored: Wed Jul 27 10:17:16 2016 +0300 Committer: sboikov <[email protected]> Committed: Wed Jul 27 10:17:16 2016 +0300 ---------------------------------------------------------------------- .../org/apache/ignite/internal/IgnitionEx.java | 2 + .../distributed/dht/GridDhtLocalPartition.java | 2 +- .../dht/GridDhtPartitionTopologyImpl.java | 52 +++++++- .../ServicePredicateAccessCacheTest.java | 4 +- .../ignite/cache/spring/SpringCacheManager.java | 17 ++- .../spring/SpringTransactionManager.java | 59 +++++---- .../test/java/config/spring-transactions.xml | 4 +- .../ignite/TestInjectionLifecycleBean.java | 42 +++++++ .../org/apache/ignite/spring-injection-test.xml | 43 +++++++ .../SpringCacheManagerContextInjectionTest.java | 126 +++++++++++++++++++ .../testsuites/IgniteSpringTestSuite.java | 5 + ...gTransactionManagerContextInjectionTest.java | 125 ++++++++++++++++++ 12 files changed, 448 insertions(+), 33 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/da563701/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java index 3692022,50f7f0f..1299d20 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java @@@ -23,16 -23,17 +23,18 @@@ import java.util.Collections import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; -import java.util.LinkedList; import java.util.List; import java.util.Map; +import java.util.NoSuchElementException; import java.util.Set; import java.util.UUID; +import java.util.concurrent.atomic.AtomicReferenceArray; import org.apache.ignite.IgniteCheckedException; import org.apache.ignite.IgniteLogger; + import org.apache.ignite.IgniteSystemProperties; import org.apache.ignite.cluster.ClusterNode; import org.apache.ignite.events.DiscoveryEvent; + import org.apache.ignite.internal.IgniteFutureTimeoutCheckedException; import org.apache.ignite.internal.IgniteInterruptedCheckedException; import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion; import org.apache.ignite.internal.processors.affinity.GridAffinityAssignment; @@@ -178,10 -179,27 +181,27 @@@ class GridDhtPartitionTopologyImpl impl private boolean waitForRent() throws IgniteCheckedException { boolean changed = false; + GridDhtLocalPartition[] locPartsCopy = new GridDhtLocalPartition[locParts.length]; + + lock.readLock().lock(); + + try { + for (int i = 0; i < locParts.length; i++) + locPartsCopy[i] = locParts[i]; + } + finally { + lock.readLock().unlock(); + } + + final long longOpDumpTimeout = + IgniteSystemProperties.getLong(IgniteSystemProperties.IGNITE_LONG_OPERATIONS_DUMP_TIMEOUT, 60_000); + + int dumpCnt = 0; + GridDhtLocalPartition part; - for (int i = 0; i < locParts.length(); i++) { - part = locParts.get(i); - for (int i = 0; i < locPartsCopy.length; i++) { - part = locPartsCopy[i]; ++ for (int i = 0; i < locPartsCopy.length(); i++) { ++ part = locPartsCopy.get(i); if (part == null) continue; http://git-wip-us.apache.org/repos/asf/ignite/blob/da563701/modules/spring/src/test/java/org/apache/ignite/testsuites/IgniteSpringTestSuite.java ----------------------------------------------------------------------
