Return-Path: X-Original-To: apmail-ignite-commits-archive@minotaur.apache.org Delivered-To: apmail-ignite-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id E4EF41966B for ; Thu, 28 Apr 2016 08:52:34 +0000 (UTC) Received: (qmail 41279 invoked by uid 500); 28 Apr 2016 08:52:34 -0000 Delivered-To: apmail-ignite-commits-archive@ignite.apache.org Received: (qmail 41188 invoked by uid 500); 28 Apr 2016 08:52:34 -0000 Mailing-List: contact commits-help@ignite.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ignite.apache.org Delivered-To: mailing list commits@ignite.apache.org Received: (qmail 39768 invoked by uid 99); 28 Apr 2016 08:52:32 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 28 Apr 2016 08:52:32 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 351B2E983B; Thu, 28 Apr 2016 08:52:32 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: sboikov@apache.org To: commits@ignite.apache.org Date: Thu, 28 Apr 2016 08:53:09 -0000 Message-Id: <623cde7dff2049bab68bd3ff91d3cc74@git.apache.org> In-Reply-To: <66d7caab4e4341d5854ef938544c84dd@git.apache.org> References: <66d7caab4e4341d5854ef938544c84dd@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [39/50] ignite git commit: ignite-db - minor ignite-db - minor Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/8bb76a80 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/8bb76a80 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/8bb76a80 Branch: refs/heads/ignite-db-x-10884 Commit: 8bb76a8065080bd9ba9230e51bbd32305f84e0c3 Parents: 83d7a5c Author: S.Vladykin Authored: Wed Apr 27 06:23:50 2016 +0300 Committer: S.Vladykin Committed: Wed Apr 27 06:23:50 2016 +0300 ---------------------------------------------------------------------- .../cache/database/tree/reuse/ReuseList.java | 19 +++++++------------ .../processors/database/BPlusTreeSelfTest.java | 6 +++--- 2 files changed, 10 insertions(+), 15 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/8bb76a80/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/reuse/ReuseList.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/reuse/ReuseList.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/reuse/ReuseList.java index eb89da9..c1e3d53 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/reuse/ReuseList.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/reuse/ReuseList.java @@ -83,7 +83,7 @@ public final class ReuseList { assert tree != null; - // Avoid recursion on the same tree. + // Avoid recursion on the same tree to avoid dead lock. if (tree == client) { treeIdx++; // Go forward and take the next tree. @@ -106,14 +106,8 @@ public final class ReuseList { if (trees == null) return null; - ReuseTree tree = tree(client); - // Remove and return page at min possible position. - FullPageId res = tree.removeCeil(MIN, bag); - - assert res != null || tree.size() == 0; // TODO remove - - return res; + return tree(client).removeCeil(MIN, bag); } /** @@ -125,15 +119,16 @@ public final class ReuseList { if (bag == null) return; - ReuseTree tree = tree(client); - - for (;;) { + for (int i = client.randomInt(trees.length);;) { FullPageId pageId = bag.pollFreePage(); if (pageId == null) break; - tree.put(pageId, bag); + trees[i].put(pageId, bag); + + if (++i == trees.length) + i = 0; } } } http://git-wip-us.apache.org/repos/asf/ignite/blob/8bb76a80/modules/indexing/src/test/java/org/apache/ignite/internal/processors/database/BPlusTreeSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/database/BPlusTreeSelfTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/database/BPlusTreeSelfTest.java index 7258f36..3d4a62e 100644 --- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/database/BPlusTreeSelfTest.java +++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/database/BPlusTreeSelfTest.java @@ -121,7 +121,7 @@ public class BPlusTreeSelfTest extends GridCommonAbstractTest { if (reuseList != null) { long size = reuseList.size(); - assertTrue("Reuse size: " + size, size < CNT); + assertTrue("Reuse size: " + size, size < 2000); } pageMem.stop(); @@ -492,10 +492,10 @@ public class BPlusTreeSelfTest extends GridCommonAbstractTest { Map map = new HashMap<>(); - for (int i = 0 ; i < 100_000; i++) { + for (int i = 0 ; i < 1_000_000; i++) { Long x = (long)tree.randomInt(CNT); - if (i % 1000 == 0) + if (i % 100_000 == 0) X.println(" --> " + i + " " + x); if (tree.randomInt(2) == 0)