You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ag...@apache.org on 2017/03/28 11:51:12 UTC

[3/7] ignite git commit: Fix for failed assert in GridH2Table.destroy: need wait for local message handlers.

Fix for failed assert in GridH2Table.destroy:  need wait for local message handlers.


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/ba5f5389
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/ba5f5389
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/ba5f5389

Branch: refs/heads/ignite-3477-master
Commit: ba5f5389fef690a69a0b41d40e7952cef3a2c197
Parents: 4322e00
Author: sboikov <sb...@gridgain.com>
Authored: Tue Mar 21 15:51:30 2017 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Tue Mar 21 15:51:30 2017 +0300

----------------------------------------------------------------------
 .../internal/processors/query/h2/IgniteH2Indexing.java    | 10 +++++++++-
 .../internal/processors/query/h2/opt/GridH2Table.java     |  9 +--------
 .../query/h2/twostep/GridReduceQueryExecutor.java         |  1 -
 3 files changed, 10 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/ba5f5389/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
index b0e7956..1c0ae24 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
@@ -1938,7 +1938,15 @@ public class IgniteH2Indexing implements GridQueryIndexing {
                     // We prefer runLocal to runLocalSafe, because the latter can produce deadlock here.
                     ctx.closure().runLocal(new GridPlainRunnable() {
                         @Override public void run() {
-                            locNodeHnd.apply(finalLocNode, finalMsg);
+                            if (!busyLock.enterBusy())
+                                return;
+
+                            try {
+                                locNodeHnd.apply(finalLocNode, finalMsg);
+                            }
+                            finally {
+                                busyLock.leaveBusy();
+                            }
                         }
                     }, plc).listen(logger);
                 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/ba5f5389/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2Table.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2Table.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2Table.java
index 3cdc095..f2511df 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2Table.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2Table.java
@@ -446,14 +446,7 @@ public class GridH2Table extends TableBase {
         Lock l = lock(true, Long.MAX_VALUE);
 
         try {
-           /* assert sessions.isEmpty() : sessions;*/
-
-            //todo only for investigation
-            if (!sessions.isEmpty()){
-                U.dumpThreads(null);
-
-                assert sessions.isEmpty() : sessions;
-            }
+            assert sessions.isEmpty() : sessions;
 
             destroyed = true;
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/ba5f5389/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
index 4576cec..9a00c9d 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
@@ -82,7 +82,6 @@ import org.apache.ignite.internal.util.typedef.X;
 import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.lang.IgniteBiClosure;
 import org.apache.ignite.lang.IgniteFuture;
-import org.apache.ignite.lang.IgniteProductVersion;
 import org.apache.ignite.plugin.extensions.communication.Message;
 import org.h2.command.ddl.CreateTableData;
 import org.h2.engine.Session;