From 9bf6ecca485df6f9888ae8719197ce8481d5d682 Mon Sep 17 00:00:00 2001 From: Mingyu Chen Date: Fri, 12 May 2023 11:02:55 +0800 Subject: [PATCH] [minor](log) change debug log to info to observe the storage medium change #19529 When user set default_storage_medium to true, the storage medium of all partitions should be SSD, and cooldown time should be 9999-12-31 23:59:59. So that it won't change to HDD. But looks like sometimes it still change to HDD. So I change the debug log to info to observer it. --- .../java/org/apache/doris/catalog/DataProperty.java | 13 +++++++++++-- .../src/main/java/org/apache/doris/catalog/Env.java | 6 ++++-- .../org/apache/doris/catalog/PartitionInfo.java | 4 ++-- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/DataProperty.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/DataProperty.java index f23b0fff7a..6137af9424 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/DataProperty.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/DataProperty.java @@ -35,10 +35,12 @@ import java.io.IOException; import java.util.Objects; public class DataProperty implements Writable, GsonPostProcessable { - public static final TStorageMedium DEFAULT_STORAGE_MEDIUM = - "SSD".equalsIgnoreCase(Config.default_storage_medium) ? TStorageMedium.SSD : TStorageMedium.HDD; + public static final TStorageMedium DEFAULT_STORAGE_MEDIUM = "SSD".equalsIgnoreCase(Config.default_storage_medium) + ? TStorageMedium.SSD : TStorageMedium.HDD; public static final long MAX_COOLDOWN_TIME_MS = 253402271999000L; // 9999-12-31 23:59:59 + public static final DataProperty DEFAULT_HDD_DATA_PROPERTY = new DataProperty(TStorageMedium.HDD); + @SerializedName(value = "storageMedium") private TStorageMedium storageMedium; @SerializedName(value = "cooldownTimeMs") @@ -58,6 +60,13 @@ public class DataProperty implements Writable, GsonPostProcessable { this.storagePolicy = ""; } + public DataProperty(DataProperty other) { + this.storageMedium = other.storageMedium; + this.cooldownTimeMs = other.cooldownTimeMs; + this.storagePolicy = other.storagePolicy; + this.isMutable = other.isMutable; + } + /** * DataProperty construction. * diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java index 3d0ee8d3ca..e1a42c4c33 100755 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java @@ -3447,8 +3447,10 @@ public class Env { DataProperty hddProperty = new DataProperty(TStorageMedium.HDD); partitionInfo.setDataProperty(partition.getId(), hddProperty); storageMediumMap.put(partitionId, TStorageMedium.HDD); - LOG.debug("partition[{}-{}-{}] storage medium changed from SSD to HDD", dbId, tableId, - partitionId); + LOG.info("partition[{}-{}-{}] storage medium changed from SSD to HDD. " + + "cooldown time: {}. current time: {}", dbId, tableId, partitionId, + TimeUtils.longToTimeString(dataProperty.getCooldownTimeMs()), + TimeUtils.longToTimeString(currentTimeMs)); // log ModifyPartitionInfo info = new ModifyPartitionInfo(db.getId(), olapTable.getId(), diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/PartitionInfo.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/PartitionInfo.java index 8cadf85ccf..8333b2ef2d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/PartitionInfo.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/PartitionInfo.java @@ -352,7 +352,7 @@ public class PartitionInfo implements Writable { out.writeInt(idToDataProperty.size()); for (Map.Entry entry : idToDataProperty.entrySet()) { out.writeLong(entry.getKey()); - if (entry.getValue().equals(new DataProperty(TStorageMedium.HDD))) { + if (entry.getValue().equals(DataProperty.DEFAULT_HDD_DATA_PROPERTY)) { out.writeBoolean(true); } else { out.writeBoolean(false); @@ -372,7 +372,7 @@ public class PartitionInfo implements Writable { long partitionId = in.readLong(); boolean isDefaultHddDataProperty = in.readBoolean(); if (isDefaultHddDataProperty) { - idToDataProperty.put(partitionId, new DataProperty(TStorageMedium.HDD)); + idToDataProperty.put(partitionId, new DataProperty(DataProperty.DEFAULT_HDD_DATA_PROPERTY)); } else { idToDataProperty.put(partitionId, DataProperty.read(in)); }