You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ib...@apache.org on 2024/04/17 14:22:30 UTC

(ignite-3) branch main updated: IGNITE-22041 Correct inline size calculation for indexes (#3622)

This is an automated email from the ASF dual-hosted git repository.

ibessonov pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


The following commit(s) were added to refs/heads/main by this push:
     new 958b4a06fc IGNITE-22041 Correct inline size calculation for indexes (#3622)
958b4a06fc is described below

commit 958b4a06fc83c797194de84b7b21c64867351827
Author: Ivan Bessonov <be...@gmail.com>
AuthorDate: Wed Apr 17 17:22:24 2024 +0300

    IGNITE-22041 Correct inline size calculation for indexes (#3622)
---
 .../apache/ignite/internal/storage/pagememory/index/InlineUtils.java  | 2 ++
 .../internal/storage/pagememory/index/hash/io/HashIndexTreeIo.java    | 2 +-
 .../storage/pagememory/index/sorted/io/SortedIndexTreeIo.java         | 2 +-
 .../ignite/internal/storage/pagememory/index/InlineUtilsTest.java     | 4 ++--
 4 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/InlineUtils.java b/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/InlineUtils.java
index e6eb2f5e6e..515c1071ff 100644
--- a/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/InlineUtils.java
+++ b/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/InlineUtils.java
@@ -83,6 +83,8 @@ public class InlineUtils {
                 return Math.min(MAX_VARLEN_INLINE_SIZE, ((VarlenNativeType) nativeType).length());
 
             case DECIMAL:
+                return Short.BYTES + BIG_NUMBER_INLINE_SIZE;
+
             case NUMBER:
                 return BIG_NUMBER_INLINE_SIZE;
 
diff --git a/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/hash/io/HashIndexTreeIo.java b/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/hash/io/HashIndexTreeIo.java
index a6fe0fffb5..afba7d74f4 100644
--- a/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/hash/io/HashIndexTreeIo.java
+++ b/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/hash/io/HashIndexTreeIo.java
@@ -64,7 +64,7 @@ import org.apache.ignite.internal.storage.pagememory.index.hash.HashIndexRowKey;
 public interface HashIndexTreeIo {
     /** Item size without index columns in bytes. */
     int ITEM_SIZE_WITHOUT_COLUMNS = Integer.BYTES // Index columns hash.
-            + Short.SIZE // Inlined index columns size.
+            + Short.BYTES // Inlined index columns size.
             + PARTITIONLESS_LINK_SIZE_BYTES // Index columns link.
             + 2 * Long.BYTES; // Row ID.
 
diff --git a/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/sorted/io/SortedIndexTreeIo.java b/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/sorted/io/SortedIndexTreeIo.java
index 89bcbd92a8..f677d8aeb7 100644
--- a/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/sorted/io/SortedIndexTreeIo.java
+++ b/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/sorted/io/SortedIndexTreeIo.java
@@ -56,7 +56,7 @@ import org.apache.ignite.internal.storage.pagememory.index.sorted.SortedIndexRow
  */
 public interface SortedIndexTreeIo {
     /** Item size without index columns in bytes. */
-    int ITEM_SIZE_WITHOUT_COLUMNS = Short.SIZE // Inlined index columns size.
+    int ITEM_SIZE_WITHOUT_COLUMNS = Short.BYTES // Inlined index columns size.
             + PARTITIONLESS_LINK_SIZE_BYTES // Index columns link.
             + 2 * Long.BYTES; // Row ID.
 
diff --git a/modules/storage-page-memory/src/test/java/org/apache/ignite/internal/storage/pagememory/index/InlineUtilsTest.java b/modules/storage-page-memory/src/test/java/org/apache/ignite/internal/storage/pagememory/index/InlineUtilsTest.java
index ee9215584e..08060da9be 100644
--- a/modules/storage-page-memory/src/test/java/org/apache/ignite/internal/storage/pagememory/index/InlineUtilsTest.java
+++ b/modules/storage-page-memory/src/test/java/org/apache/ignite/internal/storage/pagememory/index/InlineUtilsTest.java
@@ -99,10 +99,10 @@ public class InlineUtilsTest extends BaseIgniteAbstractTest {
 
         // Variable length type checking.
 
-        assertEquals(BIG_NUMBER_INLINE_SIZE, inlineSize(nativeType = NativeTypes.decimalOf(1, 1)));
+        assertEquals(2 + BIG_NUMBER_INLINE_SIZE, inlineSize(nativeType = NativeTypes.decimalOf(1, 1)));
         nativeTypeSpecs.remove(nativeType.spec());
 
-        assertEquals(BIG_NUMBER_INLINE_SIZE, inlineSize(nativeType = NativeTypes.decimalOf(100, 1)));
+        assertEquals(2 + BIG_NUMBER_INLINE_SIZE, inlineSize(nativeType = NativeTypes.decimalOf(100, 1)));
         nativeTypeSpecs.remove(nativeType.spec());
 
         assertEquals(7, inlineSize(nativeType = NativeTypes.stringOf(7)));