You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ha...@apache.org on 2021/05/13 03:36:53 UTC

[iotdb] branch upgrade_bug2 created (now dc2ba9e)

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

haonan pushed a change to branch upgrade_bug2
in repository https://gitbox.apache.org/repos/asf/iotdb.git.


      at dc2ba9e  [To rel/0.12] fix versionInfo npe when query 0.11 tsfile during upgrading

This branch includes the following new commits:

     new dc2ba9e  [To rel/0.12] fix versionInfo npe when query 0.11 tsfile during upgrading

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


[iotdb] 01/01: [To rel/0.12] fix versionInfo npe when query 0.11 tsfile during upgrading

Posted by ha...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

haonan pushed a commit to branch upgrade_bug2
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit dc2ba9ea027c64652fae97f031cb31116eb09f9c
Author: HTHou <hh...@outlook.com>
AuthorDate: Thu May 13 11:36:14 2021 +0800

    [To rel/0.12] fix versionInfo npe when query 0.11 tsfile during upgrading
---
 .../org/apache/iotdb/tsfile/v2/file/metadata/TsFileMetadataV2.java   | 5 ++++-
 .../org/apache/iotdb/tsfile/v2/read/TsFileSequenceReaderForV2.java   | 3 +--
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/v2/file/metadata/TsFileMetadataV2.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/v2/file/metadata/TsFileMetadataV2.java
index 9825a5c..44aa0f1 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/v2/file/metadata/TsFileMetadataV2.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/v2/file/metadata/TsFileMetadataV2.java
@@ -24,6 +24,7 @@ import org.apache.iotdb.tsfile.utils.Pair;
 import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils;
 
 import java.nio.ByteBuffer;
+import java.util.ArrayList;
 import java.util.List;
 
 public class TsFileMetadataV2 {
@@ -40,6 +41,7 @@ public class TsFileMetadataV2 {
       ByteBuffer buffer, List<Pair<Long, Long>> versionInfo) {
     TsFileMetadata fileMetaData = new TsFileMetadata();
 
+    List<Pair<Long, Long>> tmpVersionInfo = new ArrayList<>();
     // metadataIndex
     fileMetaData.setMetadataIndex(MetadataIndexNodeV2.deserializeFrom(buffer));
     // totalChunkNum
@@ -52,9 +54,10 @@ public class TsFileMetadataV2 {
     for (int i = 0; i < versionSize; i++) {
       long versionPos = ReadWriteIOUtils.readLong(buffer);
       long version = ReadWriteIOUtils.readLong(buffer);
-      versionInfo.add(new Pair<>(versionPos, version));
+      tmpVersionInfo.add(new Pair<>(versionPos, version));
     }
 
+    versionInfo = tmpVersionInfo;
     // metaOffset
     long metaOffset = ReadWriteIOUtils.readLong(buffer);
     fileMetaData.setMetaOffset(metaOffset);
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/v2/read/TsFileSequenceReaderForV2.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/v2/read/TsFileSequenceReaderForV2.java
index 2541e83..b31b09f 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/v2/read/TsFileSequenceReaderForV2.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/v2/read/TsFileSequenceReaderForV2.java
@@ -145,8 +145,7 @@ public class TsFileSequenceReaderForV2 extends TsFileSequenceReader implements A
    */
   @Override
   public TsFileMetadata readFileMetadata() throws IOException {
-    if (tsFileMetaData == null) {
-      versionInfo = new ArrayList<>();
+    if (tsFileMetaData == null || versionInfo == null) {
       tsFileMetaData =
           TsFileMetadataV2.deserializeFrom(
               readData(fileMetadataPos, fileMetadataSize), versionInfo);