You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ja...@apache.org on 2022/01/18 07:41:44 UTC
[iotdb] 01/02: change self check
This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch AlignedReaderSelfCheck
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit fc0b91689b6e5c85177b79e19daecb7a141f2dfc
Author: JackieTien97 <ja...@gmail.com>
AuthorDate: Tue Jan 18 15:26:26 2022 +0800
change self check
---
.../java/org/apache/iotdb/tsfile/file/MetaMarker.java | 15 +++++++++++++++
.../apache/iotdb/tsfile/read/TsFileSequenceReader.java | 6 ++++--
2 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/MetaMarker.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/MetaMarker.java
index 2c45941..70d326d 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/MetaMarker.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/MetaMarker.java
@@ -19,6 +19,8 @@
package org.apache.iotdb.tsfile.file;
+import org.apache.iotdb.tsfile.common.constant.TsFileConstant;
+
import java.io.IOException;
/** MetaMarker denotes the type of headers and footers. Enum is not used for space saving. */
@@ -44,6 +46,19 @@ public class MetaMarker {
/** Chunk header marker and this chunk has only one page. */
public static final byte ONLY_ONE_PAGE_CHUNK_HEADER = 5;
+ /** Time Chunk header marker and this chunk has more than one page. */
+ public static final byte TIME_CHUNK_HEADER = (byte) (CHUNK_HEADER | TsFileConstant.TIME_COLUMN_MASK);
+
+ /** Value Chunk header marker and this chunk has more than one page. */
+ public static final byte VALUE_CHUNK_HEADER = (byte) (CHUNK_HEADER | TsFileConstant.VALUE_COLUMN_MASK);
+
+ /** Time Chunk header marker and this chunk has only one page. */
+ public static final byte ONLY_ONE_PAGE_TIME_CHUNK_HEADER = (byte) (ONLY_ONE_PAGE_CHUNK_HEADER | TsFileConstant.TIME_COLUMN_MASK);
+
+ /** Value Chunk header marker and this chunk has only one page. */
+ public static final byte ONLY_ONE_PAGE_VALUE_CHUNK_HEADER = (byte) (ONLY_ONE_PAGE_CHUNK_HEADER | TsFileConstant.VALUE_COLUMN_MASK);
+
+
private MetaMarker() {}
public static void handleUnexpectedMarker(byte marker) throws IOException {
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileSequenceReader.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileSequenceReader.java
index bd42af8..c504174 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileSequenceReader.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileSequenceReader.java
@@ -1252,9 +1252,11 @@ public class TsFileSequenceReader implements AutoCloseable {
while ((marker = this.readMarker()) != MetaMarker.SEPARATOR) {
switch (marker) {
case MetaMarker.CHUNK_HEADER:
+ case MetaMarker.TIME_CHUNK_HEADER:
+ case MetaMarker.VALUE_CHUNK_HEADER:
case MetaMarker.ONLY_ONE_PAGE_CHUNK_HEADER:
- case (byte) (MetaMarker.ONLY_ONE_PAGE_CHUNK_HEADER | 0x80):
- case (byte) (MetaMarker.ONLY_ONE_PAGE_CHUNK_HEADER | 0x40):
+ case MetaMarker.ONLY_ONE_PAGE_TIME_CHUNK_HEADER:
+ case MetaMarker.ONLY_ONE_PAGE_VALUE_CHUNK_HEADER:
fileOffsetOfChunk = this.position() - 1;
// if there is something wrong with a chunk, we will drop the whole ChunkGroup
// as different chunks may be created by the same insertions(sqls), and partial