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/01/17 17:54:20 UTC

[1/2] ignite git commit: ignite-gg-8.0.2.ea2 igfs test fix

Repository: ignite
Updated Branches:
  refs/heads/ignite-3477 7db65ddd1 -> f8c775339


ignite-gg-8.0.2.ea2 igfs test fix

(cherry picked from commit 9b40d0e)


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

Branch: refs/heads/ignite-3477
Commit: b721d73dfe4bc5c64a9de0d93119c482a7020d79
Parents: cb60e38
Author: Dmitriy Govorukhin <dg...@gridgain.com>
Authored: Tue Jan 17 20:44:15 2017 +0300
Committer: Dmitriy Govorukhin <dg...@gridgain.com>
Committed: Tue Jan 17 20:50:57 2017 +0300

----------------------------------------------------------------------
 .../processors/cache/GridCacheMapEntry.java     | 31 -------------
 .../processors/cache/GridCacheProcessor.java    |  9 ++--
 .../cache/IgniteCacheOffheapManagerImpl.java    | 48 ++++++++++++++++++++
 .../query/h2/opt/GridH2TreeIndex.java           |  2 +-
 4 files changed, 55 insertions(+), 35 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/b721d73d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
index 9f01888..ee39ed9 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
@@ -205,40 +205,9 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme
     protected void value(@Nullable CacheObject val) {
         assert Thread.holdsLock(this);
 
-        // In case we deal with IGFS cache, count updated data
-        if (cctx.cache().isIgfsDataCache() &&
-            cctx.kernalContext().igfsHelper().isIgfsBlockKey(keyValue(false))) {
-            int newSize = valueLength0(val, null);
-            int oldSize = valueLength0(this.val, null);
-
-            int delta = newSize - oldSize;
-
-            if (delta != 0 && !cctx.isNear())
-                cctx.cache().onIgfsDataSizeChanged(delta);
-        }
-
         this.val = val;
     }
 
-    /**
-     * Isolated method to get length of IGFS block.
-     *
-     * @param val Value.
-     * @param valBytes Value bytes.
-     * @return Length of value.
-     */
-    private int valueLength0(@Nullable CacheObject val, @Nullable IgniteBiTuple<byte[], Byte> valBytes) {
-        byte[] bytes = val != null ? (byte[])val.value(cctx.cacheObjectContext(), false) : null;
-
-        if (bytes != null)
-            return bytes.length;
-
-        if (valBytes == null)
-            return 0;
-
-        return valBytes.get1().length - (((valBytes.get2() == CacheObject.TYPE_BYTE_ARR) ? 0 : 6));
-    }
-
     /** {@inheritDoc} */
     @Override public int memorySize() throws IgniteCheckedException {
         byte[] kb;

http://git-wip-us.apache.org/repos/asf/ignite/blob/b721d73d/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 be22aed..57b0d84 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
@@ -2037,9 +2037,12 @@ public class GridCacheProcessor extends GridProcessorAdapter {
 
                 if (desc == null)
                     continue;
-                // requestId must be null because on different node will be different byte [] and we get duplicate discovery data
-                // see TcpDiscoveryNodeAddedMessage#addDiscoveryData 'Arrays.equals(curData, discoDataEntry.getValue())'
-                DynamicCacheChangeRequest req = new DynamicCacheChangeRequest(null, cache.name(), null);
+
+                // RequestId must be null because on different node will be different byte [] and
+                // we get duplicate discovery data, for more details see
+                // TcpDiscoveryNodeAddedMessage#addDiscoveryData.
+                DynamicCacheChangeRequest req = new DynamicCacheChangeRequest(
+                    null, cache.name(), null);
 
                 req.startCacheConfiguration(desc.cacheConfiguration());
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/b721d73d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java
index 76450fb..6aea247 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java
@@ -921,6 +921,8 @@ public class IgniteCacheOffheapManagerImpl extends GridCacheManagerAdapter imple
 
                 if (pendingEntries != null && expireTime != 0)
                     pendingEntries.put(new PendingRow(expireTime, dataRow.link()));
+
+                updateIgfsMetrics(key, (old != null ? old.value() : null), val);
             }
             finally {
                 busyLock.leaveBusy();
@@ -961,6 +963,8 @@ public class IgniteCacheOffheapManagerImpl extends GridCacheManagerAdapter imple
 
                 if (dataRow != null)
                     rowStore.removeRow(dataRow.link());
+
+                updateIgfsMetrics(key, (dataRow != null ? dataRow.value() : null), null);
             }
             finally {
                 busyLock.leaveBusy();
@@ -1029,6 +1033,50 @@ public class IgniteCacheOffheapManagerImpl extends GridCacheManagerAdapter imple
             storageSize.set(size);
             cntr.set(updCntr);
         }
+
+        /**
+         * @param key Key.
+         * @param oldVal Old value.
+         * @param newVal New value.
+         */
+        private void updateIgfsMetrics(
+            KeyCacheObject key,
+            CacheObject oldVal,
+            CacheObject newVal
+            ) throws IgniteCheckedException {
+            // In case we deal with IGFS cache, count updated data
+            if (cctx.cache().isIgfsDataCache() &&
+                !cctx.isNear() &&
+                cctx.kernalContext()
+                    .igfsHelper()
+                    .isIgfsBlockKey(key.value(cctx.cacheObjectContext(), false))) {
+                int oldSize = valueLength(oldVal);
+                int newSize = valueLength(newVal);
+
+                int delta = newSize - oldSize;
+
+                if (delta != 0)
+                    cctx.cache().onIgfsDataSizeChanged(delta);
+            }
+        }
+
+        /**
+         * Isolated method to get length of IGFS block.
+         *
+         * @param val Value.
+         * @return Length of value.
+         */
+        private int valueLength(@Nullable CacheObject val) {
+            if (val == null)
+                return 0;
+
+            byte[] bytes = val.value(cctx.cacheObjectContext(), false);
+
+            if (bytes != null)
+                return bytes.length;
+            else
+                return 0;
+        }
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/ignite/blob/b721d73d/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2TreeIndex.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2TreeIndex.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2TreeIndex.java
index 0f93f52..729309a 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2TreeIndex.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2TreeIndex.java
@@ -521,7 +521,7 @@ public class GridH2TreeIndex extends GridH2IndexBase implements Comparator<GridS
             else if (lower == null)
                 rows = tree.headMap(upper).values();
             else
-                rows = tree.subMap(lower, true, upper, true).values();
+                rows = tree.subMap(lower, false, upper, false).values();
 
             return new GridCursorIteratorWrapper<>(rows.iterator());
         }


[2/2] ignite git commit: Merge branch 'ignite-3477' of https://git-wip-us.apache.org/repos/asf/ignite into ignite-db-x

Posted by ag...@apache.org.
Merge branch 'ignite-3477' of https://git-wip-us.apache.org/repos/asf/ignite into ignite-db-x


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

Branch: refs/heads/ignite-3477
Commit: f8c7753395a6cf9c4948ebb32f1e0260e92d0915
Parents: b721d73d 7db65dd
Author: Alexey Goncharuk <al...@gmail.com>
Authored: Tue Jan 17 20:52:42 2017 +0300
Committer: Alexey Goncharuk <al...@gmail.com>
Committed: Tue Jan 17 20:52:42 2017 +0300

----------------------------------------------------------------------
 .../internal/binary/BinaryEnumObjectImpl.java   |   7 +
 .../internal/binary/BinaryObjectImpl.java       |   5 +
 .../binary/BinaryObjectOffheapImpl.java         |   5 +
 .../apache/ignite/internal/pagemem/Page.java    |  11 +-
 .../ignite/internal/pagemem/PageMemory.java     |   9 +-
 .../ignite/internal/pagemem/PageUtils.java      | 185 ++++++
 .../pagemem/impl/PageMemoryNoStoreImpl.java     | 134 ++--
 .../internal/pagemem/impl/PageNoStoreImpl.java  |  91 +--
 .../delta/DataPageInsertFragmentRecord.java     |   8 +-
 .../wal/record/delta/DataPageInsertRecord.java  |   8 +-
 .../wal/record/delta/DataPageRemoveRecord.java  |   8 +-
 .../delta/DataPageSetFreeListPageRecord.java    |   8 +-
 .../wal/record/delta/FixCountRecord.java        |   8 +-
 .../record/delta/FixLeftmostChildRecord.java    |   8 +-
 .../pagemem/wal/record/delta/FixRemoveId.java   |   8 +-
 .../wal/record/delta/InitNewPageRecord.java     |   8 +-
 .../wal/record/delta/InnerReplaceRecord.java    |   4 +-
 .../pagemem/wal/record/delta/InsertRecord.java  |   5 +-
 .../pagemem/wal/record/delta/MergeRecord.java   |   3 +-
 .../wal/record/delta/MetaPageAddRootRecord.java |   8 +-
 .../wal/record/delta/MetaPageCutRootRecord.java |   7 +-
 .../wal/record/delta/MetaPageInitRecord.java    |  14 +-
 .../record/delta/MetaPageInitRootRecord.java    |   9 +-
 .../delta/MetaPageUpdateLastAllocatedIndex.java |  10 +-
 ...aPageUpdateLastSuccessfulFullSnapshotId.java |   8 +-
 .../MetaPageUpdateLastSuccessfulSnapshotId.java |   8 +-
 .../delta/MetaPageUpdateNextSnapshotId.java     |   8 +-
 .../MetaPageUpdatePartitionDataRecord.java      |  12 +-
 .../wal/record/delta/NewRootInitRecord.java     |   6 +-
 .../wal/record/delta/PageDeltaRecord.java       |   7 +-
 .../delta/PageListMetaResetCountRecord.java     |   8 +-
 .../record/delta/PagesListAddPageRecord.java    |   8 +-
 .../delta/PagesListInitNewPageRecord.java       |  10 +-
 .../record/delta/PagesListRemovePageRecord.java |   8 +-
 .../record/delta/PagesListSetNextRecord.java    |   8 +-
 .../delta/PagesListSetPreviousRecord.java       |   8 +-
 .../pagemem/wal/record/delta/RecycleRecord.java |   6 +-
 .../pagemem/wal/record/delta/RemoveRecord.java  |  12 +-
 .../pagemem/wal/record/delta/ReplaceRecord.java |   7 +-
 .../record/delta/SplitExistingPageRecord.java   |   8 +-
 .../record/delta/SplitForwardPageRecord.java    |   3 +-
 .../record/delta/TrackingPageDeltaRecord.java   |  10 +-
 .../internal/processors/cache/CacheObject.java  |   7 +
 .../processors/cache/CacheObjectAdapter.java    |  40 +-
 .../cache/CacheObjectByteArrayImpl.java         |   5 +
 .../cache/IgniteCacheOffheapManagerImpl.java    | 372 +++++++----
 .../processors/cache/database/CacheDataRow.java |  13 +-
 .../cache/database/CacheDataRowAdapter.java     |  72 ++-
 .../cache/database/CacheSearchRow.java          |  40 ++
 .../cache/database/DataStructure.java           |  36 +-
 .../IgniteCacheDatabaseSharedManager.java       |   2 +-
 .../cache/database/MetadataStorage.java         | 149 +++--
 .../cache/database/freelist/FreeListImpl.java   |  61 +-
 .../cache/database/freelist/PagesList.java      | 212 +++----
 .../database/freelist/io/PagesListMetaIO.java   |  71 +--
 .../database/freelist/io/PagesListNodeIO.java   | 117 ++--
 .../cache/database/tree/BPlusTree.java          | 616 ++++++++++---------
 .../cache/database/tree/io/BPlusIO.java         | 201 +++---
 .../cache/database/tree/io/BPlusInnerIO.java    |  71 ++-
 .../cache/database/tree/io/BPlusLeafIO.java     |  11 +-
 .../cache/database/tree/io/BPlusMetaIO.java     |  79 +--
 .../cache/database/tree/io/CacheVersionIO.java  |  46 ++
 .../cache/database/tree/io/DataPageIO.java      | 545 ++++++++--------
 .../cache/database/tree/io/DataPagePayload.java |  64 ++
 .../cache/database/tree/io/IOVersions.java      |  12 +-
 .../cache/database/tree/io/PageIO.java          | 110 +++-
 .../cache/database/tree/io/PageMetaIO.java      | 118 ++--
 .../database/tree/io/PagePartitionMetaIO.java   |  67 +-
 .../database/tree/reuse/ReuseListImpl.java      |   2 +-
 .../cache/database/tree/util/PageHandler.java   | 135 ++--
 .../database/tree/util/PageLockListener.java    |  17 +-
 .../atomic/GridDhtAtomicSingleUpdateFuture.java |   3 +-
 .../atomic/GridNearAtomicUpdateResponse.java    |   3 +
 .../apache/ignite/internal/util/GridUnsafe.java |  12 +
 .../apache/ignite/internal/util/IgniteTree.java |  31 +-
 .../internal/GridAffinityNoCacheSelfTest.java   |   5 +
 .../pagemem/impl/PageMemoryNoLoadSelfTest.java  |  29 +-
 .../IgniteIncompleteCacheObjectSelfTest.java    |   5 +
 .../database/tree/io/TrackingPageIOTest.java    |  38 +-
 .../database/BPlusTreeReuseSelfTest.java        |  22 +-
 .../processors/database/BPlusTreeSelfTest.java  |  85 +--
 .../database/FreeListImplSelfTest.java          |  15 +-
 .../database/MetadataStorageSelfTest.java       |   2 +-
 .../internal/processors/query/h2/H2Cursor.java  |   9 +-
 .../processors/query/h2/database/H2Tree.java    |   5 +-
 .../query/h2/database/H2TreeIndex.java          |   5 +-
 .../query/h2/database/io/H2InnerIO.java         |  24 +-
 .../query/h2/database/io/H2LeafIO.java          |  22 +-
 .../query/h2/database/io/H2RowLinkIO.java       |   6 +-
 .../processors/query/h2/opt/GridH2Row.java      |   5 +
 .../query/IgniteSqlDistributedJoinSelfTest.java |  46 +-
 .../h2/GridIndexingSpiAbstractSelfTest.java     |   5 +
 .../IgniteDistributedJoinTestSuite.java         |   2 +-
 93 files changed, 2579 insertions(+), 1807 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/f8c77533/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java
----------------------------------------------------------------------