You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ca...@apache.org on 2023/03/26 12:03:25 UTC

[iotdb] branch beyyes/trino updated: fix ClassLayout int long problem

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

caogaofei pushed a commit to branch beyyes/trino
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/beyyes/trino by this push:
     new 901616ca93 fix ClassLayout int long problem
901616ca93 is described below

commit 901616ca93130b4d780c71ae96dfb724632dcea4
Author: Beyyes <cg...@foxmail.com>
AuthorDate: Sun Mar 26 20:03:09 2023 +0800

    fix ClassLayout int long problem
---
 pom.xml                                                             | 2 +-
 .../java/org/apache/iotdb/tsfile/read/common/block/TsBlock.java     | 6 +++---
 .../apache/iotdb/tsfile/read/common/block/column/BinaryColumn.java  | 4 ++--
 .../iotdb/tsfile/read/common/block/column/BinaryColumnBuilder.java  | 2 +-
 .../apache/iotdb/tsfile/read/common/block/column/BooleanColumn.java | 4 ++--
 .../iotdb/tsfile/read/common/block/column/BooleanColumnBuilder.java | 2 +-
 .../org/apache/iotdb/tsfile/read/common/block/column/Column.java    | 2 +-
 .../iotdb/tsfile/read/common/block/column/ColumnBuilderStatus.java  | 4 ++--
 .../apache/iotdb/tsfile/read/common/block/column/DoubleColumn.java  | 4 ++--
 .../iotdb/tsfile/read/common/block/column/DoubleColumnBuilder.java  | 2 +-
 .../apache/iotdb/tsfile/read/common/block/column/FloatColumn.java   | 5 +++--
 .../iotdb/tsfile/read/common/block/column/FloatColumnBuilder.java   | 2 +-
 .../org/apache/iotdb/tsfile/read/common/block/column/IntColumn.java | 4 ++--
 .../iotdb/tsfile/read/common/block/column/IntColumnBuilder.java     | 2 +-
 .../apache/iotdb/tsfile/read/common/block/column/LongColumn.java    | 4 ++--
 .../iotdb/tsfile/read/common/block/column/LongColumnBuilder.java    | 2 +-
 .../apache/iotdb/tsfile/read/common/block/column/NullColumn.java    | 4 ++--
 .../tsfile/read/common/block/column/RunLengthEncodedColumn.java     | 4 ++--
 .../apache/iotdb/tsfile/read/common/block/column/TimeColumn.java    | 4 ++--
 .../iotdb/tsfile/read/common/block/column/TimeColumnBuilder.java    | 2 +-
 20 files changed, 33 insertions(+), 32 deletions(-)

diff --git a/pom.xml b/pom.xml
index df3af3be8a..434e6539fe 100644
--- a/pom.xml
+++ b/pom.xml
@@ -212,7 +212,7 @@
         jol v0.4: time cost is 980ms,
         jol v0.14, time cost is 1600ms
         -->
-        <jol-core.version>0.2</jol-core.version>
+        <jol-core.version>0.16</jol-core.version>
         <jackson-core-asl.version>1.9.13</jackson-core-asl.version>
         <mqtt-client.version>1.12</mqtt-client.version>
         <google.code.findbugs.jsr305.version>3.0.2</google.code.findbugs.jsr305.version>
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlock.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlock.java
index 9f37f4b780..1f4838a4b8 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlock.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlock.java
@@ -40,7 +40,7 @@ import static java.util.Objects.requireNonNull;
  */
 public class TsBlock {
 
-  public static final int INSTANCE_SIZE = ClassLayout.parseClass(TsBlock.class).instanceSize();
+  public static final long INSTANCE_SIZE = ClassLayout.parseClass(TsBlock.class).instanceSize();
 
   private static final Column[] EMPTY_COLUMNS = new Column[0];
 
@@ -479,8 +479,8 @@ public class TsBlock {
     return retainedSizeInBytes;
   }
 
-  public int getTotalInstanceSize() {
-    int totalInstanceSize = INSTANCE_SIZE;
+  public long getTotalInstanceSize() {
+    long totalInstanceSize = INSTANCE_SIZE;
     totalInstanceSize += timeColumn.getInstanceSize();
     for (Column column : valueColumns) {
       totalInstanceSize += column.getInstanceSize();
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BinaryColumn.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BinaryColumn.java
index 0aa80cff18..0ac254237e 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BinaryColumn.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BinaryColumn.java
@@ -33,7 +33,7 @@ import static org.apache.iotdb.tsfile.read.common.block.column.ColumnUtil.checkV
 
 public class BinaryColumn implements Column {
 
-  private static final int INSTANCE_SIZE =
+  private static final long INSTANCE_SIZE =
       ClassLayout.parseClass(BinaryColumn.class).instanceSize();
 
   private final int arrayOffset;
@@ -164,7 +164,7 @@ public class BinaryColumn implements Column {
   }
 
   @Override
-  public int getInstanceSize() {
+  public long getInstanceSize() {
     return INSTANCE_SIZE;
   }
 }
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BinaryColumnBuilder.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BinaryColumnBuilder.java
index ad1e05ac61..15b48aa53e 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BinaryColumnBuilder.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BinaryColumnBuilder.java
@@ -33,7 +33,7 @@ import static org.apache.iotdb.tsfile.read.common.block.column.ColumnUtil.calcul
 
 public class BinaryColumnBuilder implements ColumnBuilder {
 
-  private static final int INSTANCE_SIZE =
+  private static final long INSTANCE_SIZE =
       ClassLayout.parseClass(BinaryColumnBuilder.class).instanceSize();
 
   private final ColumnBuilderStatus columnBuilderStatus;
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BooleanColumn.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BooleanColumn.java
index 39995db4e1..74f5a38fb3 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BooleanColumn.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BooleanColumn.java
@@ -31,7 +31,7 @@ import static org.apache.iotdb.tsfile.read.common.block.column.ColumnUtil.checkV
 
 public class BooleanColumn implements Column {
 
-  private static final int INSTANCE_SIZE =
+  private static final long INSTANCE_SIZE =
       ClassLayout.parseClass(BooleanColumn.class).instanceSize();
   public static final int SIZE_IN_BYTES_PER_POSITION = Byte.BYTES + Byte.BYTES;
 
@@ -162,7 +162,7 @@ public class BooleanColumn implements Column {
   }
 
   @Override
-  public int getInstanceSize() {
+  public long getInstanceSize() {
     return INSTANCE_SIZE;
   }
 }
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BooleanColumnBuilder.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BooleanColumnBuilder.java
index ba40884023..c79384cf61 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BooleanColumnBuilder.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BooleanColumnBuilder.java
@@ -32,7 +32,7 @@ import static org.apache.iotdb.tsfile.read.common.block.column.ColumnUtil.calcul
 
 public class BooleanColumnBuilder implements ColumnBuilder {
 
-  private static final int INSTANCE_SIZE =
+  private static final long INSTANCE_SIZE =
       ClassLayout.parseClass(BooleanColumnBuilder.class).instanceSize();
   public static final BooleanColumn NULL_VALUE_BLOCK =
       new BooleanColumn(0, 1, new boolean[] {true}, new boolean[1]);
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/Column.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/Column.java
index 203ea58b25..5c9fd5d45d 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/Column.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/Column.java
@@ -150,5 +150,5 @@ public interface Column {
   /** reverse the column */
   void reverse();
 
-  int getInstanceSize();
+  long getInstanceSize();
 }
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/ColumnBuilderStatus.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/ColumnBuilderStatus.java
index a5acc2e04a..84bc4e6d2c 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/ColumnBuilderStatus.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/ColumnBuilderStatus.java
@@ -58,7 +58,7 @@ public class ColumnBuilderStatus {
   /**
    * Computes the size of an instance of this class assuming that all reference fields are non-null
    */
-  private static int deepInstanceSize(Class<?> clazz) {
+  private static long deepInstanceSize(Class<?> clazz) {
     if (clazz.isArray()) {
       throw new IllegalArgumentException(
           format(
@@ -77,7 +77,7 @@ public class ColumnBuilderStatus {
               clazz.getSimpleName(), clazz.getSuperclass().getSimpleName()));
     }
 
-    int size = ClassLayout.parseClass(clazz).instanceSize();
+    long size = ClassLayout.parseClass(clazz).instanceSize();
     for (Field field : clazz.getDeclaredFields()) {
       // if the field is not static and is a reference field and it's not synthetic
       if (!Modifier.isStatic(field.getModifiers())
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/DoubleColumn.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/DoubleColumn.java
index c7966f1653..f17d3393ba 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/DoubleColumn.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/DoubleColumn.java
@@ -32,7 +32,7 @@ import static org.apache.iotdb.tsfile.read.common.block.column.ColumnUtil.checkV
 
 public class DoubleColumn implements Column {
 
-  private static final int INSTANCE_SIZE =
+  private static final long INSTANCE_SIZE =
       ClassLayout.parseClass(DoubleColumn.class).instanceSize();
   public static final int SIZE_IN_BYTES_PER_POSITION = Double.BYTES + Byte.BYTES;
 
@@ -163,7 +163,7 @@ public class DoubleColumn implements Column {
   }
 
   @Override
-  public int getInstanceSize() {
+  public long getInstanceSize() {
     return INSTANCE_SIZE;
   }
 }
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/DoubleColumnBuilder.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/DoubleColumnBuilder.java
index 78f9faa068..78b95b5860 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/DoubleColumnBuilder.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/DoubleColumnBuilder.java
@@ -32,7 +32,7 @@ import static org.apache.iotdb.tsfile.read.common.block.column.ColumnUtil.calcul
 
 public class DoubleColumnBuilder implements ColumnBuilder {
 
-  private static final int INSTANCE_SIZE =
+  private static final long INSTANCE_SIZE =
       ClassLayout.parseClass(DoubleColumnBuilder.class).instanceSize();
   public static final DoubleColumn NULL_VALUE_BLOCK =
       new DoubleColumn(0, 1, new boolean[] {true}, new double[1]);
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/FloatColumn.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/FloatColumn.java
index cd96c17812..4fd91e7941 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/FloatColumn.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/FloatColumn.java
@@ -32,7 +32,8 @@ import static org.apache.iotdb.tsfile.read.common.block.column.ColumnUtil.checkV
 
 public class FloatColumn implements Column {
 
-  private static final int INSTANCE_SIZE = ClassLayout.parseClass(FloatColumn.class).instanceSize();
+  private static final long INSTANCE_SIZE =
+      ClassLayout.parseClass(FloatColumn.class).instanceSize();
   public static final int SIZE_IN_BYTES_PER_POSITION = Float.BYTES + Byte.BYTES;
 
   private final int arrayOffset;
@@ -161,7 +162,7 @@ public class FloatColumn implements Column {
   }
 
   @Override
-  public int getInstanceSize() {
+  public long getInstanceSize() {
     return INSTANCE_SIZE;
   }
 }
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/FloatColumnBuilder.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/FloatColumnBuilder.java
index c5f97b77fc..0a3537e4e0 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/FloatColumnBuilder.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/FloatColumnBuilder.java
@@ -32,7 +32,7 @@ import static org.apache.iotdb.tsfile.read.common.block.column.ColumnUtil.calcul
 
 public class FloatColumnBuilder implements ColumnBuilder {
 
-  private static final int INSTANCE_SIZE =
+  private static final long INSTANCE_SIZE =
       ClassLayout.parseClass(FloatColumnBuilder.class).instanceSize();
   public static final FloatColumn NULL_VALUE_BLOCK =
       new FloatColumn(0, 1, new boolean[] {true}, new float[1]);
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/IntColumn.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/IntColumn.java
index b0ac59aef5..a2a0bc9eeb 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/IntColumn.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/IntColumn.java
@@ -32,7 +32,7 @@ import static org.apache.iotdb.tsfile.read.common.block.column.ColumnUtil.checkV
 
 public class IntColumn implements Column {
 
-  private static final int INSTANCE_SIZE = ClassLayout.parseClass(IntColumn.class).instanceSize();
+  private static final long INSTANCE_SIZE = ClassLayout.parseClass(IntColumn.class).instanceSize();
   public static final int SIZE_IN_BYTES_PER_POSITION = Integer.BYTES + Byte.BYTES;
 
   private final int arrayOffset;
@@ -161,7 +161,7 @@ public class IntColumn implements Column {
   }
 
   @Override
-  public int getInstanceSize() {
+  public long getInstanceSize() {
     return INSTANCE_SIZE;
   }
 }
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/IntColumnBuilder.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/IntColumnBuilder.java
index 00e6863cea..33846845f2 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/IntColumnBuilder.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/IntColumnBuilder.java
@@ -32,7 +32,7 @@ import static org.apache.iotdb.tsfile.read.common.block.column.ColumnUtil.calcul
 
 public class IntColumnBuilder implements ColumnBuilder {
 
-  private static final int INSTANCE_SIZE =
+  private static final long INSTANCE_SIZE =
       ClassLayout.parseClass(IntColumnBuilder.class).instanceSize();
   public static final IntColumn NULL_VALUE_BLOCK =
       new IntColumn(0, 1, new boolean[] {true}, new int[1]);
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/LongColumn.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/LongColumn.java
index cf7e64da5d..27d8034861 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/LongColumn.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/LongColumn.java
@@ -32,7 +32,7 @@ import static org.apache.iotdb.tsfile.read.common.block.column.ColumnUtil.checkV
 
 public class LongColumn implements Column {
 
-  private static final int INSTANCE_SIZE = ClassLayout.parseClass(LongColumn.class).instanceSize();
+  private static final long INSTANCE_SIZE = ClassLayout.parseClass(LongColumn.class).instanceSize();
   public static final int SIZE_IN_BYTES_PER_POSITION = Long.BYTES + Byte.BYTES;
 
   private final int arrayOffset;
@@ -161,7 +161,7 @@ public class LongColumn implements Column {
   }
 
   @Override
-  public int getInstanceSize() {
+  public long getInstanceSize() {
     return INSTANCE_SIZE;
   }
 }
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/LongColumnBuilder.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/LongColumnBuilder.java
index 5f0037f688..6b58c97411 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/LongColumnBuilder.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/LongColumnBuilder.java
@@ -32,7 +32,7 @@ import static org.apache.iotdb.tsfile.read.common.block.column.ColumnUtil.calcul
 
 public class LongColumnBuilder implements ColumnBuilder {
 
-  private static final int INSTANCE_SIZE =
+  private static final long INSTANCE_SIZE =
       ClassLayout.parseClass(LongColumnBuilder.class).instanceSize();
   public static final LongColumn NULL_VALUE_BLOCK =
       new LongColumn(0, 1, new boolean[] {true}, new long[1]);
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/NullColumn.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/NullColumn.java
index b50bc77a2f..6b6f2708bd 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/NullColumn.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/NullColumn.java
@@ -31,7 +31,7 @@ import static org.apache.iotdb.tsfile.read.common.block.column.ColumnUtil.checkV
  */
 public class NullColumn implements Column {
 
-  private static final int INSTANCE_SIZE =
+  private static final long INSTANCE_SIZE =
       ClassLayout.parseClass(BooleanColumn.class).instanceSize();
 
   private final int positionCount;
@@ -119,7 +119,7 @@ public class NullColumn implements Column {
   }
 
   @Override
-  public int getInstanceSize() {
+  public long getInstanceSize() {
     return INSTANCE_SIZE;
   }
 }
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/RunLengthEncodedColumn.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/RunLengthEncodedColumn.java
index 54174d4776..2744a7fe86 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/RunLengthEncodedColumn.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/RunLengthEncodedColumn.java
@@ -32,7 +32,7 @@ import static org.apache.iotdb.tsfile.read.common.block.column.ColumnUtil.checkV
 
 public class RunLengthEncodedColumn implements Column {
 
-  private static final int INSTANCE_SIZE =
+  private static final long INSTANCE_SIZE =
       ClassLayout.parseClass(RunLengthEncodedColumn.class).instanceSize();
 
   private final Column value;
@@ -210,7 +210,7 @@ public class RunLengthEncodedColumn implements Column {
   }
 
   @Override
-  public int getInstanceSize() {
+  public long getInstanceSize() {
     return INSTANCE_SIZE;
   }
 }
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/TimeColumn.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/TimeColumn.java
index 6c591d792c..66bcf3ba01 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/TimeColumn.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/TimeColumn.java
@@ -144,7 +144,7 @@ public class TimeColumn implements Column {
   }
 
   @Override
-  public int getInstanceSize() {
-    return (int) INSTANCE_SIZE;
+  public long getInstanceSize() {
+    return INSTANCE_SIZE;
   }
 }
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/TimeColumnBuilder.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/TimeColumnBuilder.java
index 59157916be..0ce2896b1f 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/TimeColumnBuilder.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/TimeColumnBuilder.java
@@ -31,7 +31,7 @@ import static org.apache.iotdb.tsfile.read.common.block.column.ColumnUtil.calcul
 
 public class TimeColumnBuilder implements ColumnBuilder {
 
-  private static final int INSTANCE_SIZE =
+  private static final long INSTANCE_SIZE =
       ClassLayout.parseClass(TimeColumnBuilder.class).instanceSize();
 
   private final ColumnBuilderStatus columnBuilderStatus;