未验证 提交 954e682f 编写于 作者: X Xiangwei Wei 提交者: GitHub

[IOTDB-5309] Wrong calculation for retained size of tsblock calculate

上级 3b770954
......@@ -30,7 +30,6 @@ import org.openjdk.jol.info.ClassLayout;
import java.util.Arrays;
import java.util.Iterator;
import static io.airlift.slice.SizeOf.sizeOf;
import static java.lang.String.format;
import static java.util.Objects.requireNonNull;
......@@ -471,7 +470,7 @@ public class TsBlock {
}
private long updateRetainedSize() {
long retainedSizeInBytes = INSTANCE_SIZE + sizeOf(valueColumns);
long retainedSizeInBytes = INSTANCE_SIZE;
retainedSizeInBytes += timeColumn.getRetainedSizeInBytes();
for (Column column : valueColumns) {
retainedSizeInBytes += column.getRetainedSizeInBytes();
......
......@@ -27,7 +27,8 @@ import org.openjdk.jol.info.ClassLayout;
import java.util.Arrays;
import java.util.Optional;
import static io.airlift.slice.SizeOf.sizeOf;
import static io.airlift.slice.SizeOf.sizeOfBooleanArray;
import static io.airlift.slice.SizeOf.sizeOfObjectArray;
import static org.apache.iotdb.tsfile.read.common.block.column.ColumnUtil.checkValidRegion;
public class BinaryColumn implements Column {
......@@ -67,7 +68,8 @@ public class BinaryColumn implements Column {
this.valueIsNull = valueIsNull;
// TODO we need to sum up all the Binary's retainedSize here
retainedSizeInBytes = INSTANCE_SIZE + sizeOf(valueIsNull) + sizeOf(values);
retainedSizeInBytes =
INSTANCE_SIZE + sizeOfBooleanArray(positionCount) + sizeOfObjectArray(positionCount);
}
@Override
......
......@@ -26,7 +26,7 @@ import org.openjdk.jol.info.ClassLayout;
import java.util.Arrays;
import java.util.Optional;
import static io.airlift.slice.SizeOf.sizeOf;
import static io.airlift.slice.SizeOf.sizeOfBooleanArray;
import static org.apache.iotdb.tsfile.read.common.block.column.ColumnUtil.checkValidRegion;
public class BooleanColumn implements Column {
......@@ -66,7 +66,8 @@ public class BooleanColumn implements Column {
}
this.valueIsNull = valueIsNull;
retainedSizeInBytes = (INSTANCE_SIZE + sizeOf(valueIsNull) + sizeOf(values));
retainedSizeInBytes =
INSTANCE_SIZE + sizeOfBooleanArray(positionCount) + sizeOfBooleanArray(positionCount);
}
@Override
......
......@@ -26,7 +26,8 @@ import org.openjdk.jol.info.ClassLayout;
import java.util.Arrays;
import java.util.Optional;
import static io.airlift.slice.SizeOf.sizeOf;
import static io.airlift.slice.SizeOf.sizeOfBooleanArray;
import static io.airlift.slice.SizeOf.sizeOfDoubleArray;
import static org.apache.iotdb.tsfile.read.common.block.column.ColumnUtil.checkValidRegion;
public class DoubleColumn implements Column {
......@@ -66,7 +67,8 @@ public class DoubleColumn implements Column {
}
this.valueIsNull = valueIsNull;
retainedSizeInBytes = (INSTANCE_SIZE + sizeOf(valueIsNull) + sizeOf(values));
retainedSizeInBytes =
INSTANCE_SIZE + sizeOfBooleanArray(positionCount) + sizeOfDoubleArray(positionCount);
}
@Override
......
......@@ -26,7 +26,8 @@ import org.openjdk.jol.info.ClassLayout;
import java.util.Arrays;
import java.util.Optional;
import static io.airlift.slice.SizeOf.sizeOf;
import static io.airlift.slice.SizeOf.sizeOfBooleanArray;
import static io.airlift.slice.SizeOf.sizeOfFloatArray;
import static org.apache.iotdb.tsfile.read.common.block.column.ColumnUtil.checkValidRegion;
public class FloatColumn implements Column {
......@@ -65,7 +66,8 @@ public class FloatColumn implements Column {
}
this.valueIsNull = valueIsNull;
retainedSizeInBytes = (INSTANCE_SIZE + sizeOf(valueIsNull) + sizeOf(values));
retainedSizeInBytes =
INSTANCE_SIZE + sizeOfFloatArray(positionCount) + sizeOfBooleanArray(positionCount);
}
@Override
......
......@@ -26,7 +26,8 @@ import org.openjdk.jol.info.ClassLayout;
import java.util.Arrays;
import java.util.Optional;
import static io.airlift.slice.SizeOf.sizeOf;
import static io.airlift.slice.SizeOf.sizeOfBooleanArray;
import static io.airlift.slice.SizeOf.sizeOfIntArray;
import static org.apache.iotdb.tsfile.read.common.block.column.ColumnUtil.checkValidRegion;
public class IntColumn implements Column {
......@@ -65,7 +66,8 @@ public class IntColumn implements Column {
}
this.valueIsNull = valueIsNull;
retainedSizeInBytes = INSTANCE_SIZE + sizeOf(valueIsNull) + sizeOf(values);
retainedSizeInBytes =
INSTANCE_SIZE + sizeOfIntArray(positionCount) + sizeOfBooleanArray(positionCount);
}
@Override
......
......@@ -26,7 +26,8 @@ import org.openjdk.jol.info.ClassLayout;
import java.util.Arrays;
import java.util.Optional;
import static io.airlift.slice.SizeOf.sizeOf;
import static io.airlift.slice.SizeOf.sizeOfBooleanArray;
import static io.airlift.slice.SizeOf.sizeOfLongArray;
import static org.apache.iotdb.tsfile.read.common.block.column.ColumnUtil.checkValidRegion;
public class LongColumn implements Column {
......@@ -65,7 +66,8 @@ public class LongColumn implements Column {
}
this.valueIsNull = valueIsNull;
retainedSizeInBytes = INSTANCE_SIZE + sizeOf(valueIsNull) + sizeOf(values);
retainedSizeInBytes =
INSTANCE_SIZE + sizeOfLongArray(positionCount) + sizeOfBooleanArray(positionCount);
}
@Override
......
......@@ -22,7 +22,7 @@ import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
import org.openjdk.jol.info.ClassLayout;
import static io.airlift.slice.SizeOf.sizeOf;
import static io.airlift.slice.SizeOf.sizeOfLongArray;
import static org.apache.iotdb.tsfile.read.common.block.column.ColumnUtil.checkValidRegion;
public class TimeColumn implements Column {
......@@ -56,7 +56,7 @@ public class TimeColumn implements Column {
}
this.values = values;
retainedSizeInBytes = INSTANCE_SIZE + sizeOf(values);
retainedSizeInBytes = INSTANCE_SIZE + sizeOfLongArray(positionCount);
}
@Override
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册