This is an automated email from the ASF dual-hosted git repository. jackietien pushed a commit to branch NewTsFile in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit e84b33e88c80e517c376d2598c6751d1cb211451 Author: JackieTien97 <[email protected]> AuthorDate: Fri Nov 27 09:53:33 2020 +0800 debug --- .../iotdb/tsfile/file/header/ChunkGroupHeader.java | 10 ++++------ .../apache/iotdb/tsfile/file/header/ChunkHeader.java | 17 +++++++---------- .../iotdb/tsfile/file/metadata/TimeseriesMetadata.java | 4 ++-- .../org/apache/iotdb/tsfile/utils/ReadWriteIOUtils.java | 2 +- .../iotdb/tsfile/write/writer/TsFileIOWriter.java | 3 ++- 5 files changed, 16 insertions(+), 20 deletions(-) diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/header/ChunkGroupHeader.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/header/ChunkGroupHeader.java index 4b0a424..429a9b4 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/header/ChunkGroupHeader.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/header/ChunkGroupHeader.java @@ -25,6 +25,7 @@ import java.io.OutputStream; import org.apache.iotdb.tsfile.common.conf.TSFileConfig; import org.apache.iotdb.tsfile.file.MetaMarker; import org.apache.iotdb.tsfile.read.reader.TsFileInput; +import org.apache.iotdb.tsfile.utils.ReadWriteForEncodingUtils; import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils; public class ChunkGroupHeader { @@ -43,15 +44,12 @@ public class ChunkGroupHeader { */ public ChunkGroupHeader(String deviceID) { this.deviceID = deviceID; - this.serializedSize = Byte.BYTES + Integer.BYTES + deviceID.getBytes(TSFileConfig.STRING_CHARSET).length; + this.serializedSize = getSerializedSize(deviceID); } public static int getSerializedSize(String deviceID) { - return Byte.BYTES + Integer.BYTES + getSerializedSize(deviceID.length()); - } - - private static int getSerializedSize(int deviceIdLength) { - return deviceIdLength + Long.BYTES + Integer.BYTES; + int length = deviceID.getBytes(TSFileConfig.STRING_CHARSET).length; + return Byte.BYTES + ReadWriteForEncodingUtils.varIntSize(length) + length; } /** diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/header/ChunkHeader.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/header/ChunkHeader.java index 6f9beac..76c1813 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/header/ChunkHeader.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/header/ChunkHeader.java @@ -111,7 +111,7 @@ public class ChunkHeader { throws IOException { // read measurementID String measurementID = ReadWriteIOUtils.readVarIntString(inputStream); - int dataSize = ReadWriteForEncodingUtils.readVarInt(inputStream); + int dataSize = ReadWriteForEncodingUtils.readUnsignedVarInt(inputStream); TSDataType dataType = ReadWriteIOUtils.readDataType(inputStream); CompressionType type = ReadWriteIOUtils.readCompressionType(inputStream); TSEncoding encoding = ReadWriteIOUtils.readEncoding(inputStream); @@ -136,9 +136,8 @@ public class ChunkHeader { byte chunkType = buffer.get(); // read measurementID - int size = ReadWriteForEncodingUtils.readVarInt(buffer); - String measurementID = ReadWriteIOUtils.readStringWithLength(buffer, size); - int dataSize = ReadWriteForEncodingUtils.readVarInt(buffer); + String measurementID = ReadWriteIOUtils.readVarIntString(buffer); + int dataSize = ReadWriteForEncodingUtils.readUnsignedVarInt(buffer); TSDataType dataType = ReadWriteIOUtils.readDataType(buffer); CompressionType type = ReadWriteIOUtils.readCompressionType(buffer); TSEncoding encoding = ReadWriteIOUtils.readEncoding(buffer); @@ -174,10 +173,9 @@ public class ChunkHeader { public int serializeTo(OutputStream outputStream) throws IOException { int length = 0; length += ReadWriteIOUtils.write(chunkType, outputStream); - length += ReadWriteIOUtils.write(measurementID, outputStream); - length += ReadWriteIOUtils.write(dataSize, outputStream); + length += ReadWriteIOUtils.writeVar(measurementID, outputStream); + length += ReadWriteForEncodingUtils.writeUnsignedVarInt(dataSize, outputStream); length += ReadWriteIOUtils.write(dataType, outputStream); - length += ReadWriteIOUtils.write(numOfPages, outputStream); length += ReadWriteIOUtils.write(compressionType, outputStream); length += ReadWriteIOUtils.write(encodingType, outputStream); return length; @@ -192,10 +190,9 @@ public class ChunkHeader { public int serializeTo(ByteBuffer buffer) { int length = 0; length += ReadWriteIOUtils.write(chunkType, buffer); - length += ReadWriteIOUtils.write(measurementID, buffer); - length += ReadWriteIOUtils.write(dataSize, buffer); + length += ReadWriteIOUtils.writeVar(measurementID, buffer); + length += ReadWriteForEncodingUtils.writeUnsignedVarInt(dataSize, buffer); length += ReadWriteIOUtils.write(dataType, buffer); - length += ReadWriteIOUtils.write(numOfPages, buffer); length += ReadWriteIOUtils.write(compressionType, buffer); length += ReadWriteIOUtils.write(encodingType, buffer); return length; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/TimeseriesMetadata.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/TimeseriesMetadata.java index 99b89e0..4f93f17 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/TimeseriesMetadata.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/TimeseriesMetadata.java @@ -83,7 +83,7 @@ public class TimeseriesMetadata implements Accountable { public static TimeseriesMetadata deserializeFrom(ByteBuffer buffer) { TimeseriesMetadata timeseriesMetaData = new TimeseriesMetadata(); timeseriesMetaData.setTimeSeriesMetadataType(ReadWriteIOUtils.readByte(buffer)); - timeseriesMetaData.setMeasurementId(ReadWriteIOUtils.readString(buffer)); + timeseriesMetaData.setMeasurementId(ReadWriteIOUtils.readVarIntString(buffer)); timeseriesMetaData.setTSDataType(ReadWriteIOUtils.readDataType(buffer)); timeseriesMetaData.setOffsetOfChunkMetaDataList(ReadWriteIOUtils.readLong(buffer)); timeseriesMetaData @@ -102,7 +102,7 @@ public class TimeseriesMetadata implements Accountable { public int serializeTo(OutputStream outputStream) throws IOException { int byteLen = 0; byteLen += ReadWriteIOUtils.write(timeSeriesMetadataType, outputStream); - byteLen += ReadWriteIOUtils.write(measurementId, outputStream); + byteLen += ReadWriteIOUtils.writeVar(measurementId, outputStream); byteLen += ReadWriteIOUtils.write(dataType, outputStream); byteLen += ReadWriteIOUtils.write(startOffsetOfChunkMetaDataList, outputStream); byteLen += ReadWriteForEncodingUtils diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/utils/ReadWriteIOUtils.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/utils/ReadWriteIOUtils.java index a5b02de..31eb8c7 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/utils/ReadWriteIOUtils.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/utils/ReadWriteIOUtils.java @@ -365,7 +365,7 @@ public class ReadWriteIOUtils { } byte[] bytes = s.getBytes(); - len += write(bytes.length, outputStream); + len += ReadWriteForEncodingUtils.writeVarInt(bytes.length, outputStream); outputStream.write(bytes); len += bytes.length; return len; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/write/writer/TsFileIOWriter.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/write/writer/TsFileIOWriter.java index c7eefe0..292e620 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/write/writer/TsFileIOWriter.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/write/writer/TsFileIOWriter.java @@ -48,6 +48,7 @@ import org.apache.iotdb.tsfile.read.common.Path; import org.apache.iotdb.tsfile.utils.BytesUtils; import org.apache.iotdb.tsfile.utils.Pair; import org.apache.iotdb.tsfile.utils.PublicBAOS; +import org.apache.iotdb.tsfile.utils.ReadWriteForEncodingUtils; import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils; import org.apache.iotdb.tsfile.utils.VersionUtils; import org.apache.iotdb.tsfile.write.schema.MeasurementSchema; @@ -252,7 +253,7 @@ public class TsFileIOWriter { } // write TsFileMetaData size - ReadWriteIOUtils.write(size, out.wrapAsStream());// write the size of the file metadata. + ReadWriteForEncodingUtils.writeUnsignedVarInt(size, out.wrapAsStream());// write the size of the file metadata. // write magic string out.write(magicStringBytes);
