svn commit: r1808965 - in /ignite/site/trunk: includes/header.html releases/2.2.0/release_notes.html
Author: dmagda Date: Wed Sep 20 01:00:42 2017 New Revision: 1808965 URL: http://svn.apache.org/viewvc?rev=1808965=rev Log: updated the release notes Added: ignite/site/trunk/releases/2.2.0/release_notes.html Modified: ignite/site/trunk/includes/header.html Modified: ignite/site/trunk/includes/header.html URL: http://svn.apache.org/viewvc/ignite/site/trunk/includes/header.html?rev=1808965=1808964=1808965=diff == --- ignite/site/trunk/includes/header.html (original) +++ ignite/site/trunk/includes/header.html Wed Sep 20 01:00:42 2017 @@ -3,7 +3,7 @@ -Apache Ignite Community Update (September). https://blogs.apache.org/ignite/entry/apache-ignite-community-news-september; target="_blank">Read +Apache Ignite 2.2 Released! https://ignite.apache.org/download.cgi;>Download Added: ignite/site/trunk/releases/2.2.0/release_notes.html URL: http://svn.apache.org/viewvc/ignite/site/trunk/releases/2.2.0/release_notes.html?rev=1808965=auto == --- ignite/site/trunk/releases/2.2.0/release_notes.html (added) +++ ignite/site/trunk/releases/2.2.0/release_notes.html Wed Sep 20 01:00:42 2017 @@ -0,0 +1,21 @@ + +h1 { color: #113847; font-size: 33px; font-weight: bold; margin: 30px 0 15px 0; padding-bottom: 7px; width: 700px; }h2 { border-bottom: 2px solid #ccc; color: #113847; font-size: 29px; font-weight: normal; margin: 30px 0 15px 0; padding-bottom: 7px; width: 700px; }a { color: #cc; text-decoration: none; } span { color: #cc; } a:hover { text-decoration: underline; } ul, ol { list-style: disc; margin-left: 30px; } ul li, ol li { margin: 5px 0; } p.description { width: 700px; } + + +Apache IGNITE 2.2 + + + Apache Ignite 2.2 includes a couple of fixes to resolve excessive memory usage caused by default memory allocation parameters. The issue could happen more frequently if several nodes were started on a single box. It's recommended to update to 2.2 if your cluster nodes freeze and unresponsive because of a rival for available RAM on a local host. + + +Features and Improvements + +Backport optimizations of checkpointing algorithm into 2.2: https://issues.apache.org/jira/browse/IGNITE-6204;> [#IGNITE-6204] + +Change default max memory size from 80% to 20%: https://issues.apache.org/jira/browse/IGNITE-6182;> [#IGNITE-6182] + +C++: Fixed + +File interop_target.h is missing from source-release: https://issues.apache.org/jira/browse/IGNITE-4591;> [#IGNITE-4591] + +
ignite git commit: IGNITE-6238 Fixed GridClosureProcessorRemoteTest, added to suite. This closes #2572
Repository: ignite Updated Branches: refs/heads/master 955090d94 -> 504620657 IGNITE-6238 Fixed GridClosureProcessorRemoteTest, added to suite. This closes #2572 Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/50462065 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/50462065 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/50462065 Branch: refs/heads/master Commit: 504620657f03644b8a48d38bd35da375d1c9f55b Parents: 955090d Author: Ilya KasnacheevAuthored: Tue Sep 19 11:14:35 2017 +0300 Committer: sboikov Committed: Tue Sep 19 11:14:35 2017 +0300 -- .../closure/GridClosureProcessorRemoteTest.java | 97 +++- .../ignite/testsuites/IgniteBasicTestSuite.java | 2 + 2 files changed, 74 insertions(+), 25 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/50462065/modules/core/src/test/java/org/apache/ignite/internal/processors/closure/GridClosureProcessorRemoteTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/closure/GridClosureProcessorRemoteTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/closure/GridClosureProcessorRemoteTest.java index 2beeedd..9c22817 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/closure/GridClosureProcessorRemoteTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/closure/GridClosureProcessorRemoteTest.java @@ -18,12 +18,16 @@ package org.apache.ignite.internal.processors.closure; import java.util.UUID; +import java.util.concurrent.atomic.AtomicInteger; import org.apache.ignite.Ignite; +import org.apache.ignite.IgniteLogger; import org.apache.ignite.cluster.ClusterNode; import org.apache.ignite.configuration.IgniteConfiguration; import org.apache.ignite.internal.util.typedef.CA; import org.apache.ignite.internal.util.typedef.F; import org.apache.ignite.lang.IgniteBiPredicate; +import org.apache.ignite.resources.IgniteInstanceResource; +import org.apache.ignite.resources.LoggerResource; import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi; import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; import org.apache.ignite.testframework.junits.common.GridCommonTest; @@ -33,16 +37,27 @@ import org.apache.ignite.testframework.junits.common.GridCommonTest; */ @GridCommonTest(group = "Closure Processor") public class GridClosureProcessorRemoteTest extends GridCommonAbstractTest { -/** - * - */ -public GridClosureProcessorRemoteTest() { -super(true); // Start grid. +/** Number of grids started for tests. Should not be less than 2. */ +public static final int NODES_CNT = 2; + +/** Local counter that won't be affected by remote jobs. */ +private static AtomicInteger execCntr = new AtomicInteger(0); + + +/** {@inheritDoc} */ +@Override protected boolean isMultiJvm() { +return true; +} + +/** {@inheritDoc} */ +@SuppressWarnings({"ConstantConditions"}) +@Override protected void beforeTestsStarted() throws Exception { +startGrids(NODES_CNT); } /** {@inheritDoc} */ -@Override public String getTestIgniteInstanceName() { -return null; +@Override protected void afterTestsStopped() throws Exception { +stopAllGrids(); } /** {@inheritDoc} */ @@ -58,36 +73,50 @@ public class GridClosureProcessorRemoteTest extends GridCommonAbstractTest { * @throws Exception Thrown in case of failure. */ public void testAnonymousBroadcast() throws Exception { -Ignite g = grid(); +Ignite g = grid(0); -assert g.cluster().nodes().size() >= 2; +assert g.cluster().nodes().size() == NODES_CNT; -g.compute().run(new CA() { +execCntr.set(0); + +g.compute().broadcast(new CARemote() { @Override public void apply() { -System.out.println("BROADCASTING"); +log.info("BROADCASTING"); + +ignite.countDownLatch("broadcast", 2, false, true).countDown(); + +execCntr.incrementAndGet(); } }); -Thread.sleep(2000); +assertTrue(g.countDownLatch("broadcast", 2, false, true).await(2000)); +assertEquals(1, execCntr.get()); } /** * @throws Exception Thrown in case of failure. */ public void testAnonymousUnicast() throws Exception { -Ignite g = grid(); +Ignite g = grid(0); + +assert g.cluster().nodes().size() == NODES_CNT; -assert g.cluster().nodes().size() >= 2; +execCntr.set(0);
[1/2] ignite git commit: IGNITE-6244 .NET: Thin client: ScanQuery
Repository: ignite Updated Branches: refs/heads/master 879fffa65 -> 86372dee2 http://git-wip-us.apache.org/repos/asf/ignite/blob/86372dee/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Client/Cache/ScanQueryTest.cs -- diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Client/Cache/ScanQueryTest.cs b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Client/Cache/ScanQueryTest.cs new file mode 100644 index 000..bc1e8ee --- /dev/null +++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Client/Cache/ScanQueryTest.cs @@ -0,0 +1,241 @@ +/* + * 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. + */ + +namespace Apache.Ignite.Core.Tests.Client.Cache +{ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Diagnostics.CodeAnalysis; +using System.Linq; +using Apache.Ignite.Core.Cache; +using Apache.Ignite.Core.Cache.Query; +using Apache.Ignite.Core.Common; +using Apache.Ignite.Core.Configuration; +using NUnit.Framework; + +/// +/// Tests scan queries. +/// +public class ScanQueryTest : ClientTestBase +{ +/// +/// Initializes a new instance of the class. +/// +public ScanQueryTest() : base(2) +{ +// No-op. +} + +/** */ +protected override IgniteConfiguration GetIgniteConfiguration() +{ +var cfg = base.GetIgniteConfiguration(); + +cfg.SqlConnectorConfiguration = new SqlConnectorConfiguration +{ +MaxOpenCursorsPerConnection = 3 +}; + +return cfg; +} + +/// +/// Tests scan query without filter. +/// +[Test] +[SuppressMessage("ReSharper", "ReturnValueOfPureMethodIsNotUsed")] +public void TestNoFilter() +{ +var cache = GetPersonCache(); + +Action>> checkResults = e => +{ +Assert.AreEqual(cache.Select(x => x.Value.Name).OrderBy(x => x).ToArray(), +e.Select(x => x.Value.Name).OrderBy(x => x).ToArray()); +}; + +using (var client = GetClient()) +{ +var clientCache = client.GetCache (CacheName); + +var query = new ScanQuery (); + +// GetAll. +var cursor = clientCache.Query(query); +checkResults(cursor.GetAll()); + +// Can't iterate or call GetAll again. +Assert.Throws(() => cursor.ToArray()); +Assert.Throws(() => cursor.GetAll()); + +// Iterator. +using (cursor = clientCache.Query(query)) +{ +checkResults(cursor.ToArray()); + +// Can't iterate or call GetAll again. +Assert.Throws(() => cursor.ToArray()); +Assert.Throws(() => cursor.GetAll()); +} + +// Partial iterator. +using (cursor = clientCache.Query(query)) +{ +var item = cursor.First(); +Assert.AreEqual(item.Key.ToString(), item.Value.Name); +} + +// Local. +query.Local = true; +var localRes = clientCache.Query(query).ToList(); +Assert.Less(localRes.Count, cache.GetSize()); +} +} + +/// +/// Tests scan query with .NET filter. +/// +[Test] +public void TestWithFilter() +{ +GetPersonCache(); + +using (var client = GetClient()) +{ +var clientCache = client.GetCache (CacheName); + +// One result. +var single = clientCache.Query(new ScanQuery (new PersonFilter(x => x.Id == 3))).Single(); +Assert.AreEqual(3, single.Key); + +// Multiple results. +var res = clientCache.Query(new
ignite git commit: IGNITE-4931 Fixed cluster deactivation tests - Fixes #2648.
Repository: ignite Updated Branches: refs/heads/master 504620657 -> 879fffa65 IGNITE-4931 Fixed cluster deactivation tests - Fixes #2648. Signed-off-by: Alexey GoncharukProject: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/879fffa6 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/879fffa6 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/879fffa6 Branch: refs/heads/master Commit: 879fffa65738af0a89adc1b24d08cae8408b0794 Parents: 5046206 Author: voipp Authored: Tue Sep 19 11:52:50 2017 +0300 Committer: Alexey Goncharuk Committed: Tue Sep 19 11:52:50 2017 +0300 -- .../src/main/java/org/apache/ignite/Ignite.java | 1 + .../cluster/GridClusterStateProcessor.java | 2 +- .../cache/ClusterStateAbstractTest.java | 129 +-- 3 files changed, 35 insertions(+), 97 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/879fffa6/modules/core/src/main/java/org/apache/ignite/Ignite.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/Ignite.java b/modules/core/src/main/java/org/apache/ignite/Ignite.java index 7ea0aa4..866c313 100644 --- a/modules/core/src/main/java/org/apache/ignite/Ignite.java +++ b/modules/core/src/main/java/org/apache/ignite/Ignite.java @@ -666,6 +666,7 @@ public interface Ignite extends AutoCloseable { * Changes Ignite grid state to active or inactive. * * @param active If {@code True} start activation process. If {@code False} start deactivation process. + * @throws IgniteException If there is an already started transaction or lock in the same thread. */ public void active(boolean active); http://git-wip-us.apache.org/repos/asf/ignite/blob/879fffa6/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java index 64ee472..ff42ff6 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java @@ -418,7 +418,7 @@ public class GridClusterStateProcessor extends GridProcessorAdapter { if (cacheProc.transactions().tx() != null || sharedCtx.lockedTopologyVersion(null) != null) { return new GridFinishedFuture<>(new IgniteCheckedException("Failed to " + prettyStr(activate) + -" cluster (must invoke the method outside of an active transaction).")); +" cluster (must invoke the method outside of an active transaction or lock).")); } DiscoveryDataClusterState curState = globalState; http://git-wip-us.apache.org/repos/asf/ignite/blob/879fffa6/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/ClusterStateAbstractTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/ClusterStateAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/ClusterStateAbstractTest.java index ce7829a..d5f9c90 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/ClusterStateAbstractTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/ClusterStateAbstractTest.java @@ -19,8 +19,7 @@ package org.apache.ignite.internal.processors.cache; import java.util.Collection; -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.TimeUnit; +import java.util.concurrent.Callable; import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.locks.Lock; import org.apache.ignite.Ignite; @@ -29,14 +28,11 @@ import org.apache.ignite.IgniteException; import org.apache.ignite.cluster.ClusterNode; import org.apache.ignite.configuration.CacheConfiguration; import org.apache.ignite.configuration.IgniteConfiguration; -import org.apache.ignite.internal.IgniteEx; -import org.apache.ignite.internal.IgniteInternalFuture; import org.apache.ignite.internal.managers.communication.GridIoMessage; import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionDemandMessage; import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionSupplyMessage; import
[2/2] ignite git commit: IGNITE-6244 .NET: Thin client: ScanQuery
IGNITE-6244 .NET: Thin client: ScanQuery This closes #2693 Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/86372dee Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/86372dee Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/86372dee Branch: refs/heads/master Commit: 86372dee2e327aab258dcfe2b0e062dbebbe Parents: 879fffa Author: Pavel TupitsynAuthored: Tue Sep 19 12:09:18 2017 +0300 Committer: Pavel Tupitsyn Committed: Tue Sep 19 12:09:18 2017 +0300 -- .../odbc/ClientListenerNioListener.java | 2 +- .../odbc/jdbc/JdbcRequestHandler.java | 7 +- .../odbc/odbc/OdbcRequestHandler.java | 7 +- .../query/PlatformAbstractQueryCursor.java | 9 +- .../platform/client/ClientBooleanResponse.java | 4 +- .../client/ClientCloseableResource.java | 28 +++ .../client/ClientConnectionContext.java | 65 - .../platform/client/ClientMessageParser.java| 26 +- .../platform/client/ClientObjectResponse.java | 4 +- .../platform/client/ClientRequest.java | 3 +- .../platform/client/ClientRequestHandler.java | 14 +- .../client/ClientResourceCloseRequest.java | 46 .../platform/client/ClientResourceRegistry.java | 98 .../platform/client/ClientResponse.java | 22 +- .../platform/client/ClientStringResponse.java | 4 +- .../binary/ClientBinaryTypeGetRequest.java | 6 +- .../binary/ClientBinaryTypeGetResponse.java | 4 +- .../binary/ClientBinaryTypeNameGetRequest.java | 6 +- .../binary/ClientBinaryTypeNamePutRequest.java | 6 +- .../binary/ClientBinaryTypePutRequest.java | 6 +- .../client/cache/ClientCacheGetRequest.java | 4 +- .../client/cache/ClientCachePutRequest.java | 4 +- .../client/cache/ClientCacheRequest.java| 37 ++- .../cache/ClientCacheScanQueryCursor.java | 135 +++ .../ClientCacheScanQueryNextPageRequest.java| 49 .../ClientCacheScanQueryNextPageResponse.java | 50 .../cache/ClientCacheScanQueryRequest.java | 143 +++ .../cache/ClientCacheScanQueryResponse.java | 52 .../Apache.Ignite.Core.Tests.csproj | 8 +- .../Client/Cache/CacheTest.cs | 154 .../Client/Cache/CacheTestNoMeta.cs | 138 +++ .../Client/Cache/Person.cs | 48 .../Client/Cache/ScanQueryTest.cs | 241 +++ .../Client/CacheTest.cs | 200 --- .../Client/CacheTestNoMeta.cs | 159 .../Client/ClientTestBase.cs| 113 + .../Apache.Ignite.Core.Tests/Client/Person.cs | 48 .../Client/RawSocketTest.cs | 3 + .../Apache.Ignite.Core.csproj | 2 + .../Apache.Ignite.Core/Cache/Query/ScanQuery.cs | 2 +- .../Client/Cache/ICacheClient.cs| 9 + .../Impl/Cache/Query/QueryCursorBase.cs | 52 ++-- .../Impl/Client/Cache/CacheClient.cs| 49 .../Impl/Client/Cache/CacheFlags.cs | 38 +++ .../Client/Cache/Query/ClientQueryCursor.cs | 94 .../Apache.Ignite.Core/Impl/Client/ClientOp.cs | 5 +- .../Impl/Client/ClientSocket.cs | 12 +- .../Impl/Client/IgniteClient.cs | 11 +- 48 files changed, 1743 insertions(+), 484 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/86372dee/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/ClientListenerNioListener.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/ClientListenerNioListener.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/ClientListenerNioListener.java index e8ba18d..f0f4903 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/ClientListenerNioListener.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/ClientListenerNioListener.java @@ -236,7 +236,7 @@ public class ClientListenerNioListener extends GridNioServerListenerAdapterhttp://git-wip-us.apache.org/repos/asf/ignite/blob/86372dee/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/jdbc/JdbcRequestHandler.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/jdbc/JdbcRequestHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/jdbc/JdbcRequestHandler.java index fe50bb5..2143fb6f 100644 ---
svn commit: r1808948 - in /ignite/site/trunk: download.html features/sql.html includes/header.html
Author: dsetrakyan Date: Tue Sep 19 21:56:17 2017 New Revision: 1808948 URL: http://svn.apache.org/viewvc?rev=1808948=rev Log: minor. Modified: ignite/site/trunk/download.html ignite/site/trunk/features/sql.html ignite/site/trunk/includes/header.html Modified: ignite/site/trunk/download.html URL: http://svn.apache.org/viewvc/ignite/site/trunk/download.html?rev=1808948=1808947=1808948=diff == --- ignite/site/trunk/download.html (original) +++ ignite/site/trunk/download.html Tue Sep 19 21:56:17 2017 @@ -130,7 +130,7 @@ under the License. Main Features Durable Memory Native Persistence -Distributed SQL +SQL Database Data Grid Compute Grid Machine Learningeta @@ -163,7 +163,7 @@ under the License. Main Features Durable Memory Native Persistence -Distributed SQL +SQL Database Data Grid Compute Grid Machine Learningeta @@ -192,7 +192,7 @@ under the License. Database Distributed Database In-Memory Database -SQL Database + Key-Value Store Comparison Modified: ignite/site/trunk/features/sql.html URL: http://svn.apache.org/viewvc/ignite/site/trunk/features/sql.html?rev=1808948=1808947=1808948=diff == Binary files - no diff available. Modified: ignite/site/trunk/includes/header.html URL: http://svn.apache.org/viewvc/ignite/site/trunk/includes/header.html?rev=1808948=1808947=1808948=diff == --- ignite/site/trunk/includes/header.html (original) +++ ignite/site/trunk/includes/header.html Tue Sep 19 21:56:17 2017 @@ -61,7 +61,7 @@ Main Features Durable Memory Native Persistence -Distributed SQL +SQL Database Data Grid Compute Grid Machine Learningeta @@ -86,7 +86,7 @@ More - + Overview What is Ignite? What is Memory-Centric? @@ -94,7 +94,7 @@ Main Features Durable Memory Native Persistence -Distributed SQL +SQL Database Data Grid Compute Grid Machine Learningeta @@ -115,7 +115,7 @@ Add-Ons GA Grideta More - + Use Cases @@ -123,7 +123,7 @@ Database Distributed Database In-Memory Database -SQL Database + Key-Value Store Comparison
ignite git commit: IGNITE-5884 Change default pageSize of page memory to 4KB - fix .NET
Repository: ignite Updated Branches: refs/heads/master 86372dee2 -> 41d6e3ab5 IGNITE-5884 Change default pageSize of page memory to 4KB - fix .NET Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/41d6e3ab Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/41d6e3ab Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/41d6e3ab Branch: refs/heads/master Commit: 41d6e3ab57af8fffa3daa6285bac12a4bef7ae14 Parents: 86372de Author: Pavel TupitsynAuthored: Tue Sep 19 13:20:25 2017 +0300 Committer: Pavel Tupitsyn Committed: Tue Sep 19 13:20:25 2017 +0300 -- .../Apache.Ignite.Core/Cache/Configuration/MemoryConfiguration.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/41d6e3ab/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Configuration/MemoryConfiguration.cs -- diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Configuration/MemoryConfiguration.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Configuration/MemoryConfiguration.cs index 36d06a7..3be6012 100644 --- a/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Configuration/MemoryConfiguration.cs +++ b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Configuration/MemoryConfiguration.cs @@ -58,7 +58,7 @@ namespace Apache.Ignite.Core.Cache.Configuration /// /// The default page size. /// -public const int DefaultPageSize = 2 * 1024; +public const int DefaultPageSize = 4 * 1024; /// /// The default value for .
svn commit: r1808869 - in /ignite/site/trunk/releases/2.2.0/cppdoc: ./ search/
Author: av Date: Tue Sep 19 12:00:37 2017 New Revision: 1808869 URL: http://svn.apache.org/viewvc?rev=1808869=rev Log: new Release (2.2.0) [This commit notification would consist of 67 parts, which exceeds the limit of 50 ones, so it was shortened to the summary.]
svn commit: r1808867 - in /ignite/site/trunk/releases/2.2.0: ./ javadoc/ javadoc/img/ javadoc/org/ javadoc/org/apache/ javadoc/org/apache/ignite/ javadoc/org/apache/ignite/binary/ javadoc/org/apache/i
Author: av Date: Tue Sep 19 11:57:50 2017 New Revision: 1808867 URL: http://svn.apache.org/viewvc?rev=1808867=rev Log: new Release (2.2.0) [This commit notification would consist of 509 parts, which exceeds the limit of 50 ones, so it was shortened to the summary.]
svn commit: r1808871 - /ignite/site/trunk/releases/2.2.0/dotnetdoc/
Author: av Date: Tue Sep 19 12:05:03 2017 New Revision: 1808871 URL: http://svn.apache.org/viewvc?rev=1808871=rev Log: new Release (2.2.0) [This commit notification would consist of 104 parts, which exceeds the limit of 50 ones, so it was shortened to the summary.]
ignite git commit: kIGNITE-6428 Fixed IgniteOOME in PDS Indexing suite (increased memory policy size) - Fixes #2690.
Repository: ignite Updated Branches: refs/heads/master 778fd5d59 -> f048ec28e kIGNITE-6428 Fixed IgniteOOME in PDS Indexing suite (increased memory policy size) - Fixes #2690. Signed-off-by: Alexey GoncharukProject: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/f048ec28 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/f048ec28 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/f048ec28 Branch: refs/heads/master Commit: f048ec28e22917b0953cfcd2e1ff4e073b4f384c Parents: 778fd5d Author: dpavlov Authored: Tue Sep 19 15:23:18 2017 +0300 Committer: Alexey Goncharuk Committed: Tue Sep 19 15:23:18 2017 +0300 -- .../cache/persistence/IgnitePdsCacheRebalancingAbstractTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/f048ec28/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsCacheRebalancingAbstractTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsCacheRebalancingAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsCacheRebalancingAbstractTest.java index 2d237cb..96f832b 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsCacheRebalancingAbstractTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsCacheRebalancingAbstractTest.java @@ -120,7 +120,7 @@ public abstract class IgnitePdsCacheRebalancingAbstractTest extends GridCommonAb MemoryPolicyConfiguration memPlcCfg = new MemoryPolicyConfiguration(); memPlcCfg.setName("dfltMemPlc"); -memPlcCfg.setMaxSize(100 * 1024 * 1024); +memPlcCfg.setMaxSize(150 * 1024 * 1024); memPlcCfg.setInitialSize(100 * 1024 * 1024); memPlcCfg.setSwapFilePath("work/swap");
ignite git commit: IGNITE-6427 Fixed IgniteOOME in Cache5 suite (increased memory policy size) - Fixes #2686.
Repository: ignite Updated Branches: refs/heads/master f048ec28e -> 45ef6155a IGNITE-6427 Fixed IgniteOOME in Cache5 suite (increased memory policy size) - Fixes #2686. Signed-off-by: Alexey GoncharukProject: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/45ef6155 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/45ef6155 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/45ef6155 Branch: refs/heads/master Commit: 45ef6155aeac6bad8be93ce2dfe69d01a85141c2 Parents: f048ec2 Author: dpavlov Authored: Tue Sep 19 15:26:16 2017 +0300 Committer: Alexey Goncharuk Committed: Tue Sep 19 15:26:16 2017 +0300 -- .../cache/distributed/CacheLateAffinityAssignmentTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/45ef6155/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheLateAffinityAssignmentTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheLateAffinityAssignmentTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheLateAffinityAssignmentTest.java index 95e9479..7f2a5d0 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheLateAffinityAssignmentTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheLateAffinityAssignmentTest.java @@ -184,7 +184,7 @@ public class CacheLateAffinityAssignmentTest extends GridCommonAbstractTest { MemoryConfiguration cfg1 = new MemoryConfiguration(); -cfg1.setDefaultMemoryPolicySize(100 * 1024 * 1024L); +cfg1.setDefaultMemoryPolicySize(150 * 1024 * 1024L); cfg.setMemoryConfiguration(cfg1);
ignite git commit: ignite-6262 Flaky deadlock detection tests are fixed
Repository: ignite Updated Branches: refs/heads/master 41d6e3ab5 -> 778fd5d59 ignite-6262 Flaky deadlock detection tests are fixed Signed-off-by: Andrey GuraProject: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/778fd5d5 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/778fd5d5 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/778fd5d5 Branch: refs/heads/master Commit: 778fd5d598434816daa52d50b864c278b9913cc3 Parents: 41d6e3a Author: Vitaliy Biryukov Authored: Tue Sep 19 13:23:45 2017 +0300 Committer: Andrey Gura Committed: Tue Sep 19 13:27:55 2017 +0300 -- .../AbstractDeadlockDetectionTest.java | 65 ++ .../TxOptimisticDeadlockDetectionTest.java | 54 + .../TxPessimisticDeadlockDetectionTest.java | 223 +-- 3 files changed, 116 insertions(+), 226 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/778fd5d5/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/AbstractDeadlockDetectionTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/AbstractDeadlockDetectionTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/AbstractDeadlockDetectionTest.java index 7381f5a..c0034f5 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/AbstractDeadlockDetectionTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/AbstractDeadlockDetectionTest.java @@ -17,13 +17,25 @@ package org.apache.ignite.internal.processors.cache.transactions; +import java.util.Collection; +import java.util.Set; +import org.apache.ignite.Ignite; import org.apache.ignite.IgniteCache; import org.apache.ignite.IgniteCheckedException; import org.apache.ignite.IgniteException; import org.apache.ignite.cache.affinity.Affinity; import org.apache.ignite.cluster.ClusterNode; +import org.apache.ignite.internal.IgniteInternalFuture; +import org.apache.ignite.internal.IgniteKernal; +import org.apache.ignite.internal.processors.cache.GridCacheAdapter; +import org.apache.ignite.internal.processors.cache.GridCacheConcurrentMap; +import org.apache.ignite.internal.processors.cache.GridCacheMapEntry; +import org.apache.ignite.internal.processors.cache.GridCacheSharedContext; +import org.apache.ignite.internal.processors.cache.IgniteCacheProxy; +import org.apache.ignite.internal.processors.cache.KeyCacheObject; import org.apache.ignite.internal.util.typedef.PA; import org.apache.ignite.internal.util.typedef.internal.A; +import org.apache.ignite.internal.util.typedef.internal.U; import org.apache.ignite.testframework.GridTestUtils; import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; @@ -35,6 +47,59 @@ import java.util.List; */ public abstract class AbstractDeadlockDetectionTest extends GridCommonAbstractTest { /** + * Checks that transactions and futures are completed and entries are not locked. + * @param involvedKeys Involved keys. + */ +protected void checkAllTransactionsCompleted(Set involvedKeys, int nodesCnt, String cacheName) { +boolean fail = false; + +for (int i = 0; i < nodesCnt; i++) { +Ignite ignite = ignite(i); + +int cacheId = ((IgniteCacheProxy)ignite.cache(cacheName)).context().cacheId(); + +GridCacheSharedContext
svn commit: r1808860 - /ignite/site/trunk/download.html
Author: av Date: Tue Sep 19 11:15:44 2017 New Revision: 1808860 URL: http://svn.apache.org/viewvc?rev=1808860=rev Log: sha 512 Modified: ignite/site/trunk/download.html Modified: ignite/site/trunk/download.html URL: http://svn.apache.org/viewvc/ignite/site/trunk/download.html?rev=1808860=1808859=1808860=diff == --- ignite/site/trunk/download.html (original) +++ ignite/site/trunk/download.html Tue Sep 19 11:15:44 2017 @@ -364,7 +364,7 @@ under the License. onclick="ga('send', 'event', 'apache_ignite_source_download', 'download', 'apache-ignite-2.2.0');">apache-ignite-2.2.0-src.zip (pgp, -sha1) +sha512) @@ -676,7 +676,7 @@ under the License. onclick="ga('send', 'event', 'apache_ignite_fabric_download', 'download', 'apache-ignite-2.2.0');">apache-ignite-fabric-2.2.0-bin.zip (pgp, - sha1) + sha512) @@ -968,7 +968,7 @@ under the License. onclick="ga('send', 'event', 'apache_ignite_hadoop_download', 'download', 'apache-ignite-2.2.0');">apache-ignite-hadoop-2.2.0-bin.zip (pgp, -sha1) +sha512)
ignite git commit: IGNITE-6399 .NET: Added ClientConnectorConfiguration. This closes #2696.
Repository: ignite Updated Branches: refs/heads/master 29594dba9 -> 51f1c67bb IGNITE-6399 .NET: Added ClientConnectorConfiguration. This closes #2696. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/51f1c67b Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/51f1c67b Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/51f1c67b Branch: refs/heads/master Commit: 51f1c67bbdcdee142964bdb613dc906d960d07ec Parents: 29594db Author: Pavel TupitsynAuthored: Tue Sep 19 16:32:07 2017 +0300 Committer: devozerov Committed: Tue Sep 19 16:32:07 2017 +0300 -- .../utils/PlatformConfigurationUtils.java | 53 +++ .../Client/Cache/ScanQueryTest.cs | 2 +- .../Client/ClientConnectionTest.cs | 26 ++- .../Client/RawSocketTest.cs | 4 +- .../IgniteConfigurationSerializerTest.cs| 17 +- .../IgniteConfigurationTest.cs | 40 + .../Apache.Ignite.Core.csproj | 1 + .../Client/IgniteClientConfiguration.cs | 2 +- .../ClientConnectorConfiguration.cs | 159 +++ .../Configuration/SqlConnectorConfiguration.cs | 2 + .../Apache.Ignite.Core/IgniteConfiguration.cs | 50 +- .../IgniteConfigurationSection.xsd | 52 ++ 12 files changed, 400 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/51f1c67b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java index d54aac1..7e17bdb 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java @@ -53,6 +53,7 @@ import org.apache.ignite.cache.eviction.lru.LruEvictionPolicy; import org.apache.ignite.configuration.AtomicConfiguration; import org.apache.ignite.configuration.BinaryConfiguration; import org.apache.ignite.configuration.CacheConfiguration; +import org.apache.ignite.configuration.ClientConnectorConfiguration; import org.apache.ignite.configuration.DataPageEvictionMode; import org.apache.ignite.configuration.IgniteConfiguration; import org.apache.ignite.configuration.MemoryConfiguration; @@ -682,6 +683,12 @@ public class PlatformConfigurationUtils { cfg.setSqlConnectorConfiguration(readSqlConnectorConfiguration(in)); if (in.readBoolean()) + cfg.setClientConnectorConfiguration(readClientConnectorConfiguration(in)); + +if (!in.readBoolean()) // ClientConnectorConfigurationEnabled override +cfg.setClientConnectorConfiguration(null); + +if (in.readBoolean()) cfg.setPersistentStoreConfiguration(readPersistentStoreConfiguration(in)); readPluginConfiguration(cfg, in); @@ -1147,6 +1154,10 @@ public class PlatformConfigurationUtils { writeSqlConnectorConfiguration(w, cfg.getSqlConnectorConfiguration()); +writeClientConnectorConfiguration(w, cfg.getClientConnectorConfiguration()); + +w.writeBoolean(cfg.getClientConnectorConfiguration() != null); + writePersistentStoreConfiguration(w, cfg.getPersistentStoreConfiguration()); w.writeString(cfg.getIgniteHome()); @@ -1483,6 +1494,48 @@ public class PlatformConfigurationUtils { } /** + * Reads the client connector configuration. + * + * @param in Reader. + * @return Config. + */ +private static ClientConnectorConfiguration readClientConnectorConfiguration(BinaryRawReader in) { +return new ClientConnectorConfiguration() +.setHost(in.readString()) +.setPort(in.readInt()) +.setPortRange(in.readInt()) +.setSocketSendBufferSize(in.readInt()) +.setSocketReceiveBufferSize(in.readInt()) +.setTcpNoDelay(in.readBoolean()) +.setMaxOpenCursorsPerConnection(in.readInt()) +.setThreadPoolSize(in.readInt()); +} + +/** + * Writes the client connector configuration. + * + * @param w Writer. + */ +private static void writeClientConnectorConfiguration(BinaryRawWriter w, ClientConnectorConfiguration cfg) { +assert w != null; + +if (cfg != null) { +w.writeBoolean(true); + +
[2/3] ignite git commit: IGNITE-6099: ODBC: Implemented SQLGetInfo for all info types. This closes #2689.
http://git-wip-us.apache.org/repos/asf/ignite/blob/29594dba/modules/platforms/cpp/odbc/src/config/connection_info.cpp -- diff --git a/modules/platforms/cpp/odbc/src/config/connection_info.cpp b/modules/platforms/cpp/odbc/src/config/connection_info.cpp index 4925957..362d46b 100644 --- a/modules/platforms/cpp/odbc/src/config/connection_info.cpp +++ b/modules/platforms/cpp/odbc/src/config/connection_info.cpp @@ -48,184 +48,846 @@ namespace ignite { switch (type) { +#ifdef SQL_ACCESSIBLE_PROCEDURES +DBG_STR_CASE(SQL_ACCESSIBLE_PROCEDURES); +#endif // SQL_ACCESSIBLE_PROCEDURES +#ifdef SQL_ACCESSIBLE_TABLES +DBG_STR_CASE(SQL_ACCESSIBLE_TABLES); +#endif // SQL_ACCESSIBLE_TABLES +#ifdef SQL_ACTIVE_ENVIRONMENTS +DBG_STR_CASE(SQL_ACTIVE_ENVIRONMENTS); +#endif // SQL_ACTIVE_ENVIRONMENTS +#ifdef SQL_DRIVER_NAME DBG_STR_CASE(SQL_DRIVER_NAME); +#endif // SQL_DRIVER_NAME +#ifdef SQL_DBMS_NAME DBG_STR_CASE(SQL_DBMS_NAME); +#endif // SQL_DBMS_NAME +#ifdef SQL_DRIVER_ODBC_VER DBG_STR_CASE(SQL_DRIVER_ODBC_VER); +#endif // SQL_DRIVER_ODBC_VER +#ifdef SQL_DBMS_VER DBG_STR_CASE(SQL_DBMS_VER); +#endif // SQL_DBMS_VER +#ifdef SQL_DRIVER_VER DBG_STR_CASE(SQL_DRIVER_VER); +#endif // SQL_DRIVER_VER +#ifdef SQL_COLUMN_ALIAS DBG_STR_CASE(SQL_COLUMN_ALIAS); +#endif // SQL_COLUMN_ALIAS +#ifdef SQL_IDENTIFIER_QUOTE_CHAR DBG_STR_CASE(SQL_IDENTIFIER_QUOTE_CHAR); +#endif // SQL_IDENTIFIER_QUOTE_CHAR +#ifdef SQL_CATALOG_NAME_SEPARATOR DBG_STR_CASE(SQL_CATALOG_NAME_SEPARATOR); +#endif // SQL_CATALOG_NAME_SEPARATOR +#ifdef SQL_SPECIAL_CHARACTERS DBG_STR_CASE(SQL_SPECIAL_CHARACTERS); +#endif // SQL_SPECIAL_CHARACTERS +#ifdef SQL_CATALOG_TERM DBG_STR_CASE(SQL_CATALOG_TERM); +#endif // SQL_CATALOG_TERM +#ifdef SQL_TABLE_TERM DBG_STR_CASE(SQL_TABLE_TERM); +#endif // SQL_TABLE_TERM +#ifdef SQL_SCHEMA_TERM DBG_STR_CASE(SQL_SCHEMA_TERM); +#endif // SQL_SCHEMA_TERM +#ifdef SQL_NEED_LONG_DATA_LEN DBG_STR_CASE(SQL_NEED_LONG_DATA_LEN); -//DBG_STR_CASE(SQL_ASYNC_DBC_FUNCTIONS); +#endif // SQL_NEED_LONG_DATA_LEN +#ifdef SQL_ASYNC_DBC_FUNCTIONS +DBG_STR_CASE(SQL_ASYNC_DBC_FUNCTIONS); +#endif // SQL_ASYNC_DBC_FUNCTIONS +#ifdef SQL_ASYNC_NOTIFICATION DBG_STR_CASE(SQL_ASYNC_NOTIFICATION); +#endif // SQL_ASYNC_NOTIFICATION +#ifdef SQL_GETDATA_EXTENSIONS DBG_STR_CASE(SQL_GETDATA_EXTENSIONS); +#endif // SQL_GETDATA_EXTENSIONS +#ifdef SQL_ODBC_INTERFACE_CONFORMANCE DBG_STR_CASE(SQL_ODBC_INTERFACE_CONFORMANCE); +#endif // SQL_ODBC_INTERFACE_CONFORMANCE +#ifdef SQL_SQL_CONFORMANCE DBG_STR_CASE(SQL_SQL_CONFORMANCE); +#endif // SQL_SQL_CONFORMANCE +#ifdef SQL_CATALOG_USAGE DBG_STR_CASE(SQL_CATALOG_USAGE); +#endif // SQL_CATALOG_USAGE +#ifdef SQL_SCHEMA_USAGE DBG_STR_CASE(SQL_SCHEMA_USAGE); +#endif // SQL_SCHEMA_USAGE +#ifdef SQL_MAX_IDENTIFIER_LEN DBG_STR_CASE(SQL_MAX_IDENTIFIER_LEN); +#endif // SQL_MAX_IDENTIFIER_LEN +#ifdef SQL_AGGREGATE_FUNCTIONS DBG_STR_CASE(SQL_AGGREGATE_FUNCTIONS); +#endif // SQL_AGGREGATE_FUNCTIONS +#ifdef SQL_NUMERIC_FUNCTIONS DBG_STR_CASE(SQL_NUMERIC_FUNCTIONS); +#endif // SQL_NUMERIC_FUNCTIONS +#ifdef SQL_STRING_FUNCTIONS DBG_STR_CASE(SQL_STRING_FUNCTIONS); +#endif // SQL_STRING_FUNCTIONS +#ifdef SQL_TIMEDATE_FUNCTIONS DBG_STR_CASE(SQL_TIMEDATE_FUNCTIONS); +#endif // SQL_TIMEDATE_FUNCTIONS +#ifdef SQL_TIMEDATE_ADD_INTERVALS DBG_STR_CASE(SQL_TIMEDATE_ADD_INTERVALS); +#endif // SQL_TIMEDATE_ADD_INTERVALS +#ifdef SQL_TIMEDATE_DIFF_INTERVALS DBG_STR_CASE(SQL_TIMEDATE_DIFF_INTERVALS); +#endif // SQL_TIMEDATE_DIFF_INTERVALS +#ifdef SQL_DATETIME_LITERALS DBG_STR_CASE(SQL_DATETIME_LITERALS); +#endif // SQL_DATETIME_LITERALS +#ifdef SQL_SYSTEM_FUNCTIONS DBG_STR_CASE(SQL_SYSTEM_FUNCTIONS); +#endif // SQL_SYSTEM_FUNCTIONS +#ifdef SQL_CONVERT_FUNCTIONS DBG_STR_CASE(SQL_CONVERT_FUNCTIONS); +#endif // SQL_CONVERT_FUNCTIONS +#ifdef SQL_OJ_CAPABILITIES DBG_STR_CASE(SQL_OJ_CAPABILITIES); +#endif // SQL_OJ_CAPABILITIES +#ifdef SQL_POS_OPERATIONS DBG_STR_CASE(SQL_POS_OPERATIONS); +#endif // SQL_POS_OPERATIONS +#ifdef SQL_MAX_CONCURRENT_ACTIVITIES DBG_STR_CASE(SQL_MAX_CONCURRENT_ACTIVITIES); +#endif // SQL_MAX_CONCURRENT_ACTIVITIES +#ifdef SQL_CURSOR_COMMIT_BEHAVIOR
[3/3] ignite git commit: IGNITE-6099: ODBC: Implemented SQLGetInfo for all info types. This closes #2689.
IGNITE-6099: ODBC: Implemented SQLGetInfo for all info types. This closes #2689. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/29594dba Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/29594dba Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/29594dba Branch: refs/heads/master Commit: 29594dba95e26dbd2690e9aca7997c310863ec70 Parents: 45ef615 Author: Igor SapegoAuthored: Tue Sep 19 16:23:54 2017 +0300 Committer: devozerov Committed: Tue Sep 19 16:23:54 2017 +0300 -- .../cpp/odbc-test/src/connection_info_test.cpp |3 +- .../ignite/odbc/config/connection_info.h|8 +- .../cpp/odbc/include/ignite/odbc/connection.h |3 + .../cpp/odbc/src/config/connection_info.cpp | 2235 -- modules/platforms/cpp/odbc/src/connection.cpp |6 +- 5 files changed, 1997 insertions(+), 258 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/29594dba/modules/platforms/cpp/odbc-test/src/connection_info_test.cpp -- diff --git a/modules/platforms/cpp/odbc-test/src/connection_info_test.cpp b/modules/platforms/cpp/odbc-test/src/connection_info_test.cpp index c2fe4f8..2119c09 100644 --- a/modules/platforms/cpp/odbc-test/src/connection_info_test.cpp +++ b/modules/platforms/cpp/odbc-test/src/connection_info_test.cpp @@ -36,7 +36,8 @@ BOOST_AUTO_TEST_CASE(TestConnectionInfoSupportedInfo) char buffer[4096]; short reslen = 0; -ConnectionInfo info; +Configuration cfg; +ConnectionInfo info(cfg); SqlResult::Type result; http://git-wip-us.apache.org/repos/asf/ignite/blob/29594dba/modules/platforms/cpp/odbc/include/ignite/odbc/config/connection_info.h -- diff --git a/modules/platforms/cpp/odbc/include/ignite/odbc/config/connection_info.h b/modules/platforms/cpp/odbc/include/ignite/odbc/config/connection_info.h index c17d5ec..fb6351a 100644 --- a/modules/platforms/cpp/odbc/include/ignite/odbc/config/connection_info.h +++ b/modules/platforms/cpp/odbc/include/ignite/odbc/config/connection_info.h @@ -24,6 +24,7 @@ #include #include +#include namespace ignite { @@ -50,8 +51,10 @@ namespace ignite /** * Constructor. + * + * @param config Configuration. */ -ConnectionInfo(); +ConnectionInfo(const Configuration& config); /** * Destructor. @@ -88,6 +91,9 @@ namespace ignite /** Short parameters. */ UshortInfoMap shortParams; + +/** Configuration. */ +const Configuration& config; }; } } http://git-wip-us.apache.org/repos/asf/ignite/blob/29594dba/modules/platforms/cpp/odbc/include/ignite/odbc/connection.h -- diff --git a/modules/platforms/cpp/odbc/include/ignite/odbc/connection.h b/modules/platforms/cpp/odbc/include/ignite/odbc/connection.h index fa80a01..34fed5f 100644 --- a/modules/platforms/cpp/odbc/include/ignite/odbc/connection.h +++ b/modules/platforms/cpp/odbc/include/ignite/odbc/connection.h @@ -316,6 +316,9 @@ namespace ignite /** Configuration. */ config::Configuration config; + +/** Connection info. */ +config::ConnectionInfo info; }; } }
[1/3] ignite git commit: IGNITE-6099: ODBC: Implemented SQLGetInfo for all info types. This closes #2689.
Repository: ignite Updated Branches: refs/heads/master 45ef6155a -> 29594dba9 http://git-wip-us.apache.org/repos/asf/ignite/blob/29594dba/modules/platforms/cpp/odbc/src/connection.cpp -- diff --git a/modules/platforms/cpp/odbc/src/connection.cpp b/modules/platforms/cpp/odbc/src/connection.cpp index 472eb75..777973a 100644 --- a/modules/platforms/cpp/odbc/src/connection.cpp +++ b/modules/platforms/cpp/odbc/src/connection.cpp @@ -46,7 +46,8 @@ namespace ignite socket(), connected(false), parser(), -config() +config(), +info(config) { // No-op. } @@ -58,9 +59,6 @@ namespace ignite const config::ConnectionInfo& Connection::GetInfo() const { -// Connection info is constant and the same for all connections now. -const static config::ConnectionInfo info; - return info; }
ignite git commit: IGNITE-6431 Web console: Fixed duplicate "Partition loss policy" field.
Repository: ignite Updated Branches: refs/heads/master 51f1c67bb -> 2299589fb IGNITE-6431 Web console: Fixed duplicate "Partition loss policy" field. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/2299589f Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/2299589f Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/2299589f Branch: refs/heads/master Commit: 2299589fb06388291ead1fecc91667e80814bb9e Parents: 51f1c67 Author: vsiskoAuthored: Wed Sep 20 00:10:46 2017 +0700 Committer: Alexey Kuznetsov Committed: Wed Sep 20 00:10:46 2017 +0700 -- .../states/configuration/caches/general.pug | 23 ++-- 1 file changed, 2 insertions(+), 21 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/2299589f/modules/web-console/frontend/app/modules/states/configuration/caches/general.pug -- diff --git a/modules/web-console/frontend/app/modules/states/configuration/caches/general.pug b/modules/web-console/frontend/app/modules/states/configuration/caches/general.pug index 87c67f5..50f39e6 100644 --- a/modules/web-console/frontend/app/modules/states/configuration/caches/general.pug +++ b/modules/web-console/frontend/app/modules/states/configuration/caches/general.pug @@ -45,25 +45,6 @@ include /app/helpers/jade/mixins .settings-row +cacheMode('Mode:', `${model}.cacheMode`, '"cacheMode"', 'PARTITIONED') -//- Since ignite 2.0 -.settings-row(ng-if='$ctrl.available("2.0.0")') -+dropdown('Partition loss policy:', model + '.partitionLossPolicy', '"partitionLossPolicy"', 'true', 'IGNORE', -'[\ -{value: "READ_ONLY_SAFE", label: "READ_ONLY_SAFE"},\ -{value: "READ_ONLY_ALL", label: "READ_ONLY_ALL"},\ -{value: "READ_WRITE_SAFE", label: "READ_WRITE_SAFE"},\ -{value: "READ_WRITE_ALL", label: "READ_WRITE_ALL"},\ -{value: "IGNORE", label: "IGNORE"}\ -]', -'Defines how cache will behave in a case when one or more partitions are lost:\ -\ -READ_ONLY_SAFE - all writes to the cache will be failed with an exception, reads will only be allowed for keys in non-lost partitions\ -READ_ONLY_ALL - all writes to the cache will be failed with an exception, all reads will proceed as if all partitions were in a consistent state\ -READ_WRITE_SAFE - all reads and writes will be allowed for keys in valid partitions\ -READ_WRITE_ALL - all reads and writes will proceed as if all partitions were in a consistent state\ -IGNORE - if partition is lost, reset its state and do not clear intermediate data\ -') - .settings-row +dropdown('Atomicity:', `${model}.atomicityMode`, '"atomicityMode"', 'true', 'ATOMIC', '[\ @@ -96,10 +77,10 @@ include /app/helpers/jade/mixins READ_ONLY_SAFE - in this mode all writes to the cache will be failed with an exception,\ reads will only be allowed for keys in non-lost partitions.\ Reads from lost partitions will be failed with an exception.\ -READ_ONLY_ALL - in this mode Ñll writes to the cache will be failed with an exception.\ +READ_ONLY_ALL - in this mode all writes to the cache will be failed with an exception.\ All reads will proceed as if all partitions were in a consistent state.\ The result of reading from a lost partition is undefined and may be different on different nodes in the cluster.\ -READ_WRITE_SAFE - in this mode Aall reads and writes will be allowed for keys in valid partitions.\ +READ_WRITE_SAFE - in this mode all reads and writes will be allowed for keys in valid partitions.\ All reads and writes for keys in lost partitions will be failed with an exception.\ READ_WRITE_ALL - in this mode all reads and writes will proceed as if all partitions were in a consistent state.\ The result of reading from a lost partition is undefined and may be different on different nodes in the cluster.\
ignite git commit: ignite-6181-1
Repository: ignite Updated Branches: refs/heads/ignite-6181-1 2468e0090 -> 8e89ff291 ignite-6181-1 Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/8e89ff29 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/8e89ff29 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/8e89ff29 Branch: refs/heads/ignite-6181-1 Commit: 8e89ff29179651c10c5918c1e8d0928e738ae8ae Parents: 2468e00 Author: sboikovAuthored: Tue Sep 19 18:01:38 2017 +0300 Committer: sboikov Committed: Tue Sep 19 18:16:29 2017 +0300 -- .../IgniteCacheThreadLocalTxTest.java | 64 +--- .../TxRollbackOnTimeoutNearCacheTest.java | 28 +++ .../transactions/TxRollbackOnTimeoutTest.java | 79 .../ignite/testsuites/IgniteCacheTestSuite.java | 2 + 4 files changed, 149 insertions(+), 24 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/8e89ff29/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheThreadLocalTxTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheThreadLocalTxTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheThreadLocalTxTest.java index d62bae2..4b08500 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheThreadLocalTxTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheThreadLocalTxTest.java @@ -22,8 +22,13 @@ import org.apache.ignite.Ignite; import org.apache.ignite.IgniteCache; import org.apache.ignite.IgniteTransactions; import org.apache.ignite.configuration.CacheConfiguration; +import org.apache.ignite.configuration.IgniteConfiguration; import org.apache.ignite.internal.IgniteKernal; +import org.apache.ignite.internal.util.typedef.G; import org.apache.ignite.lang.IgniteFuture; +import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi; +import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder; +import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder; import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; import org.apache.ignite.transactions.Transaction; import org.apache.ignite.transactions.TransactionConcurrency; @@ -35,26 +40,63 @@ import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL; * */ public class IgniteCacheThreadLocalTxTest extends GridCommonAbstractTest { +/** */ +private static final TcpDiscoveryIpFinder ipFinder = new TcpDiscoveryVmIpFinder(true); + +/** */ +private boolean client; + +/** {@inheritDoc} */ +@Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception { +IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName); + +((TcpDiscoverySpi)cfg.getDiscoverySpi()).setIpFinder(ipFinder); + +cfg.setClientMode(client); + +return cfg; +} + +/** {@inheritDoc} */ +@Override protected void afterTest() throws Exception { +stopAllGrids(); + +super.afterTest(); +} + /** - * + * @throws Exception If failed. */ -public IgniteCacheThreadLocalTxTest() { -super(true); +public void testSingleNode() throws Exception { +threadLocalTx(startGrid(0)); } /** * @throws Exception If failed. */ +public void testMultiNode() throws Exception { +startGridsMultiThreaded(4); + +client = true; + +startGrid(4); + +for (Ignite node : G.allGrids()) +threadLocalTx(node); +} + +/** + * @param node Node. + * @throws Exception If failed. + */ @SuppressWarnings("unchecked") -public void testThreadLocalTx() throws Exception { +private void threadLocalTx(Ignite node) throws Exception { CacheConfiguration ccfg = new CacheConfiguration(DEFAULT_CACHE_NAME); ccfg.setAtomicityMode(TRANSACTIONAL); +ccfg.setBackups(2); -Ignite node = grid(); - -IgniteCache cache = node.createCache(ccfg); -IgniteTransactions txs = node.transactions(); +IgniteCache cache = node.getOrCreateCache(ccfg); checkNoTx(node); @@ -73,7 +115,11 @@ public class IgniteCacheThreadLocalTxTest extends GridCommonAbstractTest { } } -assertNull(txs.tx()); +checkNoTx(node); + +cache.put(1, 1); + +checkNoTx(node); } /**
[09/50] [abbrv] ignite git commit: IGNITE-6124: fix for lastVer field on GridDhtPartitionsSingleMessage message
IGNITE-6124: fix for lastVer field on GridDhtPartitionsSingleMessage message Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/fc55ade9 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/fc55ade9 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/fc55ade9 Branch: refs/heads/ignite-6181-1 Commit: fc55ade9b5a586fb39701b4e8b7ce2105bff2fd0 Parents: a857c5b Author: Sergey ChugunovAuthored: Sat Aug 26 21:44:13 2017 +0300 Committer: Ilya Lantukh Committed: Sat Aug 26 21:44:13 2017 +0300 -- .../distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/fc55ade9/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java index 6decb44..299284d 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java @@ -1227,7 +1227,7 @@ public class GridDhtPartitionsExchangeFuture extends GridDhtTopologyFutureAdapte if (cctx.kernalContext().clientNode()) { msg = new GridDhtPartitionsSingleMessage(exchangeId(), true, -null, +cctx.versions().last(), true); } else {
[11/50] [abbrv] ignite git commit: Fixed update sequence.
Fixed update sequence. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/4907f7d8 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/4907f7d8 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/4907f7d8 Branch: refs/heads/ignite-6181-1 Commit: 4907f7d87a08fb5ca5d4d74ef8b61db0fd207855 Parents: a01837b Author: Ilya LantukhAuthored: Mon Aug 28 14:58:50 2017 +0300 Committer: Ilya Lantukh Committed: Mon Aug 28 14:58:50 2017 +0300 -- .../dht/GridDhtPartitionTopologyImpl.java | 59 +--- 1 file changed, 25 insertions(+), 34 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/4907f7d8/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java -- diff --git 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 index e0f54b3..f7f71a1 100644 --- 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 @@ -521,7 +521,7 @@ public class GridDhtPartitionTopologyImpl implements GridDhtPartitionTopology { DiscoveryEvent evt = evts0.get(i); if (ExchangeDiscoveryEvents.serverLeftEvent(evt)) -updateSeq = removeNode(evt.eventNode().id(), updateSeq); +removeNode(evt.eventNode().id()); } } @@ -1243,6 +1243,9 @@ public class GridDhtPartitionTopologyImpl implements GridDhtPartitionTopology { ", curPart=" + mapString(part) + ", newPart=" + mapString(newPart) + ']'); } + +if (newPart.nodeId().equals(ctx.localNodeId())) +updateSeq.setIfGreater(newPart.updateSequence()); } else { // If for some nodes current partition has a newer map, @@ -1272,6 +1275,12 @@ public class GridDhtPartitionTopologyImpl implements GridDhtPartitionTopology { } } } +else { +GridDhtPartitionMap locNodeMap = partMap.get(ctx.localNodeId()); + +if (locNodeMap != null) +updateSeq.setIfGreater(locNodeMap.updateSequence()); +} if (!fullMapUpdated) { if (log.isDebugEnabled()) { @@ -1379,8 +1388,6 @@ public class GridDhtPartitionTopologyImpl implements GridDhtPartitionTopology { long updateSeq = this.updateSeq.incrementAndGet(); -node2part.newUpdateSequence(updateSeq); - if (readyTopVer.initialized() && readyTopVer.equals(lastTopChangeVer)) { AffinityAssignment aff = grp.affinity().readyAffinity(readyTopVer); @@ -1537,11 +1544,8 @@ public class GridDhtPartitionTopologyImpl implements GridDhtPartitionTopology { GridDhtPartitionMap cur = node2part.get(parts.nodeId()); if (force) { -if (cur != null && cur.topologyVersion().initialized()) { +if (cur != null && cur.topologyVersion().initialized()) parts.updateSequence(cur.updateSequence(), cur.topologyVersion()); - -this.updateSeq.setIfGreater(cur.updateSequence()); -} } else if (isStaleUpdate(cur, parts)) { U.warn(log, "Stale update for single partition map update (will ignore) [exchId=" + exchId + @@ -1551,6 +1555,10 @@ public class GridDhtPartitionTopologyImpl implements GridDhtPartitionTopology { return false; } +long updateSeq = this.updateSeq.incrementAndGet(); + +node2part.newUpdateSequence(updateSeq); + boolean changed = false; if (cur == null || !cur.equals(parts)) @@ -1558,10 +1566,6 @@ public class GridDhtPartitionTopologyImpl implements GridDhtPartitionTopology { node2part.put(parts.nodeId(), parts); -this.updateSeq.setIfGreater(parts.updateSequence()); - -long updateSeq = this.updateSeq.incrementAndGet(); - // During exchange diff is calculated after all messages are received and affinity
[17/50] [abbrv] ignite git commit: IGNITE-6181 wip.
IGNITE-6181 wip. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/61dfb65f Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/61dfb65f Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/61dfb65f Branch: refs/heads/ignite-6181-1 Commit: 61dfb65f97c1d2d532d0f69b78ef4db37a727caf Parents: 7f5d80d Author: Aleksei ScherbakovAuthored: Tue Aug 29 20:14:31 2017 +0300 Committer: Aleksei Scherbakov Committed: Tue Aug 29 20:14:31 2017 +0300 -- .../cache/distributed/near/GridNearTxLocal.java | 39 +- .../cache/transactions/IgniteTxManager.java | 43 +++- .../transactions/TxTimeoutHandlingTest.java | 4 +- 3 files changed, 81 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/61dfb65f/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 2fb0ff3..ac35ad9 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 @@ -34,6 +34,7 @@ import javax.cache.CacheException; import javax.cache.expiry.ExpiryPolicy; import javax.cache.processor.EntryProcessor; import org.apache.ignite.IgniteCheckedException; +import org.apache.ignite.IgniteException; import org.apache.ignite.cluster.ClusterNode; import org.apache.ignite.internal.IgniteInternalFuture; import org.apache.ignite.internal.NodeStoppingException; @@ -67,6 +68,7 @@ import org.apache.ignite.internal.processors.cache.transactions.IgniteTxKey; import org.apache.ignite.internal.processors.cache.transactions.TransactionProxy; import org.apache.ignite.internal.processors.cache.transactions.TransactionProxyImpl; import org.apache.ignite.internal.processors.cache.version.GridCacheVersion; +import org.apache.ignite.internal.processors.timeout.GridTimeoutObject; import org.apache.ignite.internal.transactions.IgniteTxOptimisticCheckedException; import org.apache.ignite.internal.transactions.IgniteTxRollbackCheckedException; import org.apache.ignite.internal.transactions.IgniteTxTimeoutCheckedException; @@ -105,14 +107,12 @@ import static org.apache.ignite.internal.processors.cache.GridCacheOperation.TRA import static org.apache.ignite.internal.processors.cache.GridCacheOperation.UPDATE; import static org.apache.ignite.internal.processors.cache.transactions.IgniteTxEntry.SER_READ_EMPTY_ENTRY_VER; import static org.apache.ignite.internal.processors.cache.transactions.IgniteTxEntry.SER_READ_NOT_EMPTY_VER; -import static org.apache.ignite.transactions.TransactionState.ACTIVE; import static org.apache.ignite.transactions.TransactionState.COMMITTED; import static org.apache.ignite.transactions.TransactionState.COMMITTING; import static org.apache.ignite.transactions.TransactionState.PREPARED; import static org.apache.ignite.transactions.TransactionState.PREPARING; import static org.apache.ignite.transactions.TransactionState.ROLLED_BACK; import static org.apache.ignite.transactions.TransactionState.ROLLING_BACK; -import static org.apache.ignite.transactions.TransactionState.SUSPENDED; import static org.apache.ignite.transactions.TransactionState.UNKNOWN; /** @@ -175,6 +175,10 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements AutoClosea @GridToStringExclude private TransactionProxyImpl proxy; +/** */ +@GridToStringExclude +private GridTimeoutObject timeoutHandler; + /** * Empty constructor required for {@link Externalizable}. */ @@ -3148,6 +3152,12 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements AutoClosea // Prepare was called explicitly. return fut; +// Clears timeout handler before prepare, because prepare phase will clean up everything right up. +if (!clearTimeoutHandler()) { +// Timeout closure has been invoked, tx will be rolled back. +throw new IgniteException("Bad"); +} + mapExplicitLocks(); fut.prepare(); @@ -3170,6 +3180,15 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements AutoClosea } /** + * Clears timeout handler. + */ +public boolean clearTimeoutHandler() { +timeoutHandler = null; + +return true; +
[28/50] [abbrv] ignite git commit: IGNITE-6181 wip.
IGNITE-6181 wip. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/3097d8d8 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/3097d8d8 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/3097d8d8 Branch: refs/heads/ignite-6181-1 Commit: 3097d8d81872a353970031ef115b4f18a67c19e2 Parents: 12669b8 Author: ascherbakoffAuthored: Sat Sep 9 17:23:36 2017 +0300 Committer: ascherbakoff Committed: Sat Sep 9 17:23:36 2017 +0300 -- .../cache/distributed/near/GridNearTxLocal.java | 6 ++-- .../transactions/TxRollbackOnTimeoutTest.java | 29 2 files changed, 27 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/3097d8d8/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 8d15e87..fb4c5e1 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 @@ -3266,9 +3266,6 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements GridTimeou if (log.isDebugEnabled()) log.debug("Rolling back near tx: " + this); -if (remainingTime() > 0 && !implicit()) -cctx.time().removeTimeoutObject(this); - if (fastFinish()) { state(PREPARING); state(PREPARED); @@ -3696,6 +3693,9 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements GridTimeou /** {@inheritDoc} */ @Override public void close() throws IgniteCheckedException { +if (timeout() > 0 && !implicit()) +cctx.time().removeTimeoutObject(this); + TransactionState state = state(); if (state != ROLLING_BACK && state != ROLLED_BACK && state != COMMITTING && state != COMMITTED) http://git-wip-us.apache.org/repos/asf/ignite/blob/3097d8d8/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java index d854cf0..3d25d10 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java @@ -30,11 +30,13 @@ import org.apache.ignite.internal.IgniteInternalFuture; import org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal; import org.apache.ignite.internal.processors.timeout.GridTimeoutProcessor; import org.apache.ignite.internal.util.GridConcurrentSkipListSet; +import org.apache.ignite.internal.util.typedef.X; import org.apache.ignite.internal.util.typedef.internal.U; import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi; import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder; import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; import org.apache.ignite.transactions.Transaction; +import org.apache.ignite.transactions.TransactionTimeoutException; import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL; import static org.apache.ignite.transactions.TransactionConcurrency.PESSIMISTIC; @@ -209,10 +211,20 @@ public class TxRollbackOnTimeoutTest extends GridCommonAbstractTest { IgniteEx client = (IgniteEx)startGrid("client"); for (int i = 0; i < 5; i++) -testTimeoutRemoval(grid(0), i); +testTimeoutRemoval0(grid(0), i, TX_TIMEOUT); for (int i = 0; i < 5; i++) -testTimeoutRemoval(client, i); +testTimeoutRemoval0(client, i, TX_TIMEOUT); + +for (int i = 0; i < 5; i++) +testTimeoutRemoval0(grid(0), i, 1); + +for (int i = 0; i < 5; i++) +testTimeoutRemoval0(client, i, 1); + +// Repeat with more iterations to make sure everything is cleared. +for (int i = 0; i < 500; i++) +testTimeoutRemoval0(client, 2, 1); } /** @@ -220,10 +232,10 @@ public class TxRollbackOnTimeoutTest
[33/50] [abbrv] ignite git commit: IGNITE-6181 wip.
IGNITE-6181 wip. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/6ee98d1d Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/6ee98d1d Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/6ee98d1d Branch: refs/heads/ignite-6181-1 Commit: 6ee98d1d6ef36933ea94ecd568fb88c6ff62fadf Parents: 1938338 Author: Aleksei ScherbakovAuthored: Mon Sep 11 20:09:39 2017 +0300 Committer: Aleksei Scherbakov Committed: Mon Sep 11 20:09:39 2017 +0300 -- .../ignite/internal/processors/cache/GridCacheProcessor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/6ee98d1d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java index bd950fa..1efb500 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java @@ -3654,7 +3654,7 @@ public class GridCacheProcessor extends GridProcessorAdapter { * @throws IgniteException If transaction exist. */ private void checkEmptyTransactions() throws IgniteException { -if (transactions().tx() != null || sharedCtx.lockedTopologyVersion(null) != null) +if (transactions().tx() != null) throw new IgniteException("Cannot start/stop cache within lock or transaction."); }
[31/50] [abbrv] ignite git commit: IGNITE-6181 wip.
IGNITE-6181 wip. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/467e0bad Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/467e0bad Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/467e0bad Branch: refs/heads/ignite-6181-1 Commit: 467e0bad7d25a9720738ce77f7afb5fd587727f5 Parents: ec4b16c Author: ascherbakoffAuthored: Sun Sep 10 17:18:20 2017 +0300 Committer: ascherbakoff Committed: Sun Sep 10 17:18:20 2017 +0300 -- .../processors/cache/GridCacheAdapter.java | 9 +- .../cache/distributed/near/GridNearTxLocal.java | 107 +++ .../cache/transactions/IgniteTxManager.java | 99 +++-- .../cache/IgniteTxConfigCacheSelfTest.java | 2 + 4 files changed, 132 insertions(+), 85 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/467e0bad/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java index 18fb2ff..8e075b2 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java @@ -139,7 +139,6 @@ import org.apache.ignite.spi.discovery.tcp.internal.TcpDiscoveryNode; import org.apache.ignite.transactions.Transaction; import org.apache.ignite.transactions.TransactionConcurrency; import org.apache.ignite.transactions.TransactionIsolation; -import org.apache.ignite.transactions.TransactionState; import org.jetbrains.annotations.Nullable; import org.jsr166.LongAdder8; @@ -4032,11 +4031,11 @@ public abstract class GridCacheAdapter implements IgniteInternalCache putAllAsync0(cacheCtx, -null, -map, -null, -null, -drMap, -false); +null, +map, +null, +null, +drMap, +false); } /** @@ -2486,8 +2486,7 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements GridTimeou processLoaded(map, keys, needVer, c); return null; -} -catch (Exception e) { +} catch (Exception e) { setRollbackOnly();
[35/50] [abbrv] ignite git commit: IGNITE-6181 wip.
IGNITE-6181 wip. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/225d4f52 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/225d4f52 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/225d4f52 Branch: refs/heads/ignite-6181-1 Commit: 225d4f52a777ac14d4a941f7eb9de505947962ff Parents: 4c3df8f Author: Aleksei ScherbakovAuthored: Tue Sep 12 20:11:32 2017 +0300 Committer: Aleksei Scherbakov Committed: Tue Sep 12 20:11:32 2017 +0300 -- .../cache/distributed/near/GridNearTxLocal.java | 6 -- .../cache/transactions/IgniteTxLocalAdapter.java| 3 +++ .../cache/transactions/TxRollbackOnTimeoutTest.java | 16 3 files changed, 23 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/225d4f52/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 aa0c85b..2308d71 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 @@ -230,7 +230,7 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements GridTimeou mappings = implicitSingle ? new IgniteTxMappingsSingleImpl() : new IgniteTxMappingsImpl(); -if (this.timeout() > 0 && !implicit()) +if (this.timeout() > 0 && !implicit() && !cctx.tm().deadlockDetectionEnabled()) cctx.time().addTimeoutObject(this); initResult(); @@ -4014,7 +4014,7 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements GridTimeou * Removes timeout handler used for eager rollbacks on timeouts. */ private void removeTimeoutHandler() { -if (timeout() > 0 && !implicit() && !timedOut()) +if (timeout() > 0 && !implicit() && !timedOut() && !cctx.tm().deadlockDetectionEnabled()) cctx.time().removeTimeoutObject(this); } @@ -4033,6 +4033,8 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements GridTimeou if (state(MARKED_ROLLBACK, true)) { cctx.kernalContext().closure().runLocalSafe(new Runnable() { @Override public void run() { +log().error("Transaction is timed out and will be rolled back: " + GridNearTxLocal.this); + rollbackNearTxLocalAsync(); } }); http://git-wip-us.apache.org/repos/asf/ignite/blob/225d4f52/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java index ea105ae..7f30981 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java @@ -1237,6 +1237,9 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter implements Ig * @throws IgniteCheckedException If transaction check failed. */ protected void checkValid() throws IgniteCheckedException { +if (local() && !dht() && remainingTime() == -1 && cctx.tm().deadlockDetectionEnabled()) +state(MARKED_ROLLBACK, true); + if (isRollbackOnly()) { if (remainingTime() == -1) throw new IgniteTxTimeoutCheckedException("Cache transaction timed out: " + this); http://git-wip-us.apache.org/repos/asf/ignite/blob/225d4f52/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java index 529fdc3..0a2601d 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java
[48/50] [abbrv] ignite git commit: ignite-6181-1
ignite-6181-1 Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/f950cb15 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/f950cb15 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/f950cb15 Branch: refs/heads/ignite-6181-1 Commit: f950cb15d55b6858987e3baca31ce1d350ec0c5d Parents: ea5cd0d Author: sboikovAuthored: Tue Sep 19 12:55:06 2017 +0300 Committer: sboikov Committed: Tue Sep 19 12:56:44 2017 +0300 -- .../cache/distributed/near/GridNearTxLocal.java | 81 +- .../transactions/IgniteTransactionsImpl.java| 3 +- .../cache/transactions/IgniteTxManager.java | 15 +-- .../cache/IgniteTxConfigCacheSelfTest.java | 2 +- .../IgniteOptimisticTxSuspendResumeTest.java| 3 +- .../transactions/TxRollbackOnTimeoutTest.java | 109 +++ .../hadoop/impl/HadoopTxConfigCacheTest.java| 2 +- 7 files changed, 121 insertions(+), 94 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/f950cb15/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 0e75b69..ad3b464 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 @@ -46,7 +46,6 @@ import org.apache.ignite.internal.processors.cache.EntryGetResult; 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.GridCacheFuture; import org.apache.ignite.internal.processors.cache.GridCacheMvccCandidate; import org.apache.ignite.internal.processors.cache.GridCacheMvccFuture; import org.apache.ignite.internal.processors.cache.GridCacheOperation; @@ -57,14 +56,11 @@ 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.GridDistributedTxMapping; import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtCacheEntry; -import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLockFuture; import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxFinishFuture; import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxLocalAdapter; import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareFuture; -import org.apache.ignite.internal.processors.cache.distributed.dht.colocated.GridDhtColocatedLockFuture; import org.apache.ignite.internal.processors.cache.distributed.dht.colocated.GridDhtDetachedCacheEntry; import org.apache.ignite.internal.processors.cache.dr.GridCacheDrInfo; -import org.apache.ignite.internal.processors.cache.local.GridLocalLockFuture; import org.apache.ignite.internal.processors.cache.transactions.IgniteInternalTx; import org.apache.ignite.internal.processors.cache.transactions.IgniteTxEntry; import org.apache.ignite.internal.processors.cache.transactions.IgniteTxKey; @@ -94,7 +90,6 @@ import org.apache.ignite.internal.util.typedef.internal.S; import org.apache.ignite.internal.util.typedef.internal.U; import org.apache.ignite.lang.IgniteBiClosure; import org.apache.ignite.lang.IgniteClosure; -import org.apache.ignite.lang.IgnitePredicate; import org.apache.ignite.lang.IgniteUuid; import org.apache.ignite.plugin.security.SecurityPermission; import org.apache.ignite.transactions.TransactionConcurrency; @@ -140,13 +135,6 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements GridTimeou private static final AtomicReferenceFieldUpdater ROLLBACK_FUT_UPD = AtomicReferenceFieldUpdater.newUpdater(GridNearTxLocal.class, GridNearTxFinishFuture.class, "rollbackFut"); -/** Lock future predicate. */ -private static final IgnitePredicate LOCK_FUTURES = new IgnitePredicate () { -@Override public boolean apply(GridCacheFuture fut) { -return fut instanceof GridDhtColocatedLockFuture; -} -}; - /** DHT mappings. */ private IgniteTxMappings mappings; @@
[47/50] [abbrv] ignite git commit: IGNITE-6181 wip.
IGNITE-6181 wip. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/ea5cd0dc Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/ea5cd0dc Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/ea5cd0dc Branch: refs/heads/ignite-6181-1 Commit: ea5cd0dc9eaaeeca5c36726bf7fdff32fc1e2b67 Parents: 1dcb42b Author: ascherbakoffAuthored: Sat Sep 16 16:00:41 2017 +0300 Committer: ascherbakoff Committed: Sat Sep 16 16:00:41 2017 +0300 -- .../IgniteOptimisticTxSuspendResumeTest.java | 2 +- .../transactions/TxRollbackOnTimeoutTest.java | 18 +++--- 2 files changed, 8 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/ea5cd0dc/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteOptimisticTxSuspendResumeTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteOptimisticTxSuspendResumeTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteOptimisticTxSuspendResumeTest.java index deb58bc..7b88b6d 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteOptimisticTxSuspendResumeTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteOptimisticTxSuspendResumeTest.java @@ -54,7 +54,7 @@ import static org.apache.ignite.transactions.TransactionState.SUSPENDED; */ public class IgniteOptimisticTxSuspendResumeTest extends GridCommonAbstractTest { /** Transaction timeout. */ -private static final long TX_TIMEOUT = 100; +private static final long TX_TIMEOUT = 300; /** Future timeout */ private static final int FUT_TIMEOUT = 5000; http://git-wip-us.apache.org/repos/asf/ignite/blob/ea5cd0dc/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java index c55f59e..360cba1 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java @@ -17,7 +17,6 @@ package org.apache.ignite.internal.processors.cache.transactions; -import java.util.Collections; import java.util.concurrent.CountDownLatch; import javax.cache.CacheException; import org.apache.ignite.Ignite; @@ -54,10 +53,7 @@ public class TxRollbackOnTimeoutTest extends GridCommonAbstractTest { private static final long TX_MIN_TIMEOUT = 1; /** */ -private static final long TX_TIMEOUT = 300; - -/** */ -private static final long TX_DEFAULT_TIMEOUT = 3_000; +private static final long TX_TIMEOUT = 500; /** */ private static final String CACHE_NAME = "test"; @@ -83,7 +79,7 @@ public class TxRollbackOnTimeoutTest extends GridCommonAbstractTest { ((TcpDiscoverySpi)cfg.getDiscoverySpi()).setIpFinder(IP_FINDER); TransactionConfiguration txCfg = new TransactionConfiguration(); -txCfg.setDefaultTxTimeout(TX_DEFAULT_TIMEOUT); +txCfg.setDefaultTxTimeout(TX_TIMEOUT); cfg.setTransactionConfiguration(txCfg); @@ -257,13 +253,13 @@ public class TxRollbackOnTimeoutTest extends GridCommonAbstractTest { IgniteInternalFuture fut1 = multithreadedAsync(new Runnable() { @Override public void run() { try { -try (Transaction tx = node1.transactions().txStart(PESSIMISTIC, REPEATABLE_READ, TX_TIMEOUT, 2)) { +try (Transaction tx = node1.transactions().txStart()) { node1.cache(CACHE_NAME).put(1, 1); l.countDown(); U.awaitQuiet(l); - node1.cache(CACHE_NAME).putAll(Collections.singletonMap(2, 2)); +node1.cache(CACHE_NAME).put(2, 2); tx.commit(); @@ -294,8 +290,8 @@ public class TxRollbackOnTimeoutTest extends GridCommonAbstractTest { fut1.get(); fut2.get(); -assertTrue(node1.cache(CACHE_NAME).containsKey(1)); -assertTrue(node1.cache(CACHE_NAME).containsKey(2)); +assertTrue("Expecting commited key 2",
[37/50] [abbrv] ignite git commit: IGNITE-6181 wip.
IGNITE-6181 wip. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/a6faebdc Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/a6faebdc Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/a6faebdc Branch: refs/heads/ignite-6181-1 Commit: a6faebdc36bd163e59733ba0764c3059f8286afc Parents: b017713 Author: Aleksei ScherbakovAuthored: Wed Sep 13 17:55:23 2017 +0300 Committer: Aleksei Scherbakov Committed: Wed Sep 13 17:55:23 2017 +0300 -- .../transactions/TxRollbackOnTimeoutTest.java | 44 1 file changed, 44 insertions(+) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/a6faebdc/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java index 20f6695..847f2b0 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java @@ -318,6 +318,50 @@ public class TxRollbackOnTimeoutTest extends GridCommonAbstractTest { } /** + * Tests tx timeout on deadlock. + * + * @throws Exception + */ +public void testTimeoutOnDeadlock() throws Exception { +final CountDownLatch l = new CountDownLatch(2); + +IgniteInternalFuture fut1 = multithreadedAsync(new Runnable() { +@Override public void run() { +try(Transaction tx = grid(0).transactions().txStart(PESSIMISTIC, REPEATABLE_READ, TX_TIMEOUT, 1)) { +grid(0).cache(CACHE_NAME).put(1, 1); + +l.countDown(); +U.awaitQuiet(l); + +grid(0).cache(CACHE_NAME).put(2, 2); +} + +} +}, 1, "First"); + +IgniteInternalFuture fut2 = multithreadedAsync(new Runnable() { +@Override public void run() { +try(Transaction tx = grid(1).transactions().txStart(PESSIMISTIC, REPEATABLE_READ, 0, 1)) { +grid(1).cache(CACHE_NAME).put(2, 2); + +l.countDown(); +U.awaitQuiet(l); + +grid(1).cache(CACHE_NAME).put(1, 1); +} +} + +}, 1, "Second"); + +fut1.get(); + +fut2.get(); + +assertTrue(grid(0).cache(CACHE_NAME).containsKey(1)); +assertTrue(grid(0).cache(CACHE_NAME).containsKey(2)); +} + +/** * @param concurrency Concurrency. * @param isolation Isolation. *
[25/50] [abbrv] ignite git commit: ignite-6181 minor
ignite-6181 minor Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/685e69ac Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/685e69ac Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/685e69ac Branch: refs/heads/ignite-6181-1 Commit: 685e69ac9014316e001353f98db6b27d2b9a74c7 Parents: b770c0a Author: sboikovAuthored: Wed Sep 6 13:17:36 2017 +0300 Committer: sboikov Committed: Wed Sep 6 14:09:50 2017 +0300 -- .../transactions/TxRollbackOnTimeoutTest.java | 121 +++ 1 file changed, 95 insertions(+), 26 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/685e69ac/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java index 84e85ff..4799534 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java @@ -18,18 +18,15 @@ package org.apache.ignite.internal.processors.cache.transactions; import java.util.concurrent.CountDownLatch; -import java.util.concurrent.TimeUnit; +import javax.cache.CacheException; import org.apache.ignite.Ignite; import org.apache.ignite.IgniteCheckedException; import org.apache.ignite.IgniteException; -import org.apache.ignite.IgniteSystemProperties; -import org.apache.ignite.cache.CacheAtomicityMode; import org.apache.ignite.configuration.CacheConfiguration; import org.apache.ignite.configuration.IgniteConfiguration; import org.apache.ignite.configuration.TransactionConfiguration; import org.apache.ignite.internal.IgniteEx; import org.apache.ignite.internal.IgniteInternalFuture; -import org.apache.ignite.internal.IgniteInterruptedCheckedException; import org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal; import org.apache.ignite.internal.processors.timeout.GridTimeoutProcessor; import org.apache.ignite.internal.util.GridConcurrentSkipListSet; @@ -38,8 +35,10 @@ import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi; import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder; import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; import org.apache.ignite.transactions.Transaction; -import org.apache.ignite.transactions.TransactionConcurrency; -import org.apache.ignite.transactions.TransactionIsolation; + +import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL; +import static org.apache.ignite.transactions.TransactionConcurrency.PESSIMISTIC; +import static org.apache.ignite.transactions.TransactionIsolation.REPEATABLE_READ; /** * Tests an ability to eagerly rollback timed out transactions. @@ -69,7 +68,7 @@ public class TxRollbackOnTimeoutTest extends GridCommonAbstractTest { cfg.setClientMode("client".equals(igniteInstanceName)); -cfg.setDiscoverySpi(new TcpDiscoverySpi().setIpFinder(IP_FINDER)); +((TcpDiscoverySpi)cfg.getDiscoverySpi()).setIpFinder(IP_FINDER); TransactionConfiguration txCfg = new TransactionConfiguration(); txCfg.setDefaultTxTimeout(TX_TIMEOUT); @@ -77,7 +76,7 @@ public class TxRollbackOnTimeoutTest extends GridCommonAbstractTest { cfg.setTransactionConfiguration(txCfg); CacheConfiguration ccfg = new CacheConfiguration(CACHE_NAME); -ccfg.setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL); +ccfg.setAtomicityMode(TRANSACTIONAL); ccfg.setBackups(2); cfg.setCacheConfiguration(ccfg); @@ -101,6 +100,8 @@ public class TxRollbackOnTimeoutTest extends GridCommonAbstractTest { /** * Tests if timeout on first tx unblocks second tx waiting for the locked key. + * + * @throws Exception If failed. */ public void testWaitingTxUnblockedOnTimeout1() throws Exception { testWaitingTxUnblockedOnTimeout0(grid(0), grid(0)); @@ -108,6 +109,8 @@ public class TxRollbackOnTimeoutTest extends GridCommonAbstractTest { /** * Tests if timeout on first tx unblocks second tx waiting for the locked key. + * + * @throws Exception If failed. */ public void testWaitingTxUnblockedOnTimeout2() throws Exception { testWaitingTxUnblockedOnTimeout0(grid(0), grid(1)); @@ -115,6 +118,8 @@ public class TxRollbackOnTimeoutTest extends GridCommonAbstractTest {
[01/50] [abbrv] ignite git commit: ignite-6180: restoring marshaller mappings on node start is implemented
Repository: ignite Updated Branches: refs/heads/ignite-6181-1 [created] 2468e0090 ignite-6180: restoring marshaller mappings on node start is implemented Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/9399610d Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/9399610d Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/9399610d Branch: refs/heads/ignite-6181-1 Commit: 9399610d2dd4b67b1da6475ce2141787fb8dbb0e Parents: b2b596b Author: Ilya LantukhAuthored: Fri Aug 25 13:12:32 2017 +0300 Committer: Ilya Lantukh Committed: Fri Aug 25 13:12:32 2017 +0300 -- .../ignite/internal/MarshallerContextImpl.java | 3 + .../internal/MarshallerMappingFileStore.java| 76 +++- ...MarshallerMappingRestoreOnNodeStartTest.java | 116 +++ .../IgnitePdsWithIndexingCoreTestSuite.java | 2 + 4 files changed, 196 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/9399610d/modules/core/src/main/java/org/apache/ignite/internal/MarshallerContextImpl.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/MarshallerContextImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/MarshallerContextImpl.java index 6f15507..33b6ff8 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/MarshallerContextImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/MarshallerContextImpl.java @@ -519,6 +519,9 @@ public class MarshallerContextImpl implements MarshallerContext { this.transport = transport; closProc = ctx.closure(); clientNode = ctx.clientNode(); + +if (ctx.config().isPersistentStoreEnabled()) +fileStore.restoreMappings(this); } /** http://git-wip-us.apache.org/repos/asf/ignite/blob/9399610d/modules/core/src/main/java/org/apache/ignite/internal/MarshallerMappingFileStore.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/MarshallerMappingFileStore.java b/modules/core/src/main/java/org/apache/ignite/internal/MarshallerMappingFileStore.java index 03f79c9..e4a844e 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/MarshallerMappingFileStore.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/MarshallerMappingFileStore.java @@ -34,6 +34,7 @@ import org.apache.ignite.IgniteCheckedException; import org.apache.ignite.IgniteLogger; import org.apache.ignite.internal.util.GridStripedLock; import org.apache.ignite.internal.util.typedef.internal.U; +import org.apache.ignite.marshaller.MarshallerContext; /** * File-based persistence provider for {@link MarshallerContextImpl}. @@ -53,6 +54,9 @@ final class MarshallerMappingFileStore { /** */ private final File workDir; +/** */ +private final String FILE_EXTENSION = ".classname"; + /** * @param log Logger. */ @@ -137,11 +141,81 @@ final class MarshallerMappingFileStore { } /** + * Restores all mappings available in file system to marshaller context. + * This method should be used only on node startup. + * + * @param marshCtx Marshaller context to register mappings. + */ +void restoreMappings(MarshallerContext marshCtx) throws IgniteCheckedException { +for (File file : workDir.listFiles()) { +String name = file.getName(); + +byte platformId = getPlatformId(name); + +int typeId = getTypeId(name); + +try (FileInputStream in = new FileInputStream(file)) { +try (BufferedReader reader = new BufferedReader(new InputStreamReader(in, StandardCharsets.UTF_8))) { +String className = reader.readLine(); + +marshCtx.registerClassNameLocally(platformId, typeId, className); +} +} +catch (IOException e) { +throw new IgniteCheckedException("Reading marshaller mapping from file " ++ name ++ " failed." +, e); +} +} +} + +/** + * @param fileName Name of file with marshaller mapping information. + * @throws IgniteCheckedException If file name format is broken. + */ +private byte getPlatformId(String fileName) throws IgniteCheckedException { +String lastSymbol = fileName.substring(fileName.length() - 1); + +byte platformId; + +try { +platformId = Byte.parseByte(lastSymbol); +} +catch (NumberFormatException e) { +throw new IgniteCheckedException("Reading
[03/50] [abbrv] ignite git commit: ignite-5682 Added stale version check for GridDhtPartFullMessage not related to exchange.
ignite-5682 Added stale version check for GridDhtPartFullMessage not related to exchange. (cherry picked from commit eb9d06d) Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/316312d2 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/316312d2 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/316312d2 Branch: refs/heads/ignite-6181-1 Commit: 316312d2ae9015228e67f959e492b2c5c4a9366d Parents: 5bda409 Author: Dmitry PavlovAuthored: Thu Jul 27 14:51:25 2017 +0300 Committer: sboikov Committed: Fri Aug 25 16:53:41 2017 +0300 -- .../cache/CacheAffinitySharedManager.java | 5 +- .../processors/cache/GridCacheIoManager.java| 2 +- .../GridCachePartitionExchangeManager.java | 42 +- .../dht/GridClientPartitionTopology.java| 12 +++- .../dht/GridDhtPartitionTopology.java | 5 +- .../dht/GridDhtPartitionTopologyImpl.java | 12 +++- .../preloader/GridDhtPartitionExchangeId.java | 2 +- .../GridDhtPartitionsExchangeFuture.java| 36 .../preloader/GridDhtPartitionsFullMessage.java | 4 +- ...cingDelayedPartitionMapExchangeSelfTest.java | 58 .../junits/common/GridCommonAbstractTest.java | 6 +- 11 files changed, 136 insertions(+), 48 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/316312d2/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java index 0e03a29..ffb55e4 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java @@ -460,7 +460,8 @@ public class CacheAffinitySharedManager extends GridCacheSharedManagerAdap grp.topology().update(grpHolder.affinity().lastVersion(), clientTop.partitionMap(true), clientTop.fullUpdateCounters(), -Collections.emptySet()); +Collections.emptySet(), +null); } assert grpHolder.affinity().lastVersion().equals(grp.affinity().lastVersion()); @@ -518,7 +519,7 @@ public class CacheAffinitySharedManager extends GridCacheSharedManagerAdap grp.topology().updateTopologyVersion(topFut, discoCache, -1, false); -grp.topology().update(topVer, partMap, null, Collections.emptySet()); +grp.topology().update(topVer, partMap, null, Collections.emptySet(), null); topFut.validate(grp, discoCache.allNodes()); } http://git-wip-us.apache.org/repos/asf/ignite/blob/316312d2/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java index 45edc53..6529795 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java @@ -551,7 +551,7 @@ public class GridCacheIoManager extends GridCacheSharedManagerAdapter { } /** - * @param nodeId Node ID. + * @param nodeId Sender Node ID. * @param cacheMsg Cache message. * @param c Handler closure. * @param plc Message policy. http://git-wip-us.apache.org/repos/asf/ignite/blob/316312d2/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java index aad5b35..bd34a5f 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java +++
[26/50] [abbrv] ignite git commit: IGNITE-6181 wip.
IGNITE-6181 wip. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/8ab36ce2 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/8ab36ce2 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/8ab36ce2 Branch: refs/heads/ignite-6181-1 Commit: 8ab36ce2ba4219fcf9d5272d999267878c0e20a5 Parents: 685e69a Author: ascherbakoffAuthored: Thu Sep 7 19:53:58 2017 +0300 Committer: ascherbakoff Committed: Thu Sep 7 19:53:58 2017 +0300 -- .../processors/cache/distributed/near/GridNearTxLocal.java | 6 +++--- .../processors/cache/transactions/TxRollbackOnTimeoutTest.java | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/8ab36ce2/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 965a502..0c76aec 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 @@ -3256,9 +3256,6 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements GridTimeou * @throws IgniteCheckedException If failed. */ public void rollback() throws IgniteCheckedException { -if (timeout() > 0) -cctx.time().removeTimeoutObject(this); - rollbackNearTxLocalAsync().get(); } @@ -3269,6 +3266,9 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements GridTimeou if (log.isDebugEnabled()) log.debug("Rolling back near tx: " + this); +if (remainingTime() > 0) +cctx.time().removeTimeoutObject(this); + if (fastFinish()) { state(PREPARING); state(PREPARED); http://git-wip-us.apache.org/repos/asf/ignite/blob/8ab36ce2/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java index 4799534..d854cf0 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java @@ -60,7 +60,7 @@ public class TxRollbackOnTimeoutTest extends GridCommonAbstractTest { private final CountDownLatch blocked = new CountDownLatch(1); /** */ -private CountDownLatch unblocked = new CountDownLatch(1); +private final CountDownLatch unblocked = new CountDownLatch(1); /** {@inheritDoc} */ @Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception {
[21/50] [abbrv] ignite git commit: Merge branches 'ignite-2.1.4' and 'ignite-6181' of https://github.com/gridgain/apache-ignite into ignite-6181
Merge branches 'ignite-2.1.4' and 'ignite-6181' of https://github.com/gridgain/apache-ignite into ignite-6181 Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/94acdf5e Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/94acdf5e Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/94acdf5e Branch: refs/heads/ignite-6181-1 Commit: 94acdf5e3f4d9daced8cb75f651d5c87fa5c4def Parents: d6f0b26 01c627a Author: Aleksei ScherbakovAuthored: Wed Aug 30 19:49:18 2017 +0300 Committer: Aleksei Scherbakov Committed: Wed Aug 30 19:49:18 2017 +0300 -- .../dht/GridClientPartitionTopology.java| 18 -- .../distributed/dht/GridDhtLocalPartition.java | 8 +-- .../dht/GridDhtPartitionTopologyImpl.java | 59 +--- .../GridDhtPartitionsExchangeFuture.java| 15 - .../IgnitePdsCacheRebalancingAbstractTest.java | 44 ++- .../query/h2/opt/GridLuceneDirectory.java | 2 +- .../query/h2/opt/GridLuceneIndex.java | 2 +- .../PersistentStoreConfiguration.cs | 2 +- 8 files changed, 96 insertions(+), 54 deletions(-) --
[43/50] [abbrv] ignite git commit: IGNITE-6181 wip.
IGNITE-6181 wip. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/933b1d74 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/933b1d74 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/933b1d74 Branch: refs/heads/ignite-6181-1 Commit: 933b1d7444b8223ab66d0e54a0c1847d83f25359 Parents: 7d05fb1 Author: Aleksei ScherbakovAuthored: Fri Sep 15 12:30:43 2017 +0300 Committer: Aleksei Scherbakov Committed: Fri Sep 15 12:30:43 2017 +0300 -- .../cache/IgniteTxConfigCacheForceTxTimeoutSelfTest.java | 4 1 file changed, 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/933b1d74/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteTxConfigCacheForceTxTimeoutSelfTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteTxConfigCacheForceTxTimeoutSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteTxConfigCacheForceTxTimeoutSelfTest.java index 34a1dc5..cb1ab57 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteTxConfigCacheForceTxTimeoutSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteTxConfigCacheForceTxTimeoutSelfTest.java @@ -36,8 +36,4 @@ public class IgniteTxConfigCacheForceTxTimeoutSelfTest extends IgniteTxConfigCac System.clearProperty(IGNITE_TX_DEADLOCK_DETECTION_MAX_ITERS); } - -@Override public void testUserTxTimeout() throws Exception { -super.testUserTxTimeout(); -} }
[23/50] [abbrv] ignite git commit: IGNITE-6181 wip.
IGNITE-6181 wip. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/6a928460 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/6a928460 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/6a928460 Branch: refs/heads/ignite-6181-1 Commit: 6a928460877ba42d965cb7ec38e7962f338eacbe Parents: d5f3a67 Author: Aleksei ScherbakovAuthored: Fri Sep 1 19:17:31 2017 +0300 Committer: Aleksei Scherbakov Committed: Fri Sep 1 19:17:31 2017 +0300 -- .../processors/cache/GridCacheAdapter.java | 6 ++ .../cache/distributed/near/GridNearTxLocal.java | 21 ++-- .../cache/transactions/IgniteInternalTx.java| 2 +- .../transactions/IgniteTransactionsImpl.java| 4 +++- .../cache/transactions/IgniteTxAdapter.java | 4 +++- .../transactions/IgniteTxLocalAdapter.java | 3 --- .../cache/transactions/IgniteTxManager.java | 20 +-- .../cache/IgniteTxConfigCacheSelfTest.java | 12 +++ .../transactions/TxRollbackOnTimeoutTest.java | 2 +- 9 files changed, 54 insertions(+), 20 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/6a928460/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java index fed716c..2be738a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java @@ -102,6 +102,7 @@ import org.apache.ignite.internal.processors.platform.cache.PlatformCacheEntryFi import org.apache.ignite.internal.processors.task.GridInternal; import org.apache.ignite.internal.transactions.IgniteTxHeuristicCheckedException; import org.apache.ignite.internal.transactions.IgniteTxRollbackCheckedException; +import org.apache.ignite.internal.transactions.IgniteTxTimeoutCheckedException; import org.apache.ignite.internal.util.future.GridEmbeddedFuture; import org.apache.ignite.internal.util.future.GridFinishedFuture; import org.apache.ignite.internal.util.future.GridFutureAdapter; @@ -138,6 +139,7 @@ import org.apache.ignite.spi.discovery.tcp.internal.TcpDiscoveryNode; import org.apache.ignite.transactions.Transaction; import org.apache.ignite.transactions.TransactionConcurrency; import org.apache.ignite.transactions.TransactionIsolation; +import org.apache.ignite.transactions.TransactionState; import org.jetbrains.annotations.Nullable; import org.jsr166.LongAdder8; @@ -4032,6 +4034,10 @@ public abstract class GridCacheAdapter implements IgniteInternalCache
[05/50] [abbrv] ignite git commit: Increment GridDhtPartitionMap update sequence when assign new state on coordinator.
Increment GridDhtPartitionMap update sequence when assign new state on coordinator. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/d31c43c1 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/d31c43c1 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/d31c43c1 Branch: refs/heads/ignite-6181-1 Commit: d31c43c1465ec33f9a1be81dedb958296ecc5068 Parents: 6f7011a Author: sboikovAuthored: Fri Aug 25 17:50:01 2017 +0300 Committer: sboikov Committed: Fri Aug 25 17:50:01 2017 +0300 -- .../dht/GridDhtPartitionTopologyImpl.java | 18 -- .../IgnitePdsCacheRebalancingAbstractTest.java| 2 ++ 2 files changed, 14 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/d31c43c1/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java -- diff --git 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 index f25ae21..87b3670 100644 --- 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 @@ -1186,7 +1186,9 @@ public class GridDhtPartitionTopologyImpl implements GridDhtPartitionTopology { lock.writeLock().lock(); try { -if (stopping || !lastTopChangeVer.initialized()) +if (stopping || !lastTopChangeVer.initialized() || +// Ignore message not-related to exchange if exchange is in progress. +(exchangeVer == null && !lastTopChangeVer.equals(readyTopVer))) return false; if (incomeCntrMap != null) { @@ -1909,20 +1911,24 @@ public class GridDhtPartitionTopologyImpl implements GridDhtPartitionTopology { } for (Map.Entry e : node2part.entrySet()) { -if (!e.getValue().containsKey(p)) +GridDhtPartitionMap partMap = e.getValue(); + +if (!partMap.containsKey(p)) continue; -if (e.getValue().get(p) == OWNING && !owners.contains(e.getKey())) { +if (partMap.get(p) == OWNING && !owners.contains(e.getKey())) { if (haveHistory) -e.getValue().put(p, MOVING); +partMap.put(p, MOVING); else { -e.getValue().put(p, RENTING); +partMap.put(p, RENTING); result.add(e.getKey()); } +partMap.updateSequence(partMap.updateSequence() + 1, partMap.topologyVersion()); + U.warn(log, "Partition has been scheduled for rebalancing due to outdated update counter " + -"[nodeId=" + ctx.localNodeId() + ", cacheOrGroupName=" + grp.cacheOrGroupName() + +"[nodeId=" + e.getKey() + ", cacheOrGroupName=" + grp.cacheOrGroupName() + ", partId=" + p + ", haveHistory=" + haveHistory + "]"); } } http://git-wip-us.apache.org/repos/asf/ignite/blob/d31c43c1/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsCacheRebalancingAbstractTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsCacheRebalancingAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsCacheRebalancingAbstractTest.java index 91838fc..7b047f8 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsCacheRebalancingAbstractTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsCacheRebalancingAbstractTest.java @@ -512,6 +512,8 @@ public abstract class IgnitePdsCacheRebalancingAbstractTest extends GridCommonAb Integer val = 0; for (int i = 0; i < 5; i++) { +info("Iteration: " + i); + Integer key = primaryKey(ignite(3).cache(cacheName)); c.put(key, val);
[13/50] [abbrv] ignite git commit: Disable leading wildcard in query.
Disable leading wildcard in query. (cherry picked from commit 75cc957) Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/5a6808f1 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/5a6808f1 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/5a6808f1 Branch: refs/heads/ignite-6181-1 Commit: 5a6808f13e1f55ae76afb8f6b201396f3340a351 Parents: 4907f7d Author: Andrey V. MashenkovAuthored: Mon Aug 28 12:31:15 2017 +0300 Committer: Ilya Lantukh Committed: Mon Aug 28 20:30:16 2017 +0300 -- .../ignite/internal/processors/query/h2/opt/GridLuceneIndex.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/5a6808f1/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridLuceneIndex.java -- diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridLuceneIndex.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridLuceneIndex.java index 0776a54..c9d0159 100644 --- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridLuceneIndex.java +++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridLuceneIndex.java @@ -272,7 +272,7 @@ public class GridLuceneIndex implements AutoCloseable { MultiFieldQueryParser parser = new MultiFieldQueryParser(idxdFields, writer.getAnalyzer()); -parser.setAllowLeadingWildcard(true); +//parser.setAllowLeadingWildcard(true); // Filter expired items. Query filter = NumericRangeQuery.newLongRange(EXPIRATION_TIME_FIELD_NAME, U.currentTimeMillis(),
[15/50] [abbrv] ignite git commit: Minor. Typo fixed.
Minor. Typo fixed. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/5df5e2cc Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/5df5e2cc Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/5df5e2cc Branch: refs/heads/ignite-6181-1 Commit: 5df5e2cc0e42a073de9107014876a4b646dd1b65 Parents: ac7f212 Author: Andrey GuraAuthored: Tue Aug 29 13:14:02 2017 +0300 Committer: Andrey Gura Committed: Tue Aug 29 13:14:56 2017 +0300 -- .../internal/processors/query/h2/opt/GridLuceneDirectory.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/5df5e2cc/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridLuceneDirectory.java -- diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridLuceneDirectory.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridLuceneDirectory.java index f92b510..96869c4 100644 --- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridLuceneDirectory.java +++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridLuceneDirectory.java @@ -199,7 +199,7 @@ public class GridLuceneDirectory extends BaseDirectory implements Accountable { catch (IOException e) { if (errs == null) errs = new IgniteException("Failed to close index directory."+ -" Some index readers was closed properly, that may leads memory leak."); +" Some index readers weren't closed properly, that may leads memory leak."); errs.addSuppressed(e); }
[40/50] [abbrv] ignite git commit: IGNITE-6181 wip.
IGNITE-6181 wip. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/ab4316ae Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/ab4316ae Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/ab4316ae Branch: refs/heads/ignite-6181-1 Commit: ab4316ae965bb46af6521ff545956614b2dec62a Parents: 0e2ff6a Author: Aleksei ScherbakovAuthored: Thu Sep 14 18:31:28 2017 +0300 Committer: Aleksei Scherbakov Committed: Thu Sep 14 18:31:28 2017 +0300 -- .../cache/distributed/near/GridNearTxLocal.java | 30 ++- .../transactions/TxRollbackOnTimeoutTest.java | 56 +++- 2 files changed, 61 insertions(+), 25 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/ab4316ae/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 ee3d1d9..0e75b69 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 @@ -3139,6 +3139,8 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements GridTimeou GridNearTxPrepareFutureAdapter fut = (GridNearTxPrepareFutureAdapter)prepFut; if (fut == null) { +removeTimeoutHandler(); + long timeout = remainingTime(); // Future must be created before any exception can be thrown. @@ -3163,8 +3165,6 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements GridTimeou // Prepare was called explicitly. return fut; -removeTimeoutHandler(); - mapExplicitLocks(); fut.prepare(); @@ -3710,9 +3710,12 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements GridTimeou if (state != ROLLING_BACK && state != ROLLED_BACK && state != COMMITTING && state != COMMITTED) rollback(); -else +else { cctx.tm().onLocalClose(this); +removeTimeoutHandler(); +} + synchronized (this) { try { while (!done()) @@ -4023,10 +4026,10 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements GridTimeou } /** - * Removes timeout handler used for eager rollbacks on timeouts. + * Removes timeout handler. */ private void removeTimeoutHandler() { -if (timeout() > 0 && !implicit() && !timedOut()) +if (timeout() > 0 && !implicit()) cctx.time().removeTimeoutObject(this); } @@ -4037,12 +4040,12 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements GridTimeou /** {@inheritDoc} */ @Override public long endTime() { -return startTime() + timeout() - 150; +return startTime() + timeout(); } /** {@inheritDoc} */ @Override public void onTimeout() { -//if (state(MARKED_ROLLBACK, true)) { +if (state(MARKED_ROLLBACK, true)) { cctx.kernalContext().closure().runLocalSafe(new Runnable() { @Override public void run() { // Wait for active local lock futures completion to prevent races with deadlock detection. @@ -4060,15 +4063,16 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements GridTimeou } } -if (state(MARKED_ROLLBACK, true)) { -log().error("Transaction is timed out and will be rolled back [timeout=" + timeout() + -", tx=" + GridNearTxLocal.this + ']'); +if (state() != MARKED_ROLLBACK) +return; -rollbackNearTxLocalAsync(); -} +log().error("Transaction is timed out and will be rolled back [timeout=" + timeout() + +", tx=" + GridNearTxLocal.this + ']'); + +rollbackNearTxLocalAsync(); } }); -//} +} } /** http://git-wip-us.apache.org/repos/asf/ignite/blob/ab4316ae/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java -- diff --git
[19/50] [abbrv] ignite git commit: IGNITE-6181 wip.
IGNITE-6181 wip. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/9da2dde3 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/9da2dde3 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/9da2dde3 Branch: refs/heads/ignite-6181-1 Commit: 9da2dde3e7818d07d39756f2b92255d15acc147e Parents: 61dfb65 Author: Aleksei ScherbakovAuthored: Wed Aug 30 18:12:10 2017 +0300 Committer: Aleksei Scherbakov Committed: Wed Aug 30 18:12:10 2017 +0300 -- .../cache/distributed/near/GridNearTxLocal.java | 65 ++-- .../cache/transactions/IgniteTxManager.java | 42 +-- .../transactions/TxRollbackOnTimeoutTest.java | 303 +++ .../transactions/TxTimeoutHandlingTest.java | 147 - 4 files changed, 335 insertions(+), 222 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/9da2dde3/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 ac35ad9..ebae49f 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 @@ -34,7 +34,6 @@ import javax.cache.CacheException; import javax.cache.expiry.ExpiryPolicy; import javax.cache.processor.EntryProcessor; import org.apache.ignite.IgniteCheckedException; -import org.apache.ignite.IgniteException; import org.apache.ignite.cluster.ClusterNode; import org.apache.ignite.internal.IgniteInternalFuture; import org.apache.ignite.internal.NodeStoppingException; @@ -119,7 +118,7 @@ import static org.apache.ignite.transactions.TransactionState.UNKNOWN; * Replicated user transaction. */ @SuppressWarnings("unchecked") -public class GridNearTxLocal extends GridDhtTxLocalAdapter implements AutoCloseable { +public class GridNearTxLocal extends GridDhtTxLocalAdapter implements GridTimeoutObject, AutoCloseable { /** */ private static final long serialVersionUID = 0L; @@ -176,8 +175,7 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements AutoClosea private TransactionProxyImpl proxy; /** */ -@GridToStringExclude -private GridTimeoutObject timeoutHandler; +private long endTime; /** * Empty constructor required for {@link Externalizable}. @@ -224,7 +222,7 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements AutoClosea plc, concurrency, isolation, -timeout, +timeout == 0 ? 0 : Math.max(100, timeout), false, storeEnabled, false, @@ -234,6 +232,12 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements AutoClosea mappings = implicitSingle ? new IgniteTxMappingsSingleImpl() : new IgniteTxMappingsImpl(); +if (this.timeout > 0) { +endTime = U.currentTimeMillis() + this.timeout; + +cctx.time().addTimeoutObject(this); +} + initResult(); } @@ -3152,11 +3156,8 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements AutoClosea // Prepare was called explicitly. return fut; -// Clears timeout handler before prepare, because prepare phase will clean up everything right up. -if (!clearTimeoutHandler()) { -// Timeout closure has been invoked, tx will be rolled back. -throw new IgniteException("Bad"); -} +if (endTime > 0) +cctx.time().removeTimeoutObject(this); mapExplicitLocks(); @@ -3180,15 +3181,6 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements AutoClosea } /** - * Clears timeout handler. - */ -public boolean clearTimeoutHandler() { -timeoutHandler = null; - -return true; -} - -/** * @return Prepare future. */ private IgniteInternalFuture prepareAsync() { @@ -3269,7 +3261,8 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements AutoClosea * @throws IgniteCheckedException If failed. */ public void rollback() throws IgniteCheckedException { -clearTimeoutHandler(); +if (endTime > 0) +cctx.time().removeTimeoutObject(this); rollbackNearTxLocalAsync().get(); } @@ -3786,20 +3779,6 @@
[46/50] [abbrv] ignite git commit: IGNITE-6181 wip.
IGNITE-6181 wip. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/1dcb42ba Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/1dcb42ba Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/1dcb42ba Branch: refs/heads/ignite-6181-1 Commit: 1dcb42ba9b5f20214d42ebfc0773b54f636cf2ec Parents: eebaa6b Author: Aleksei ScherbakovAuthored: Fri Sep 15 19:45:59 2017 +0300 Committer: Aleksei Scherbakov Committed: Fri Sep 15 19:45:59 2017 +0300 -- .../cache/transactions/TxRollbackOnTimeoutTest.java | 11 --- 1 file changed, 11 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/1dcb42ba/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java index cdf1f00..c55f59e 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java @@ -249,17 +249,6 @@ public class TxRollbackOnTimeoutTest extends GridCommonAbstractTest { /** * Tests if deadlock is resolved on timeout with correct message. - * - * @throws Exception If failed. - */ -//public void testDeadlockUnblockedOnTimeout4() throws Exception { -//Ignite client = startGrid("client"); -// -//testDeadlockUnblockedOnTimeout0(client, ignite(0)); -//} - -/** - * Tests if deadlock is resolved on timeout with correct message. * @throws Exception */ private void testDeadlockUnblockedOnTimeout0(final Ignite node1, final Ignite node2) throws Exception {
[39/50] [abbrv] ignite git commit: IGNITE-6181 wip.
IGNITE-6181 wip. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/0e2ff6a8 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/0e2ff6a8 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/0e2ff6a8 Branch: refs/heads/ignite-6181-1 Commit: 0e2ff6a89a223991f5ce35d9656301f2004973e4 Parents: 047ac12 Author: Aleksei ScherbakovAuthored: Thu Sep 14 17:12:08 2017 +0300 Committer: Aleksei Scherbakov Committed: Thu Sep 14 17:12:08 2017 +0300 -- .../colocated/GridDhtColocatedLockFuture.java | 36 +++ .../cache/distributed/near/GridNearTxLocal.java | 39 ++- .../transactions/TxRollbackOnTimeoutTest.java | 107 --- 3 files changed, 74 insertions(+), 108 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/0e2ff6a8/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..82b0e6e 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 @@ -147,7 +147,7 @@ public final class GridDhtColocatedLockFuture extends GridCacheCompoundIdentityF private final Map > valMap; /** Trackable flag (here may be non-volatile). */ -private boolean trackable; +private boolean trackable = true; /** TTL for create operation. */ private final long createTtl; @@ -631,6 +631,13 @@ public final class GridDhtColocatedLockFuture extends GridCacheCompoundIdentityF } } +/** + * @return Timeout. + */ +public long timeout() { +return timeout; +} + /** {@inheritDoc} */ @Override public String toString() { Collection futs = F.viewReadOnly(futures(), new C1 () { @@ -849,8 +856,12 @@ public final class GridDhtColocatedLockFuture extends GridCacheCompoundIdentityF assert !remap || (clientNode && (tx == null || !tx.hasRemoteLocks())); // First assume this node is primary for all keys passed in. -if (!clientNode && mapAsPrimary(keys, topVer)) +if (!clientNode && mapAsPrimary(keys, topVer)) { +if (!cctx.mvcc().addFuture(this)) +throw new IllegalStateException("Duplicate future ID: " + this); + return; +} mappings = new ArrayDeque<>(); @@ -881,8 +892,6 @@ public final class GridDhtColocatedLockFuture extends GridCacheCompoundIdentityF if (log.isDebugEnabled()) log.debug("Starting (re)map for mappings [mappings=" + mappings + ", fut=" + this + ']'); -boolean hasRmtNodes = false; - boolean first = true; // Create mini futures. @@ -1029,11 +1038,8 @@ public final class GridDhtColocatedLockFuture extends GridCacheCompoundIdentityF } } -if (!distributedKeys.isEmpty()) { +if (!distributedKeys.isEmpty()) mapping.distributedKeys(distributedKeys); - -hasRmtNodes |= !mapping.node().isLocal(); -} else { assert mapping.request() == null; @@ -1041,14 +1047,8 @@ public final class GridDhtColocatedLockFuture extends GridCacheCompoundIdentityF } } -if (hasRmtNodes) { -trackable = true; - -if (!remap && !cctx.mvcc().addFuture(this)) -throw new IllegalStateException("Duplicate future ID: " + this); -} -else -trackable = false; +if (!remap && !cctx.mvcc().addFuture(this)) +throw new IllegalStateException("Duplicate future ID: " + this); proceedMapping(); } @@ -1264,8 +1264,6 @@ public final class GridDhtColocatedLockFuture extends GridCacheCompoundIdentityF return true; } -trackable = false; - if (tx != null) { if (explicit) tx.markExplicit(cctx.localNodeId()); @@ -1673,4 +1671,4 @@ public final class GridDhtColocatedLockFuture extends GridCacheCompoundIdentityF return S.toString(MiniFuture.class, this, "node", node.id(),
[07/50] [abbrv] ignite git commit: GG-12609: Fixed OOM at initiator during LIST
GG-12609: Fixed OOM at initiator during LIST Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/8c249b77 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/8c249b77 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/8c249b77 Branch: refs/heads/ignite-6181-1 Commit: 8c249b77533c95a4bef3d19ca583feb992322325 Parents: 85fd8ce Author: Eduard ShangareevAuthored: Sat Aug 26 17:01:46 2017 +0300 Committer: Ilya Lantukh Committed: Sat Aug 26 17:01:46 2017 +0300 -- .../tcp/internal/TcpDiscoveryNode.java | 20 1 file changed, 20 insertions(+) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/8c249b77/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java index 6882821..b2797a40 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java @@ -649,4 +649,24 @@ public class TcpDiscoveryNode extends GridMetadataAwareAdapter implements Cluste @Override public String toString() { return S.toString(TcpDiscoveryNode.class, this, "isClient", isClient()); } + +/** + * IMPORTANT! + * Only purpose of this constructor is creating node which contains only necessary data to store on disc + * @param node to copy data from + */ +public TcpDiscoveryNode( +ClusterNode node +) { +this.id = node.id(); +this.consistentId = node.consistentId(); +this.addrs = node.addresses(); +this.hostNames = node.hostNames(); +this.order = node.order(); +this.ver = node.version(); +this.daemon = node.isDaemon(); +this.clientRouterNodeId = node.isClient() ? node.id() : null; + +attrs = Collections.emptyMap(); +} }
[30/50] [abbrv] ignite git commit: IGNITE-6181 wip.
IGNITE-6181 wip. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/ec4b16cc Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/ec4b16cc Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/ec4b16cc Branch: refs/heads/ignite-6181-1 Commit: ec4b16cc51a623c9f8106b7b3d3359881a46f4ae Parents: 02f94ae Author: ascherbakoffAuthored: Sun Sep 10 14:17:19 2017 +0300 Committer: ascherbakoff Committed: Sun Sep 10 14:17:19 2017 +0300 -- .../internal/IgniteDiagnosticPrepareContext.java | 2 +- .../internal/processors/cache/GridCacheAdapter.java | 2 +- .../cache/distributed/near/GridNearLockFuture.java | 5 - .../cache/distributed/near/GridNearTxLocal.java | 6 ++ .../cache/transactions/IgniteTransactionsImpl.java | 1 - .../cache/transactions/IgniteTxLocalAdapter.java | 4 .../cache/transactions/IgniteTxManager.java | 10 -- .../cache/transactions/TxRollbackOnTimeoutTest.java | 15 --- 8 files changed, 24 insertions(+), 21 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/ec4b16cc/modules/core/src/main/java/org/apache/ignite/internal/IgniteDiagnosticPrepareContext.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgniteDiagnosticPrepareContext.java b/modules/core/src/main/java/org/apache/ignite/internal/IgniteDiagnosticPrepareContext.java index 14783d5..ed8d35e 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteDiagnosticPrepareContext.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteDiagnosticPrepareContext.java @@ -280,4 +280,4 @@ public class IgniteDiagnosticPrepareContext { } } } -} +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/ec4b16cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java index 2be738a..18fb2ff 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java @@ -4035,7 +4035,7 @@ public abstract class GridCacheAdapter implements IgniteInternalCache
[24/50] [abbrv] ignite git commit: IGNITE-6181 wip.
IGNITE-6181 wip. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/b770c0a1 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/b770c0a1 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/b770c0a1 Branch: refs/heads/ignite-6181-1 Commit: b770c0a1d6b2853c8b629a5ac08ecfbc00486d35 Parents: 6a92846 Author: ascherbakoffAuthored: Tue Sep 5 16:50:42 2017 +0300 Committer: ascherbakoff Committed: Tue Sep 5 16:50:42 2017 +0300 -- .../apache/ignite/IgniteSystemProperties.java | 6 - .../cache/distributed/near/GridNearTxLocal.java | 24 +--- .../cache/transactions/IgniteTxHandler.java | 8 +++ .../transactions/IgniteTxLocalAdapter.java | 1 - .../cache/transactions/IgniteTxManager.java | 11 +++-- .../transactions/TxRollbackOnTimeoutTest.java | 14 .../ignite/testsuites/IgniteCacheTestSuite.java | 3 +++ 7 files changed, 16 insertions(+), 51 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/b770c0a1/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java b/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java index c22d552..d3cba2b 100644 --- a/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java +++ b/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java @@ -706,12 +706,6 @@ public final class IgniteSystemProperties { public static final String IGNITE_ENABLE_FORCIBLE_NODE_KILL = "IGNITE_ENABLE_FORCIBLE_NODE_KILL"; /** - * If this property is set, a node will track transaction initiators, printing them in tx timeout error. - * Useful for debugging. - */ -public static final String IGNITE_TRACK_TRANSACTION_INITIATOR = "IGNITE_TRACK_TRANSACTION_INITIATOR"; - -/** * Enforces singleton. */ private IgniteSystemProperties() { http://git-wip-us.apache.org/repos/asf/ignite/blob/b770c0a1/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 f5ecdd8..965a502 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 @@ -34,7 +34,6 @@ import javax.cache.CacheException; import javax.cache.expiry.ExpiryPolicy; import javax.cache.processor.EntryProcessor; import org.apache.ignite.IgniteCheckedException; -import org.apache.ignite.IgniteSystemProperties; import org.apache.ignite.cluster.ClusterNode; import org.apache.ignite.internal.IgniteInternalFuture; import org.apache.ignite.internal.NodeStoppingException; @@ -116,17 +115,11 @@ import static org.apache.ignite.transactions.TransactionState.ROLLED_BACK; import static org.apache.ignite.transactions.TransactionState.ROLLING_BACK; import static org.apache.ignite.transactions.TransactionState.UNKNOWN; -import static org.apache.ignite.IgniteSystemProperties.IGNITE_TRACK_TRANSACTION_INITIATOR; - /** * Replicated user transaction. */ @SuppressWarnings("unchecked") public class GridNearTxLocal extends GridDhtTxLocalAdapter implements GridTimeoutObject, AutoCloseable { -/** {@link IgniteSystemProperties#IGNITE_TRACK_TRANSACTION_INITIATOR} */ -private static final boolean TRACK_TRANSACTION_INITIATOR = -IgniteSystemProperties.getBoolean(IGNITE_TRACK_TRANSACTION_INITIATOR, false); - /** */ private static final long serialVersionUID = 0L; @@ -182,9 +175,6 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements GridTimeou @GridToStringExclude private TransactionProxyImpl proxy; -/** */ -private transient Exception trackE; - /** * Empty constructor required for {@link Externalizable}. */ @@ -240,12 +230,8 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements GridTimeou mappings = implicitSingle ? new IgniteTxMappingsSingleImpl() : new IgniteTxMappingsImpl(); -if (this.timeout > 0) { -if (TRACK_TRANSACTION_INITIATOR) -trackE = new Exception(); - +if (this.timeout > 0) cctx.time().addTimeoutObject(this); -}
[41/50] [abbrv] ignite git commit: IGNITE-6181 wip.
IGNITE-6181 wip. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/63531589 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/63531589 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/63531589 Branch: refs/heads/ignite-6181-1 Commit: 635315892b995dbe59462a55914c26735125e1da Parents: ab4316a Author: Aleksei ScherbakovAuthored: Thu Sep 14 18:38:42 2017 +0300 Committer: Aleksei Scherbakov Committed: Thu Sep 14 18:38:42 2017 +0300 -- .../internal/processors/cache/transactions/IgniteTxManager.java| 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/63531589/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 fd4f1b2..827f2f6 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 @@ -1422,7 +1422,7 @@ public class IgniteTxManager extends GridCacheSharedManagerAdapter { */ private void clearThreadMap(IgniteInternalTx tx) { if (tx.local() && !tx.dht()) { -if (!tx.system()) { +if (tx.system()) { Integer cacheId = tx.txState().firstCacheId(); if (cacheId != null)
[20/50] [abbrv] ignite git commit: IGNITE-6181 wip.
IGNITE-6181 wip. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/d6f0b261 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/d6f0b261 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/d6f0b261 Branch: refs/heads/ignite-6181-1 Commit: d6f0b261bb120d719a0af865f10df55c351eabb5 Parents: 9da2dde Author: Aleksei ScherbakovAuthored: Wed Aug 30 19:47:11 2017 +0300 Committer: Aleksei Scherbakov Committed: Wed Aug 30 19:47:11 2017 +0300 -- .../apache/ignite/IgniteSystemProperties.java | 6 +++ .../cache/distributed/near/GridNearTxLocal.java | 15 ++- .../transactions/TxRollbackOnTimeoutTest.java | 43 ++-- 3 files changed, 50 insertions(+), 14 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/d6f0b261/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java b/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java index d3cba2b..c22d552 100644 --- a/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java +++ b/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java @@ -706,6 +706,12 @@ public final class IgniteSystemProperties { public static final String IGNITE_ENABLE_FORCIBLE_NODE_KILL = "IGNITE_ENABLE_FORCIBLE_NODE_KILL"; /** + * If this property is set, a node will track transaction initiators, printing them in tx timeout error. + * Useful for debugging. + */ +public static final String IGNITE_TRACK_TRANSACTION_INITIATOR = "IGNITE_TRACK_TRANSACTION_INITIATOR"; + +/** * Enforces singleton. */ private IgniteSystemProperties() { http://git-wip-us.apache.org/repos/asf/ignite/blob/d6f0b261/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 ebae49f..84c9790 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 @@ -34,6 +34,7 @@ import javax.cache.CacheException; import javax.cache.expiry.ExpiryPolicy; import javax.cache.processor.EntryProcessor; import org.apache.ignite.IgniteCheckedException; +import org.apache.ignite.IgniteSystemProperties; import org.apache.ignite.cluster.ClusterNode; import org.apache.ignite.internal.IgniteInternalFuture; import org.apache.ignite.internal.NodeStoppingException; @@ -114,11 +115,17 @@ import static org.apache.ignite.transactions.TransactionState.ROLLED_BACK; import static org.apache.ignite.transactions.TransactionState.ROLLING_BACK; import static org.apache.ignite.transactions.TransactionState.UNKNOWN; +import static org.apache.ignite.IgniteSystemProperties.IGNITE_TRACK_TRANSACTION_INITIATOR; + /** * Replicated user transaction. */ @SuppressWarnings("unchecked") public class GridNearTxLocal extends GridDhtTxLocalAdapter implements GridTimeoutObject, AutoCloseable { +/** {@link IgniteSystemProperties#IGNITE_TRACK_TRANSACTION_INITIATOR} */ +private static final boolean TRACK_TRANSACTION_INITIATOR = +IgniteSystemProperties.getBoolean(IGNITE_TRACK_TRANSACTION_INITIATOR, false); + /** */ private static final long serialVersionUID = 0L; @@ -177,6 +184,9 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements GridTimeou /** */ private long endTime; +/** */ +private transient Exception trackE; + /** * Empty constructor required for {@link Externalizable}. */ @@ -233,6 +243,9 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements GridTimeou mappings = implicitSingle ? new IgniteTxMappingsSingleImpl() : new IgniteTxMappingsImpl(); if (this.timeout > 0) { +if (TRACK_TRANSACTION_INITIATOR) +trackE = new Exception(); + endTime = U.currentTimeMillis() + this.timeout; cctx.time().addTimeoutObject(this); @@ -4072,7 +4085,7 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements GridTimeou /** {@inheritDoc} */ @Override public void onTimeout() { -log.error("Transaction is timed out and will be rolled back: [tx=" +
[45/50] [abbrv] ignite git commit: IGNITE-6181 wip.
IGNITE-6181 wip. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/eebaa6bd Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/eebaa6bd Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/eebaa6bd Branch: refs/heads/ignite-6181-1 Commit: eebaa6bd064705516a85a8dc90a4f252e652390e Parents: 1310008 Author: Aleksei ScherbakovAuthored: Fri Sep 15 13:30:45 2017 +0300 Committer: Aleksei Scherbakov Committed: Fri Sep 15 13:30:45 2017 +0300 -- ...niteTxConfigCacheForceTxTimeoutSelfTest.java | 39 ...ollbackOnTimeoutNoDeadlockDetectionTest.java | 47 .../transactions/TxRollbackOnTimeoutTest.java | 24 +- .../ignite/testsuites/IgniteCacheTestSuite.java | 4 +- 4 files changed, 72 insertions(+), 42 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/eebaa6bd/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteTxConfigCacheForceTxTimeoutSelfTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteTxConfigCacheForceTxTimeoutSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteTxConfigCacheForceTxTimeoutSelfTest.java deleted file mode 100644 index 4420a4e..000 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteTxConfigCacheForceTxTimeoutSelfTest.java +++ /dev/null @@ -1,39 +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 static org.apache.ignite.IgniteSystemProperties.IGNITE_TX_DEADLOCK_DETECTION_MAX_ITERS; - -/** - * Test checks that grid transaction configuration doesn't influence system caches. - */ -public class IgniteTxConfigCacheForceTxTimeoutSelfTest extends IgniteTxConfigCacheSelfTest { -/** {@inheritDoc} */ -@Override protected void beforeTestsStarted() throws Exception { -System.setProperty(IGNITE_TX_DEADLOCK_DETECTION_MAX_ITERS, "0"); - -super.beforeTestsStarted(); -} - -/** {@inheritDoc} */ -@Override protected void afterTestsStopped() throws Exception { -super.afterTestsStopped(); - -System.clearProperty(IGNITE_TX_DEADLOCK_DETECTION_MAX_ITERS); -} -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/eebaa6bd/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutNoDeadlockDetectionTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutNoDeadlockDetectionTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutNoDeadlockDetectionTest.java new file mode 100644 index 000..77c383e --- /dev/null +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutNoDeadlockDetectionTest.java @@ -0,0 +1,47 @@ +/* + * 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
[06/50] [abbrv] ignite git commit: Fixed update sequence.
Fixed update sequence. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/85fd8ce9 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/85fd8ce9 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/85fd8ce9 Branch: refs/heads/ignite-6181-1 Commit: 85fd8ce91f1e5827600aa32645552039e5a2298a Parents: d31c43c Author: Ilya LantukhAuthored: Fri Aug 25 21:23:19 2017 +0300 Committer: Ilya Lantukh Committed: Fri Aug 25 21:23:19 2017 +0300 -- .../distributed/dht/GridDhtPartitionTopologyImpl.java | 14 ++ 1 file changed, 10 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/85fd8ce9/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java -- diff --git 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 index 87b3670..a881130 100644 --- 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 @@ -1910,6 +1910,14 @@ public class GridDhtPartitionTopologyImpl implements GridDhtPartitionTopology { } } +long seqVal = 0; + +if (updateSeq) { +seqVal = this.updateSeq.incrementAndGet(); + +node2part = new GridDhtPartitionFullMap(node2part, seqVal); +} + for (Map.Entry e : node2part.entrySet()) { GridDhtPartitionMap partMap = e.getValue(); @@ -1925,16 +1933,14 @@ public class GridDhtPartitionTopologyImpl implements GridDhtPartitionTopology { result.add(e.getKey()); } -partMap.updateSequence(partMap.updateSequence() + 1, partMap.topologyVersion()); +if (updateSeq) +partMap.updateSequence(seqVal, partMap.topologyVersion()); U.warn(log, "Partition has been scheduled for rebalancing due to outdated update counter " + "[nodeId=" + e.getKey() + ", cacheOrGroupName=" + grp.cacheOrGroupName() + ", partId=" + p + ", haveHistory=" + haveHistory + "]"); } } - -if (updateSeq) -node2part = new GridDhtPartitionFullMap(node2part, this.updateSeq.incrementAndGet()); } finally { lock.writeLock().unlock();
[50/50] [abbrv] ignite git commit: ignite-6181-1
ignite-6181-1 Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/2468e009 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/2468e009 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/2468e009 Branch: refs/heads/ignite-6181-1 Commit: 2468e009032d36404f372d1f3bd616d9320efae4 Parents: f950cb1 Author: sboikovAuthored: Tue Sep 19 16:45:29 2017 +0300 Committer: sboikov Committed: Tue Sep 19 17:37:31 2017 +0300 -- .../org/apache/ignite/cache/CacheMetrics.java | 2 + .../processors/cache/CacheMetricsImpl.java | 4 +- .../processors/cache/GridCacheAdapter.java | 18 +- .../processors/cache/GridCacheMapEntry.java | 9 +- .../cache/GridCacheSharedContext.java | 11 +- .../dht/colocated/GridDhtColocatedCache.java| 4 +- .../colocated/GridDhtColocatedLockFuture.java | 90 --- .../distributed/near/GridNearLockFuture.java| 58 +++-- ...ridNearOptimisticTxPrepareFutureAdapter.java | 2 +- .../near/GridNearTransactionalCache.java| 2 +- .../cache/distributed/near/GridNearTxLocal.java | 71 -- .../cache/transactions/IgniteTxAdapter.java | 4 +- .../cache/transactions/IgniteTxHandler.java | 4 +- .../cache/transactions/IgniteTxManager.java | 230 ++ .../timeout/GridTimeoutProcessor.java | 17 +- .../IgniteCacheThreadLocalTxTest.java | 179 ++ .../IgniteOptimisticTxSuspendResumeTest.java| 1 + ...ollbackOnTimeoutNoDeadlockDetectionTest.java | 4 +- .../transactions/TxRollbackOnTimeoutTest.java | 238 --- .../ignite/testsuites/IgniteCacheTestSuite.java | 4 +- 20 files changed, 550 insertions(+), 402 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/2468e009/modules/core/src/main/java/org/apache/ignite/cache/CacheMetrics.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/cache/CacheMetrics.java b/modules/core/src/main/java/org/apache/ignite/cache/CacheMetrics.java index 20ea692..470645b 100644 --- a/modules/core/src/main/java/org/apache/ignite/cache/CacheMetrics.java +++ b/modules/core/src/main/java/org/apache/ignite/cache/CacheMetrics.java @@ -269,6 +269,7 @@ public interface CacheMetrics { * * @return Thread map size. */ +@Deprecated public int getTxThreadMapSize(); /** @@ -318,6 +319,7 @@ public interface CacheMetrics { * * @return DHT thread map size. */ +@Deprecated public int getTxDhtThreadMapSize(); /** http://git-wip-us.apache.org/repos/asf/ignite/blob/2468e009/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheMetricsImpl.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheMetricsImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheMetricsImpl.java index d03a6f8..d608435 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheMetricsImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheMetricsImpl.java @@ -298,7 +298,7 @@ public class CacheMetricsImpl implements CacheMetrics { /** {@inheritDoc} */ @Override public int getTxThreadMapSize() { -return cctx.tm().threadMapSize(); +return 0; } /** {@inheritDoc} */ @@ -328,7 +328,7 @@ public class CacheMetricsImpl implements CacheMetrics { /** {@inheritDoc} */ @Override public int getTxDhtThreadMapSize() { -return cctx.isNear() && dhtCtx != null ? dhtCtx.tm().threadMapSize() : -1; +return 0; } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/ignite/blob/2468e009/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java index fed716c..ebd2ab8 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java @@ -1857,7 +1857,7 @@ public abstract class GridCacheAdapter implements IgniteInternalCache (e); } -tx = ctx.tm().threadLocalTx(ctx.systemTx() ? ctx : null); +tx = ctx.tm().currentThreadTx(ctx);
[44/50] [abbrv] ignite git commit: IGNITE-6181 wip.
IGNITE-6181 wip. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/13100084 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/13100084 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/13100084 Branch: refs/heads/ignite-6181-1 Commit: 13100084823678d304c4ab392cb6283e876c8f49 Parents: 933b1d7 Author: Aleksei ScherbakovAuthored: Fri Sep 15 12:30:51 2017 +0300 Committer: Aleksei Scherbakov Committed: Fri Sep 15 12:30:51 2017 +0300 -- .../cache/IgniteTxConfigCacheForceTxTimeoutSelfTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/13100084/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteTxConfigCacheForceTxTimeoutSelfTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteTxConfigCacheForceTxTimeoutSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteTxConfigCacheForceTxTimeoutSelfTest.java index cb1ab57..4420a4e 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteTxConfigCacheForceTxTimeoutSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteTxConfigCacheForceTxTimeoutSelfTest.java @@ -36,4 +36,4 @@ public class IgniteTxConfigCacheForceTxTimeoutSelfTest extends IgniteTxConfigCac System.clearProperty(IGNITE_TX_DEADLOCK_DETECTION_MAX_ITERS); } -} +} \ No newline at end of file
[29/50] [abbrv] ignite git commit: IGNITE-6181 wip.
IGNITE-6181 wip. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/02f94ae9 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/02f94ae9 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/02f94ae9 Branch: refs/heads/ignite-6181-1 Commit: 02f94ae941d2985afec1cf8eb26f96048a207707 Parents: 3097d8d Author: ascherbakoffAuthored: Sun Sep 10 13:12:47 2017 +0300 Committer: ascherbakoff Committed: Sun Sep 10 13:12:47 2017 +0300 -- .../transactions/TxRollbackOnTimeoutTest.java | 60 +--- 1 file changed, 52 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/02f94ae9/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java index 3d25d10..cdbceda 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java @@ -18,17 +18,18 @@ package org.apache.ignite.internal.processors.cache.transactions; import java.util.concurrent.CountDownLatch; +import java.util.concurrent.locks.LockSupport; import javax.cache.CacheException; import org.apache.ignite.Ignite; import org.apache.ignite.IgniteCheckedException; import org.apache.ignite.IgniteException; +import org.apache.ignite.cache.CachePeekMode; import org.apache.ignite.configuration.CacheConfiguration; import org.apache.ignite.configuration.IgniteConfiguration; import org.apache.ignite.configuration.TransactionConfiguration; import org.apache.ignite.internal.IgniteEx; import org.apache.ignite.internal.IgniteInternalFuture; import org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal; -import org.apache.ignite.internal.processors.timeout.GridTimeoutProcessor; import org.apache.ignite.internal.util.GridConcurrentSkipListSet; import org.apache.ignite.internal.util.typedef.X; import org.apache.ignite.internal.util.typedef.internal.U; @@ -36,6 +37,8 @@ import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi; import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder; import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; import org.apache.ignite.transactions.Transaction; +import org.apache.ignite.transactions.TransactionConcurrency; +import org.apache.ignite.transactions.TransactionIsolation; import org.apache.ignite.transactions.TransactionTimeoutException; import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL; @@ -47,7 +50,10 @@ import static org.apache.ignite.transactions.TransactionIsolation.REPEATABLE_REA */ public class TxRollbackOnTimeoutTest extends GridCommonAbstractTest { /** */ -private static final long TX_TIMEOUT = 3_000L; +private static final long TX_TIMEOUT_MIN = 1; + +/** */ +private static final long TX_TIMEOUT = 300; /** */ private static final String CACHE_NAME = "test"; @@ -217,24 +223,62 @@ public class TxRollbackOnTimeoutTest extends GridCommonAbstractTest { testTimeoutRemoval0(client, i, TX_TIMEOUT); for (int i = 0; i < 5; i++) -testTimeoutRemoval0(grid(0), i, 1); +testTimeoutRemoval0(grid(0), i, TX_TIMEOUT_MIN); for (int i = 0; i < 5; i++) -testTimeoutRemoval0(client, i, 1); +testTimeoutRemoval0(client, i, TX_TIMEOUT_MIN); // Repeat with more iterations to make sure everything is cleared. for (int i = 0; i < 500; i++) -testTimeoutRemoval0(client, 2, 1); +testTimeoutRemoval0(client, 2, TX_TIMEOUT_MIN); +} + +/** + * Tests timeouts in all tx configurations. + * + * @throws Exception If failed. + */ +public void testSimple() throws Exception { +for (TransactionConcurrency concurrency : TransactionConcurrency.values()) +for (TransactionIsolation isolation : TransactionIsolation.values()) +testSimple0(concurrency, isolation); +} + +/** + * @param concurrency Concurrency. + * @param isolation Isolation. + * + * @throws Exception If failed. + */ +private void testSimple0(TransactionConcurrency concurrency, TransactionIsolation isolation) throws Exception { +Ignite near = grid(0); + +final int key = 1, val =
[27/50] [abbrv] ignite git commit: IGNITE-6181 wip.
IGNITE-6181 wip. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/12669b86 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/12669b86 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/12669b86 Branch: refs/heads/ignite-6181-1 Commit: 12669b86a0ea2e91ebff778ef9b1661b37ffc781 Parents: 8ab36ce Author: ascherbakoffAuthored: Sat Sep 9 16:04:08 2017 +0300 Committer: ascherbakoff Committed: Sat Sep 9 16:04:08 2017 +0300 -- .../IgniteDiagnosticPrepareContext.java | 2 +- .../distributed/near/GridNearLockFuture.java| 5 +- .../cache/distributed/near/GridNearTxLocal.java | 18 ++--- .../transactions/IgniteTransactionsImpl.java| 3 +- .../cache/transactions/IgniteTxManager.java | 77 5 files changed, 38 insertions(+), 67 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/12669b86/modules/core/src/main/java/org/apache/ignite/internal/IgniteDiagnosticPrepareContext.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgniteDiagnosticPrepareContext.java b/modules/core/src/main/java/org/apache/ignite/internal/IgniteDiagnosticPrepareContext.java index 378dc74..14783d5 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteDiagnosticPrepareContext.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteDiagnosticPrepareContext.java @@ -75,7 +75,7 @@ public class IgniteDiagnosticPrepareContext { * @param keys Entry keys. * @param msg Initial message. */ -public void txKeyInfo(UUID nodeId, int cacheId, Collection keys, String msg) { +public void txKeyInfo(UUID nodeId, int cacheId, Collection keys, String msg) { closure(nodeId).add(msg, new TxEntriesInfoClosure(cacheId, keys)); } http://git-wip-us.apache.org/repos/asf/ignite/blob/12669b86/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..9cad49e 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 @@ -770,10 +770,7 @@ public final class GridNearLockFuture extends GridCacheCompoundIdentityFuturehttp://git-wip-us.apache.org/repos/asf/ignite/blob/12669b86/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 0c76aec..8d15e87 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 @@ -220,7 +220,7 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements GridTimeou plc, concurrency, isolation, -timeout == 0 ? 0 : Math.max(100, timeout), +timeout, false, storeEnabled, false, @@ -230,7 +230,7 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements GridTimeou mappings = implicitSingle ? new IgniteTxMappingsSingleImpl() : new IgniteTxMappingsImpl(); -if (this.timeout > 0) +if (this.timeout() > 0 && !implicit()) cctx.time().addTimeoutObject(this); initResult(); @@ -3151,7 +3151,7 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements GridTimeou // Prepare was called explicitly. return fut; -if (timeout() > 0) +if (timeout() > 0 && !implicit()) cctx.time().removeTimeoutObject(this); mapExplicitLocks(); @@ -3266,7 +3266,7 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements GridTimeou if (log.isDebugEnabled()) log.debug("Rolling back near tx: " + this); -if (remainingTime() > 0) +if (remainingTime() > 0 && !implicit())
[14/50] [abbrv] ignite git commit: gg-12688 : Fixed updateSequence in ClientTopology.
gg-12688 : Fixed updateSequence in ClientTopology. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/ac7f2129 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/ac7f2129 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/ac7f2129 Branch: refs/heads/ignite-6181-1 Commit: ac7f21298f8fd49c2a42034fb955d3c78089ed70 Parents: 5a6808f Author: Ilya LantukhAuthored: Mon Aug 28 20:31:18 2017 +0300 Committer: Ilya Lantukh Committed: Mon Aug 28 20:31:18 2017 +0300 -- .../dht/GridClientPartitionTopology.java| 18 +--- .../GridDhtPartitionsExchangeFuture.java| 15 +-- .../IgnitePdsCacheRebalancingAbstractTest.java | 44 +++- 3 files changed, 66 insertions(+), 11 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/ac7f2129/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridClientPartitionTopology.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridClientPartitionTopology.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridClientPartitionTopology.java index c8856fd..299394f 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridClientPartitionTopology.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridClientPartitionTopology.java @@ -1092,20 +1092,26 @@ public class GridClientPartitionTopology implements GridDhtPartitionTopology { try { for (Map.Entry e : node2part.entrySet()) { -if (!e.getValue().containsKey(p)) +GridDhtPartitionMap partMap = e.getValue(); + +if (!partMap.containsKey(p)) continue; -if (e.getValue().get(p) == OWNING && !owners.contains(e.getKey())) { +if (partMap.get(p) == OWNING && !owners.contains(e.getKey())) { if (haveHistory) -e.getValue().put(p, MOVING); +partMap.put(p, MOVING); else { -e.getValue().put(p, RENTING); +partMap.put(p, RENTING); result.add(e.getKey()); } + +partMap.updateSequence(partMap.updateSequence() + 1, partMap.topologyVersion()); + +U.warn(log, "Partition has been scheduled for rebalancing due to outdated update counter " + +"[nodeId=" + e.getKey() + ", groupId=" + grpId + +", partId=" + p + ", haveHistory=" + haveHistory + "]"); } -else if (owners.contains(e.getKey())) -e.getValue().put(p, OWNING); } part2node.put(p, owners); http://git-wip-us.apache.org/repos/asf/ignite/blob/ac7f2129/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java index 299284d..240b5f0 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java @@ -2437,11 +2437,20 @@ public class GridDhtPartitionsExchangeFuture extends GridDhtTopologyFutureAdapte */ private void assignPartitionsStates() { if (cctx.database().persistenceEnabled()) { -for (CacheGroupContext grp : cctx.cache().cacheGroups()) { -if (grp.isLocal()) +for (Map.Entry e : cctx.affinity().cacheGroups().entrySet()) { +if (e.getValue().config().getCacheMode() == CacheMode.LOCAL) continue; -assignPartitionStates(grp.topology()); +GridDhtPartitionTopology top; + +CacheGroupContext grpCtx = cctx.cache().cacheGroup(e.getKey()); + +if (grpCtx != null) +top = grpCtx.topology(); +else +top =
[49/50] [abbrv] ignite git commit: ignite-6181-1
http://git-wip-us.apache.org/repos/asf/ignite/blob/2468e009/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java index 2d6264c..caa1545 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java @@ -25,7 +25,6 @@ import org.apache.ignite.IgniteCheckedException; import org.apache.ignite.IgniteException; import org.apache.ignite.configuration.CacheConfiguration; import org.apache.ignite.configuration.IgniteConfiguration; -import org.apache.ignite.configuration.TransactionConfiguration; import org.apache.ignite.internal.IgniteEx; import org.apache.ignite.internal.IgniteInternalFuture; import org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal; @@ -57,9 +56,6 @@ public class TxRollbackOnTimeoutTest extends GridCommonAbstractTest { private static final long TX_MIN_TIMEOUT = 1; /** */ -private static final long TX_TIMEOUT = 500; - -/** */ private static final String CACHE_NAME = "test"; /** IP finder. */ @@ -68,12 +64,6 @@ public class TxRollbackOnTimeoutTest extends GridCommonAbstractTest { /** */ private static final int GRID_CNT = 3; -/** */ -private final CountDownLatch blocked = new CountDownLatch(1); - -/** */ -private final CountDownLatch unblocked = new CountDownLatch(1); - /** {@inheritDoc} */ @Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception { IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName); @@ -82,12 +72,8 @@ public class TxRollbackOnTimeoutTest extends GridCommonAbstractTest { ((TcpDiscoverySpi)cfg.getDiscoverySpi()).setIpFinder(IP_FINDER); -TransactionConfiguration txCfg = new TransactionConfiguration(); -txCfg.setDefaultTxTimeout(TX_TIMEOUT); - -cfg.setTransactionConfiguration(txCfg); - CacheConfiguration ccfg = new CacheConfiguration(CACHE_NAME); + ccfg.setAtomicityMode(TRANSACTIONAL); ccfg.setBackups(2); @@ -113,7 +99,7 @@ public class TxRollbackOnTimeoutTest extends GridCommonAbstractTest { /** * @param e Exception. */ -protected void validateException(Exception e) { +protected void validateDeadlockException(Exception e) { assertEquals("Deadlock report is expected", TransactionDeadlockException.class, e.getCause().getCause().getClass()); } @@ -191,50 +177,22 @@ public class TxRollbackOnTimeoutTest extends GridCommonAbstractTest { * * @throws Exception If failed. */ -public void testWaitingTxUnblockedOnTimeout1() throws Exception { -testWaitingTxUnblockedOnTimeout0(grid(0), grid(0)); -} +public void testWaitingTxUnblockedOnTimeout() throws Exception { +waitingTxUnblockedOnTimeout(grid(0), grid(0)); -/** - * Tests if timeout on first tx unblocks second tx waiting for the locked key. - * - * @throws Exception If failed. - */ -public void testWaitingTxUnblockedOnTimeout2() throws Exception { -testWaitingTxUnblockedOnTimeout0(grid(0), grid(1)); -} +waitingTxUnblockedOnTimeout(grid(0), grid(1)); -/** - * Tests if timeout on first tx unblocks second tx waiting for the locked key. - * - * @throws Exception If failed. - */ -public void testWaitingTxUnblockedOnTimeout3() throws Exception { Ignite client = startGrid("client"); -testWaitingTxUnblockedOnTimeout0(grid(0), client); -} +waitingTxUnblockedOnTimeout(grid(0), client); -/** - * Tests if timeout on first tx unblocks second tx waiting for the locked key. - * - * @throws Exception If failed. - */ -public void testWaitingTxUnblockedOnTimeout4() throws Exception { -Ignite client = startGrid("client"); +waitingTxUnblockedOnTimeout(grid(1), client); -testWaitingTxUnblockedOnTimeout0(client, grid(0)); -} +waitingTxUnblockedOnTimeout(client, grid(0)); -/** - * Tests if timeout on first tx unblocks second tx waiting for the locked key. - * - * @throws Exception If failed. - */ -public void testWaitingTxUnblockedOnTimeout5() throws Exception { -Ignite client = startGrid("client"); +waitingTxUnblockedOnTimeout(client, grid(1)); -testWaitingTxUnblockedOnTimeout0(client, client); +waitingTxUnblockedOnTimeout(client, client); }
[34/50] [abbrv] ignite git commit: IGNITE-6181 wip.
IGNITE-6181 wip. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/4c3df8f7 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/4c3df8f7 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/4c3df8f7 Branch: refs/heads/ignite-6181-1 Commit: 4c3df8f78b47dcfbed15778a87e173d8bace27b0 Parents: 6ee98d1 Author: Aleksei ScherbakovAuthored: Tue Sep 12 16:31:32 2017 +0300 Committer: Aleksei Scherbakov Committed: Tue Sep 12 16:31:32 2017 +0300 -- .../org/apache/ignite/IgniteTransactions.java | 3 +- .../configuration/TransactionConfiguration.java | 6 +++ .../processors/cache/GridCacheProcessor.java| 2 +- .../cache/distributed/near/GridNearTxLocal.java | 5 +- .../transactions/IgniteTransactionsImpl.java| 3 +- .../transactions/IgniteTxLocalAdapter.java | 3 -- .../cache/transactions/IgniteTxManager.java | 49 +++- .../transactions/TxRollbackOnTimeoutTest.java | 13 -- 8 files changed, 49 insertions(+), 35 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/4c3df8f7/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 dfe6a1a..9da862d 100644 --- a/modules/core/src/main/java/org/apache/ignite/IgniteTransactions.java +++ b/modules/core/src/main/java/org/apache/ignite/IgniteTransactions.java @@ -77,7 +77,8 @@ public interface IgniteTransactions { * * @param concurrency Concurrency. * @param isolation Isolation. - * @param timeout Timeout. + * @param timeout Timeout. See {@link TransactionConfiguration#setDefaultTxTimeout(long)} + * for additional info on transaction timeouts. * @param txSize Number of entries participating in transaction (may be approximate). * @return New transaction. * @throws IllegalStateException If transaction is already started by this thread. http://git-wip-us.apache.org/repos/asf/ignite/blob/4c3df8f7/modules/core/src/main/java/org/apache/ignite/configuration/TransactionConfiguration.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/TransactionConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/TransactionConfiguration.java index 0063afc..cbd2d82 100644 --- a/modules/core/src/main/java/org/apache/ignite/configuration/TransactionConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/configuration/TransactionConfiguration.java @@ -19,6 +19,7 @@ package org.apache.ignite.configuration; import java.io.Serializable; import javax.cache.configuration.Factory; +import org.apache.ignite.IgniteTransactions; import org.apache.ignite.transactions.Transaction; import org.apache.ignite.transactions.TransactionConcurrency; import org.apache.ignite.transactions.TransactionIsolation; @@ -181,6 +182,11 @@ public class TransactionConfiguration implements Serializable { /** * Sets default transaction timeout in milliseconds. By default this value is defined by {@link * #DFLT_TRANSACTION_TIMEOUT}. + * + * If transaction's execution is not completed by calling {@link Transaction#commit()}, + * {@link Transaction#rollback()} or {@link Transaction#close()} + * before timeout expires, it will be rolled back asynchronously. All further caches operations will fail until new + * explicit transaction is started in current thread by calling {@link IgniteTransactions#txStart()}. * * @param dfltTxTimeout Default transaction timeout. * @return {@code this} for chaining. http://git-wip-us.apache.org/repos/asf/ignite/blob/4c3df8f7/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java index 1efb500..bd950fa 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java @@ -3654,7 +3654,7 @@ public class GridCacheProcessor extends GridProcessorAdapter { * @throws IgniteException If transaction exist. */ private void checkEmptyTransactions() throws IgniteException { -if (transactions().tx() != null) +
[38/50] [abbrv] ignite git commit: IGNITE-6181 wip.
IGNITE-6181 wip. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/047ac12c Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/047ac12c Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/047ac12c Branch: refs/heads/ignite-6181-1 Commit: 047ac12ca65c0738fb95c742b5aaac49a1b37f71 Parents: a6faebd Author: Aleksei ScherbakovAuthored: Wed Sep 13 19:49:50 2017 +0300 Committer: Aleksei Scherbakov Committed: Wed Sep 13 19:49:50 2017 +0300 -- .../cache/distributed/near/GridNearTxLocal.java| 6 +++--- .../cache/transactions/IgniteTxLocalAdapter.java | 2 +- .../cache/transactions/IgniteTxManager.java| 8 .../transactions/TxRollbackOnTimeoutTest.java | 17 ++--- 4 files changed, 22 insertions(+), 11 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/047ac12c/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 ee5797e..0a59cd0 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 @@ -230,7 +230,7 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements GridTimeou mappings = implicitSingle ? new IgniteTxMappingsSingleImpl() : new IgniteTxMappingsImpl(); -if (this.timeout() > 0 && !implicit() && !cctx.tm().deadlockDetectionEnabled()) +if (this.timeout() > 0 && !implicit()) cctx.time().addTimeoutObject(this); initResult(); @@ -4014,7 +4014,7 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements GridTimeou * Removes timeout handler used for eager rollbacks on timeouts. */ private void removeTimeoutHandler() { -if (timeout() > 0 && !implicit() && !timedOut() && !cctx.tm().deadlockDetectionEnabled()) +if (timeout() > 0 && !implicit() && !timedOut()) cctx.time().removeTimeoutObject(this); } @@ -4025,7 +4025,7 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements GridTimeou /** {@inheritDoc} */ @Override public long endTime() { -return startTime() + timeout(); +return startTime() + timeout() - 50; } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/ignite/blob/047ac12c/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java index 7f30981..e7ebaae 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java @@ -1237,7 +1237,7 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter implements Ig * @throws IgniteCheckedException If transaction check failed. */ protected void checkValid() throws IgniteCheckedException { -if (local() && !dht() && remainingTime() == -1 && cctx.tm().deadlockDetectionEnabled()) +if (local() && !dht() && remainingTime() == -1) state(MARKED_ROLLBACK, true); if (isRollbackOnly()) { http://git-wip-us.apache.org/repos/asf/ignite/blob/047ac12c/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 db7a600..fd4f1b2 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 @@ -1422,10 +1422,7 @@ public class IgniteTxManager extends GridCacheSharedManagerAdapter { */ private
[32/50] [abbrv] ignite git commit: IGNITE-6181 wip.
IGNITE-6181 wip. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/19383384 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/19383384 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/19383384 Branch: refs/heads/ignite-6181-1 Commit: 1938338407f68d19dea3255144cfcca01cf16ef7 Parents: 467e0ba Author: Aleksei ScherbakovAuthored: Mon Sep 11 13:08:25 2017 +0300 Committer: Aleksei Scherbakov Committed: Mon Sep 11 13:08:25 2017 +0300 -- .../processors/cache/GridCacheAdapter.java | 5 -- .../cache/distributed/near/GridNearTxLocal.java | 15 ++-- .../cache/transactions/IgniteTxManager.java | 75 +++- 3 files changed, 33 insertions(+), 62 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/19383384/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java index 8e075b2..fed716c 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java @@ -102,7 +102,6 @@ import org.apache.ignite.internal.processors.platform.cache.PlatformCacheEntryFi import org.apache.ignite.internal.processors.task.GridInternal; import org.apache.ignite.internal.transactions.IgniteTxHeuristicCheckedException; import org.apache.ignite.internal.transactions.IgniteTxRollbackCheckedException; -import org.apache.ignite.internal.transactions.IgniteTxTimeoutCheckedException; import org.apache.ignite.internal.util.future.GridEmbeddedFuture; import org.apache.ignite.internal.util.future.GridFinishedFuture; import org.apache.ignite.internal.util.future.GridFutureAdapter; @@ -4031,10 +4030,6 @@ public abstract class GridCacheAdapter implements IgniteInternalCache ((IgniteInternalTx)this); } -if (timedOut()) -cctx.tm().markTimedOut(this); - GridNearTxFinishFuture fut = rollbackFut; if (fut != null) @@
[08/50] [abbrv] ignite git commit: Fixed update sequence.
Fixed update sequence. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/a857c5ba Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/a857c5ba Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/a857c5ba Branch: refs/heads/ignite-6181-1 Commit: a857c5ba5a24f41b5ebfaef0a15fde2906a7e0fd Parents: 8c249b7 Author: Ilya LantukhAuthored: Sat Aug 26 17:21:44 2017 +0300 Committer: Ilya Lantukh Committed: Sat Aug 26 17:21:44 2017 +0300 -- .../dht/GridDhtPartitionTopologyImpl.java | 33 ++-- 1 file changed, 23 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/a857c5ba/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java -- diff --git 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 index a881130..e0f54b3 100644 --- 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 @@ -521,7 +521,7 @@ public class GridDhtPartitionTopologyImpl implements GridDhtPartitionTopology { DiscoveryEvent evt = evts0.get(i); if (ExchangeDiscoveryEvents.serverLeftEvent(evt)) -removeNode(evt.eventNode().id()); +updateSeq = removeNode(evt.eventNode().id(), updateSeq); } } @@ -1379,6 +1379,8 @@ public class GridDhtPartitionTopologyImpl implements GridDhtPartitionTopology { long updateSeq = this.updateSeq.incrementAndGet(); +node2part.newUpdateSequence(updateSeq); + if (readyTopVer.initialized() && readyTopVer.equals(lastTopChangeVer)) { AffinityAssignment aff = grp.affinity().readyAffinity(readyTopVer); @@ -1535,8 +1537,11 @@ public class GridDhtPartitionTopologyImpl implements GridDhtPartitionTopology { GridDhtPartitionMap cur = node2part.get(parts.nodeId()); if (force) { -if (cur != null && cur.topologyVersion().initialized()) +if (cur != null && cur.topologyVersion().initialized()) { parts.updateSequence(cur.updateSequence(), cur.topologyVersion()); + +this.updateSeq.setIfGreater(cur.updateSequence()); +} } else if (isStaleUpdate(cur, parts)) { U.warn(log, "Stale update for single partition map update (will ignore) [exchId=" + exchId + @@ -1546,10 +1551,6 @@ public class GridDhtPartitionTopologyImpl implements GridDhtPartitionTopology { return false; } -long updateSeq = this.updateSeq.incrementAndGet(); - -node2part.newUpdateSequence(updateSeq); - boolean changed = false; if (cur == null || !cur.equals(parts)) @@ -1557,6 +1558,10 @@ public class GridDhtPartitionTopologyImpl implements GridDhtPartitionTopology { node2part.put(parts.nodeId(), parts); +this.updateSeq.setIfGreater(parts.updateSequence()); + +long updateSeq = this.updateSeq.incrementAndGet(); + // During exchange diff is calculated after all messages are received and affinity initialized. if (exchId == null && !grp.isReplicated()) { if (readyTopVer.initialized() && readyTopVer.compareTo(diffFromAffinityVer) >= 0) { @@ -2110,8 +2115,11 @@ public class GridDhtPartitionTopologyImpl implements GridDhtPartitionTopology { /** * @param nodeId Node to remove. + * @param updateSeq Update sequence. + * + * @return Update sequence. */ -private void removeNode(UUID nodeId) { +private long removeNode(UUID nodeId, long updateSeq) { assert nodeId != null; assert lock.isWriteLockedByCurrentThread(); @@ -2122,11 +2130,14 @@ public class GridDhtPartitionTopologyImpl implements GridDhtPartitionTopology { ClusterNode loc = ctx.localNode(); if (node2part != null) { -updateSeq.setIfGreater(node2part.updateSequence()); +assert updateSeq >= node2part.updateSequence(); -if (loc.equals(oldest) && !node2part.nodeId().equals(loc.id())) -node2part = new
[02/50] [abbrv] ignite git commit: IGNITE-6178 Make CheckpointWriteOrder.SEQUENTIAL and checkpointingThreads=4 default in persistent store confguration
IGNITE-6178 Make CheckpointWriteOrder.SEQUENTIAL and checkpointingThreads=4 default in persistent store confguration Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/5bda4090 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/5bda4090 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/5bda4090 Branch: refs/heads/ignite-6181-1 Commit: 5bda4090f1580ea7b6557c8716e57a12572c322f Parents: 9399610 Author: Ivan RakovAuthored: Thu Aug 24 18:18:31 2017 +0300 Committer: Andrey Gura Committed: Fri Aug 25 13:32:24 2017 +0300 -- .../ignite/configuration/PersistentStoreConfiguration.java| 7 +++ 1 file changed, 3 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/5bda4090/modules/core/src/main/java/org/apache/ignite/configuration/PersistentStoreConfiguration.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/PersistentStoreConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/PersistentStoreConfiguration.java index 5b902ac..888bf42 100644 --- a/modules/core/src/main/java/org/apache/ignite/configuration/PersistentStoreConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/configuration/PersistentStoreConfiguration.java @@ -16,12 +16,11 @@ */ package org.apache.ignite.configuration; +import java.io.Serializable; import org.apache.ignite.internal.processors.cache.persistence.file.FileIOFactory; import org.apache.ignite.internal.processors.cache.persistence.file.RandomAccessFileIOFactory; import org.apache.ignite.internal.util.typedef.internal.S; -import java.io.Serializable; - /** * Configures Apache Ignite Persistent store. */ @@ -45,10 +44,10 @@ public class PersistentStoreConfiguration implements Serializable { public static final int DFLT_RATE_TIME_INTERVAL_MILLIS = 60_000; /** Default number of checkpointing threads. */ -public static final int DFLT_CHECKPOINTING_THREADS = 1; +public static final int DFLT_CHECKPOINTING_THREADS = 4; /** Default checkpoint write order. */ -public static final CheckpointWriteOrder DFLT_CHECKPOINT_WRITE_ORDER = CheckpointWriteOrder.RANDOM; +public static final CheckpointWriteOrder DFLT_CHECKPOINT_WRITE_ORDER = CheckpointWriteOrder.SEQUENTIAL; /** Default number of checkpoints to be kept in WAL after checkpoint is finished */ public static final int DFLT_WAL_HISTORY_SIZE = 20;
[36/50] [abbrv] ignite git commit: IGNITE-6181 wip.
IGNITE-6181 wip. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/b0177135 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/b0177135 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/b0177135 Branch: refs/heads/ignite-6181-1 Commit: b01771355b697b9bd4b23ce6c807d777510b87c0 Parents: 225d4f5 Author: ascherbakoffAuthored: Tue Sep 12 23:03:30 2017 +0300 Committer: ascherbakoff Committed: Tue Sep 12 23:03:30 2017 +0300 -- .../org/apache/ignite/IgniteTransactions.java | 3 +- .../configuration/TransactionConfiguration.java | 6 --- .../near/GridNearOptimisticTxPrepareFuture.java | 3 +- .../cache/distributed/near/GridNearTxLocal.java | 3 +- .../transactions/IgniteTransactionsImpl.java| 2 +- .../cache/transactions/IgniteTxManager.java | 7 +-- ...niteTxConfigCacheForceTxTimeoutSelfTest.java | 43 +++ .../cache/IgniteTxConfigCacheSelfTest.java | 2 +- .../transactions/TxRollbackOnTimeoutTest.java | 55 +++- .../ignite/testsuites/IgniteCacheTestSuite.java | 2 + .../hadoop/impl/HadoopTxConfigCacheTest.java| 2 +- 11 files changed, 110 insertions(+), 18 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/b0177135/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 9da862d..dfe6a1a 100644 --- a/modules/core/src/main/java/org/apache/ignite/IgniteTransactions.java +++ b/modules/core/src/main/java/org/apache/ignite/IgniteTransactions.java @@ -77,8 +77,7 @@ public interface IgniteTransactions { * * @param concurrency Concurrency. * @param isolation Isolation. - * @param timeout Timeout. See {@link TransactionConfiguration#setDefaultTxTimeout(long)} - * for additional info on transaction timeouts. + * @param timeout Timeout. * @param txSize Number of entries participating in transaction (may be approximate). * @return New transaction. * @throws IllegalStateException If transaction is already started by this thread. http://git-wip-us.apache.org/repos/asf/ignite/blob/b0177135/modules/core/src/main/java/org/apache/ignite/configuration/TransactionConfiguration.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/TransactionConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/TransactionConfiguration.java index cbd2d82..0063afc 100644 --- a/modules/core/src/main/java/org/apache/ignite/configuration/TransactionConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/configuration/TransactionConfiguration.java @@ -19,7 +19,6 @@ package org.apache.ignite.configuration; import java.io.Serializable; import javax.cache.configuration.Factory; -import org.apache.ignite.IgniteTransactions; import org.apache.ignite.transactions.Transaction; import org.apache.ignite.transactions.TransactionConcurrency; import org.apache.ignite.transactions.TransactionIsolation; @@ -182,11 +181,6 @@ public class TransactionConfiguration implements Serializable { /** * Sets default transaction timeout in milliseconds. By default this value is defined by {@link * #DFLT_TRANSACTION_TIMEOUT}. - * - * If transaction's execution is not completed by calling {@link Transaction#commit()}, - * {@link Transaction#rollback()} or {@link Transaction#close()} - * before timeout expires, it will be rolled back asynchronously. All further caches operations will fail until new - * explicit transaction is started in current thread by calling {@link IgniteTransactions#txStart()}. * * @param dfltTxTimeout Default transaction timeout. * @return {@code this} for chaining. http://git-wip-us.apache.org/repos/asf/ignite/blob/b0177135/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..822651c 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java +++
[18/50] [abbrv] ignite git commit: gg-12686 : Fixed null CacheMapHolder if node is restarted with partition in RENTING state.
gg-12686 : Fixed null CacheMapHolder if node is restarted with partition in RENTING state. Signed-off-by: Andrey GuraProject: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/01c627a0 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/01c627a0 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/01c627a0 Branch: refs/heads/ignite-6181-1 Commit: 01c627a0a36692a045a646d4d165820bb3b7cf04 Parents: 6c45ede Author: Ilya Lantukh Authored: Wed Aug 30 16:58:32 2017 +0300 Committer: Andrey Gura Committed: Wed Aug 30 17:39:05 2017 +0300 -- .../cache/distributed/dht/GridDhtLocalPartition.java | 8 ++-- 1 file changed, 2 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/01c627a0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLocalPartition.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLocalPartition.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLocalPartition.java index 4d1bb38..f0e0d47 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLocalPartition.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLocalPartition.java @@ -932,12 +932,8 @@ public class GridDhtLocalPartition extends GridCacheConcurrentMapImpl implements try { CacheDataRow row = it0.next(); -if (grp.sharedGroup() && (hld == null || hld.cctx.cacheId() != row.cacheId())) { -hld = cacheMaps.get(row.cacheId()); - -if (hld == null) -continue; -} +if (grp.sharedGroup() && (hld == null || hld.cctx.cacheId() != row.cacheId())) +hld = cacheMapHolder(ctx.cacheContext(row.cacheId())); assert hld != null;
[42/50] [abbrv] ignite git commit: IGNITE-6181 wip.
IGNITE-6181 wip. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/7d05fb10 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/7d05fb10 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/7d05fb10 Branch: refs/heads/ignite-6181-1 Commit: 7d05fb101fd19ddd89a2356d79f35deea3fcf4f0 Parents: 6353158 Author: Aleksei ScherbakovAuthored: Fri Sep 15 11:49:18 2017 +0300 Committer: Aleksei Scherbakov Committed: Fri Sep 15 11:49:18 2017 +0300 -- .../cache/distributed/IgniteOptimisticTxSuspendResumeTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/7d05fb10/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteOptimisticTxSuspendResumeTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteOptimisticTxSuspendResumeTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteOptimisticTxSuspendResumeTest.java index d16aebd..deb58bc 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteOptimisticTxSuspendResumeTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteOptimisticTxSuspendResumeTest.java @@ -438,7 +438,7 @@ public class IgniteOptimisticTxSuspendResumeTest extends GridCommonAbstractTest } }, TransactionTimeoutException.class); -assertEquals(MARKED_ROLLBACK, tx.state()); +assertEquals(ROLLED_BACK, tx.state()); tx.close(); } @@ -469,7 +469,7 @@ public class IgniteOptimisticTxSuspendResumeTest extends GridCommonAbstractTest } }, TransactionTimeoutException.class); -assertEquals(MARKED_ROLLBACK, tx.state()); +assertEquals(ROLLED_BACK, tx.state()); tx.close();
[16/50] [abbrv] ignite git commit: IGNITE-6178 .NET: Fix PersistentStoreConfiguration.CheckpointingThreads default value
IGNITE-6178 .NET: Fix PersistentStoreConfiguration.CheckpointingThreads default value This closes #2511 (cherry picked from commit 08a831f) Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/6c45edea Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/6c45edea Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/6c45edea Branch: refs/heads/ignite-6181-1 Commit: 6c45edeaf83f94a9c0539d9768dd8be0e25dc36e Parents: 5df5e2c Author: Pavel TupitsynAuthored: Tue Aug 29 18:35:49 2017 +0300 Committer: Ilya Lantukh Committed: Tue Aug 29 19:00:30 2017 +0300 -- .../PersistentStore/PersistentStoreConfiguration.cs| 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/6c45edea/modules/platforms/dotnet/Apache.Ignite.Core/PersistentStore/PersistentStoreConfiguration.cs -- diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/PersistentStore/PersistentStoreConfiguration.cs b/modules/platforms/dotnet/Apache.Ignite.Core/PersistentStore/PersistentStoreConfiguration.cs index cac6cc8..8ba45e5 100644 --- a/modules/platforms/dotnet/Apache.Ignite.Core/PersistentStore/PersistentStoreConfiguration.cs +++ b/modules/platforms/dotnet/Apache.Ignite.Core/PersistentStore/PersistentStoreConfiguration.cs @@ -32,7 +32,7 @@ namespace Apache.Ignite.Core.PersistentStore /// /// Default value for . /// -public const int DefaultCheckpointingThreads = 1; +public const int DefaultCheckpointingThreads = 4; /// /// Default value for .
[10/50] [abbrv] ignite git commit: GG-12682 Restart cluster during snapshot RESTORE fails
GG-12682 Restart cluster during snapshot RESTORE fails Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/a01837b5 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/a01837b5 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/a01837b5 Branch: refs/heads/ignite-6181-1 Commit: a01837b5028fc8739e16658d85ffe64aad01afdb Parents: fc55ade9 Author: Eduard ShangareevAuthored: Sun Aug 27 17:30:21 2017 +0300 Committer: Ilya Lantukh Committed: Sun Aug 27 17:30:21 2017 +0300 -- .../processors/cache/persistence/file/FilePageStoreManager.java | 3 +++ 1 file changed, 3 insertions(+) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/a01837b5/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FilePageStoreManager.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FilePageStoreManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FilePageStoreManager.java index 13bcd2a..d60151a 100755 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FilePageStoreManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FilePageStoreManager.java @@ -381,6 +381,9 @@ public class FilePageStoreManager extends GridCacheSharedManagerAdapter implemen return new CacheStoreHolder(idxStore, partStores); } +/** + * @param cacheWorkDir Cache work directory. + */ private boolean checkAndInitCacheWorkDir(File cacheWorkDir) throws IgniteCheckedException { boolean dirExisted = false;
[12/50] [abbrv] ignite git commit: IGNITE-6181 wip.
IGNITE-6181 wip. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/7f5d80de Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/7f5d80de Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/7f5d80de Branch: refs/heads/ignite-6181-1 Commit: 7f5d80de8108257e8184b0654fe7034f6c7e2527 Parents: a01837b Author: Aleksei ScherbakovAuthored: Mon Aug 28 19:51:09 2017 +0300 Committer: Aleksei Scherbakov Committed: Mon Aug 28 19:51:09 2017 +0300 -- .../transactions/TxTimeoutHandlingTest.java | 147 +++ 1 file changed, 147 insertions(+) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/7f5d80de/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxTimeoutHandlingTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxTimeoutHandlingTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxTimeoutHandlingTest.java new file mode 100644 index 000..2ac0f1a --- /dev/null +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxTimeoutHandlingTest.java @@ -0,0 +1,147 @@ +/* + * 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.transactions; + +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; +import org.apache.ignite.Ignite; +import org.apache.ignite.IgniteException; +import org.apache.ignite.cache.CacheAtomicityMode; +import org.apache.ignite.configuration.CacheConfiguration; +import org.apache.ignite.configuration.IgniteConfiguration; +import org.apache.ignite.configuration.TransactionConfiguration; +import org.apache.ignite.internal.IgniteInternalFuture; +import org.apache.ignite.internal.util.typedef.internal.U; +import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi; +import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder; +import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; +import org.apache.ignite.transactions.Transaction; +import org.apache.ignite.transactions.TransactionConcurrency; +import org.apache.ignite.transactions.TransactionIsolation; + +/** + * Tests ability to rollback not properly closed transaction. + */ +public class TxTimeoutHandlingTest extends GridCommonAbstractTest { +/** */ +private static final long TX_TIMEOUT = 3_000L; + +/** */ +private static final String CACHE_NAME = "test"; + +/** IP finder. */ +private static final TcpDiscoveryVmIpFinder IP_FINDER = new TcpDiscoveryVmIpFinder(true); + +/** */ +private final CountDownLatch l = new CountDownLatch(1); + +/** */ +private final Object mux = new Object(); + +/** */ +private volatile boolean released; + + +/** {@inheritDoc} */ +@Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception { +IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName); + +cfg.setDiscoverySpi(new TcpDiscoverySpi().setIpFinder(IP_FINDER)); + +TransactionConfiguration txCfg = new TransactionConfiguration(); +txCfg.setDefaultTxTimeout(TX_TIMEOUT); + +cfg.setTransactionConfiguration(txCfg); + +CacheConfiguration ccfg = new CacheConfiguration(CACHE_NAME); +ccfg.setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL); + +cfg.setCacheConfiguration(ccfg); + +return cfg; +} + +/** */ +public void testTxTimeoutHandling() throws Exception { +try { +final Ignite ignite = startGrid(0); + +IgniteInternalFuture fut1 = multithreadedAsync(new Runnable() { +@Override public void run() { +// Start tx with default settings. +try (Transaction tx = ignite.transactions().txStart()) { +
[22/50] [abbrv] ignite git commit: IGNITE-6181 wip.
IGNITE-6181 wip. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/d5f3a67d Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/d5f3a67d Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/d5f3a67d Branch: refs/heads/ignite-6181-1 Commit: d5f3a67dc258dfb19279481c831377b97955b365 Parents: 94acdf5 Author: Aleksei ScherbakovAuthored: Thu Aug 31 15:25:00 2017 +0300 Committer: Aleksei Scherbakov Committed: Thu Aug 31 15:25:00 2017 +0300 -- .../cache/transactions/IgniteTxHandler.java | 8 +++--- .../transactions/TxRollbackOnTimeoutTest.java | 26 ++-- 2 files changed, 17 insertions(+), 17 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/d5f3a67d/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 de0e415..6f96b4b 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 @@ -673,8 +673,8 @@ public class IgniteTxHandler { * @param res Response. */ private void processNearTxFinishResponse(UUID nodeId, GridNearTxFinishResponse res) { -if (txFinishMsgLog.isDebugEnabled()) -txFinishMsgLog.debug("Received near finish response [txId=" + res.xid() + ", node=" + nodeId + ']'); +//if (txFinishMsgLog.isDebugEnabled()) +txFinishMsgLog.info("Received near finish response [txId=" + res.xid() + ", node=" + nodeId + ']'); ctx.tm().onFinishedRemote(nodeId, res.threadId()); @@ -783,8 +783,8 @@ public class IgniteTxHandler { UUID nodeId, GridNearTxFinishRequest req ) { -if (txFinishMsgLog.isDebugEnabled()) -txFinishMsgLog.debug("Received near finish request [txId=" + req.version() + ", node=" + nodeId + ']'); +//if (txFinishMsgLog.isDebugEnabled()) +txFinishMsgLog.info("Received near finish request [txId=" + req.version() + ", node=" + nodeId + ']'); IgniteInternalFuture fut = finish(nodeId, null, req); http://git-wip-us.apache.org/repos/asf/ignite/blob/d5f3a67d/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java index 52f099d..9243f58 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackOnTimeoutTest.java @@ -130,11 +130,11 @@ public class TxRollbackOnTimeoutTest extends GridCommonAbstractTest { /** * Tests if timeout on first tx unblocks second tx waiting for the locked key. */ -//public void testWaitingTxUnblockedOnTimeout3() throws Exception { -//Ignite client = startGrid("client"); -// -//testWaitingTxUnblockedOnTimeout0(grid(0), client); -//} +public void testWaitingTxUnblockedOnTimeout3() throws Exception { +Ignite client = startGrid("client"); + +testWaitingTxUnblockedOnTimeout0(grid(0), client); +} /** * Tests if timeout on first tx unblocks second tx waiting for the locked key. @@ -171,11 +171,11 @@ public class TxRollbackOnTimeoutTest extends GridCommonAbstractTest { /** * Tests if timeout on first tx unblocks second tx waiting for the locked key. */ -//public void testWaitingTxUnblockedOnTimeout8() throws Exception { -//Ignite client = startGrid("client"); -// -//testWaitingTxUnblockedOnThreadDeath0(grid(0), client); -//} +public void testWaitingTxUnblockedOnTimeout8() throws Exception { +Ignite client = startGrid("client"); + +testWaitingTxUnblockedOnThreadDeath0(grid(0), client); +} /** * Tests if timeout on first tx unblocks second tx waiting for the locked key. @@ -268,11 +268,11 @@ public class TxRollbackOnTimeoutTest extends GridCommonAbstractTest { } }, 2, "Second"); -fut2.get(5,
[04/50] [abbrv] ignite git commit: Added test for rebalance after restart.
Added test for rebalance after restart. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/6f7011aa Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/6f7011aa Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/6f7011aa Branch: refs/heads/ignite-6181-1 Commit: 6f7011aa9c69280c76e03335ce4851a38cfc334e Parents: 316312d Author: sboikovAuthored: Fri Aug 25 16:59:02 2017 +0300 Committer: sboikov Committed: Fri Aug 25 16:59:02 2017 +0300 -- .../IgnitePdsCacheRebalancingAbstractTest.java | 37 1 file changed, 37 insertions(+) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/6f7011aa/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsCacheRebalancingAbstractTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsCacheRebalancingAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsCacheRebalancingAbstractTest.java index 2f43951..91838fc 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsCacheRebalancingAbstractTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsCacheRebalancingAbstractTest.java @@ -498,6 +498,43 @@ public abstract class IgnitePdsCacheRebalancingAbstractTest extends GridCommonAb } /** + * @throws Exception If failed. + */ +public void testForceRebalance() throws Exception { +final Ignite ig = startGrids(4); + +ig.active(true); + +awaitPartitionMapExchange(); + +IgniteCache c = ig.cache(cacheName); + +Integer val = 0; + +for (int i = 0; i < 5; i++) { +Integer key = primaryKey(ignite(3).cache(cacheName)); + +c.put(key, val); + +stopGrid(3); + +val++; + +c.put(key, val); + +assertEquals(val, c.get(key)); + +startGrid(3); + +awaitPartitionMapExchange(); + +Object val0 = ignite(3).cache(cacheName).get(key); + +assertEquals(val, val0); +} +} + +/** * @throws Exception If failed */ public void testPartitionCounterConsistencyOnUnstableTopology() throws Exception {