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

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


The following commit(s) were added to refs/heads/tiered_storage by this push:
     new 5683cc5746a fix
5683cc5746a is described below

commit 5683cc5746a7bb84f011fe00135a04f6220cc364
Author: HeimingZ <[email protected]>
AuthorDate: Tue May 23 21:22:16 2023 +0800

    fix
---
 .../main/java/org/apache/iotdb/db/conf/directories/TierManager.java   | 4 ++++
 .../java/org/apache/iotdb/db/engine/migration/LocalMigrationTask.java | 4 +++-
 .../main/java/org/apache/iotdb/db/engine/migration/MigrationTask.java | 1 +
 .../java/org/apache/iotdb/db/engine/storagegroup/TsFileResource.java  | 4 ++++
 4 files changed, 12 insertions(+), 1 deletion(-)

diff --git 
a/server/src/main/java/org/apache/iotdb/db/conf/directories/TierManager.java 
b/server/src/main/java/org/apache/iotdb/db/conf/directories/TierManager.java
index 32b8e8aea94..7c3335910b8 100644
--- a/server/src/main/java/org/apache/iotdb/db/conf/directories/TierManager.java
+++ b/server/src/main/java/org/apache/iotdb/db/conf/directories/TierManager.java
@@ -206,6 +206,10 @@ public class TierManager {
   }
 
   public int getFileTierLevel(File file) {
+    if (!file.exists()) {
+      return getTiersNum() - 1;
+    }
+
     String filePath;
     try {
       filePath = file.getCanonicalPath();
diff --git 
a/server/src/main/java/org/apache/iotdb/db/engine/migration/LocalMigrationTask.java
 
b/server/src/main/java/org/apache/iotdb/db/engine/migration/LocalMigrationTask.java
index 347452e26ed..7746007fb0c 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/engine/migration/LocalMigrationTask.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/engine/migration/LocalMigrationTask.java
@@ -51,7 +51,9 @@ public class LocalMigrationTask extends MigrationTask {
     tsFile.writeLock();
     try {
       tsFile.resetModFile();
-      fsFactory.copyFile(srcModsFile, destModsFile);
+      if (srcModsFile.exists()) {
+        fsFactory.copyFile(srcModsFile, destModsFile);
+      }
       tsFile.setFile(destTsFile);
     } catch (IOException e) {
       logger.error("Fail to copy mods file {}", srcModsFile);
diff --git 
a/server/src/main/java/org/apache/iotdb/db/engine/migration/MigrationTask.java 
b/server/src/main/java/org/apache/iotdb/db/engine/migration/MigrationTask.java
index 36766750832..8bdfc751256 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/engine/migration/MigrationTask.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/engine/migration/MigrationTask.java
@@ -71,6 +71,7 @@ public abstract class MigrationTask implements Runnable {
   @Override
   public void run() {
     migrate();
+    tsFile.increaseTierLevel();
     tsFile.setIsMigrating(false);
   }
 
diff --git 
a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileResource.java
 
b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileResource.java
index 9f2fcf3320f..b7536902ccc 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileResource.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileResource.java
@@ -391,6 +391,10 @@ public class TsFileResource {
     return file.getPath();
   }
 
+  public void increaseTierLevel() {
+    this.tierLevel++;
+  }
+
   public int getTierLevel() {
     return tierLevel;
   }

Reply via email to