ignite-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sboi...@apache.org
Subject ignite git commit: ignite-3477 fixed free list buckets usage
Date Mon, 06 Feb 2017 08:06:04 GMT
Repository: ignite
Updated Branches:
  refs/heads/ignite-3477 1f86c05be -> 8d5d68609


ignite-3477 fixed free list buckets usage


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

Branch: refs/heads/ignite-3477
Commit: 8d5d686090b5fd70baeb907448a6f1777318582e
Parents: 1f86c05
Author: sboikov <sboikov@gridgain.com>
Authored: Mon Feb 6 11:05:59 2017 +0300
Committer: sboikov <sboikov@gridgain.com>
Committed: Mon Feb 6 11:05:59 2017 +0300

----------------------------------------------------------------------
 .../processors/cache/database/freelist/FreeListImpl.java        | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/8d5d6860/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/freelist/FreeListImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/freelist/FreeListImpl.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/freelist/FreeListImpl.java
index 7d2d370..94fcc17 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/freelist/FreeListImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/freelist/FreeListImpl.java
@@ -361,7 +361,7 @@ public class FreeListImpl extends PagesList implements FreeList, ReuseList
{
             boolean reuseBucket = false;
 
             // TODO: properly handle reuse bucket.
-            for (int b = bucket; b < BUCKETS - 1; b++) {
+            for (int b = bucket + 1; b < BUCKETS - 1; b++) {
                 pageId = takeEmptyPage(b, DataPageIO.VERSIONS);
 
                 if (pageId != 0L) {
@@ -371,6 +371,9 @@ public class FreeListImpl extends PagesList implements FreeList, ReuseList
{
                 }
             }
 
+            if (pageId == 0L)
+                pageId = takeEmptyPage(bucket, DataPageIO.VERSIONS);
+
             try (Page page = pageId == 0 ? allocateDataPage(row.partition()) : pageMem.page(cacheId,
pageId)) {
                 // If it is an existing page, we do not need to initialize it.
                 DataPageIO init = reuseBucket || pageId == 0L ? DataPageIO.VERSIONS.latest()
: null;


Mime
View raw message