Repository: ignite Updated Branches: refs/heads/ignite-3477 4322e008f -> ba5f5389f
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 Commit: ba5f5389fef690a69a0b41d40e7952cef3a2c197 Parents: 4322e00 Author: sboikov <[email protected]> Authored: Tue Mar 21 15:51:30 2017 +0300 Committer: sboikov <[email protected]> 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;
