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

morningman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new d9fb77ad106 [fix](mtmv)fix show task tvf finishTime is null (#28252)
d9fb77ad106 is described below

commit d9fb77ad106bee4597ae9df4105964ab0f1f14a3
Author: zhangdong <493738...@qq.com>
AuthorDate: Tue Dec 12 15:20:02 2023 +0800

    [fix](mtmv)fix show task tvf finishTime is null (#28252)
---
 .../src/main/java/org/apache/doris/common/util/TimeUtils.java  | 10 +++++-----
 .../java/org/apache/doris/job/extensions/mtmv/MTMVTask.java    |  9 ++++++---
 .../test/java/org/apache/doris/common/util/TimeUtilsTest.java  |  2 +-
 3 files changed, 12 insertions(+), 9 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/common/util/TimeUtils.java 
b/fe/fe-core/src/main/java/org/apache/doris/common/util/TimeUtils.java
index 3f570a5f383..0076ddcaf0b 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/common/util/TimeUtils.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/common/util/TimeUtils.java
@@ -161,24 +161,24 @@ public class TimeUtils {
         return TimeZone.getTimeZone(ZoneId.of(timeZone, timeZoneAliasMap));
     }
 
-    public static String longToTimeString(long timeStamp, DateTimeFormatter 
dateFormat) {
-        if (timeStamp <= 0L) {
+    public static String longToTimeString(Long timeStamp, DateTimeFormatter 
dateFormat) {
+        if (timeStamp == null || timeStamp <= 0L) {
             return FeConstants.null_string;
         }
         return 
dateFormat.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(timeStamp), 
ZoneId.systemDefault()));
     }
 
-    public static String longToTimeStringWithFormat(long timeStamp, 
DateTimeFormatter datetimeFormatTimeZone) {
+    public static String longToTimeStringWithFormat(Long timeStamp, 
DateTimeFormatter datetimeFormatTimeZone) {
         TimeZone timeZone = getTimeZone();
         datetimeFormatTimeZone.withZone(timeZone.toZoneId());
         return longToTimeString(timeStamp, datetimeFormatTimeZone);
     }
 
-    public static String longToTimeString(long timeStamp) {
+    public static String longToTimeString(Long timeStamp) {
         return longToTimeStringWithFormat(timeStamp, DATETIME_FORMAT);
     }
 
-    public static String longToTimeStringWithms(long timeStamp) {
+    public static String longToTimeStringWithms(Long timeStamp) {
         return longToTimeStringWithFormat(timeStamp, DATETIME_MS_FORMAT);
     }
 
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/job/extensions/mtmv/MTMVTask.java 
b/fe/fe-core/src/main/java/org/apache/doris/job/extensions/mtmv/MTMVTask.java
index e82dc7dbff9..80f454d6281 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/job/extensions/mtmv/MTMVTask.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/job/extensions/mtmv/MTMVTask.java
@@ -26,6 +26,7 @@ import org.apache.doris.catalog.ScalarType;
 import org.apache.doris.catalog.TableIf.TableType;
 import org.apache.doris.cluster.ClusterNamespace;
 import org.apache.doris.common.AnalysisException;
+import org.apache.doris.common.FeConstants;
 import org.apache.doris.common.UserException;
 import org.apache.doris.common.util.TimeUtils;
 import org.apache.doris.datasource.CatalogIf;
@@ -147,12 +148,14 @@ public class MTMVTask extends AbstractTask {
         trow.addToColumnValue(new 
TCell().setStringVal(String.valueOf(super.getTaskId())));
         trow.addToColumnValue(new 
TCell().setStringVal(String.valueOf(super.getJobId())));
         trow.addToColumnValue(new TCell().setStringVal(super.getJobName()));
-        trow.addToColumnValue(new 
TCell().setStringVal(super.getStatus().toString()));
+        trow.addToColumnValue(new TCell()
+                .setStringVal(super.getStatus() == null ? 
FeConstants.null_string : super.getStatus().toString()));
         trow.addToColumnValue(new 
TCell().setStringVal(TimeUtils.longToTimeString(super.getCreateTimeMs())));
         trow.addToColumnValue(new 
TCell().setStringVal(TimeUtils.longToTimeString(super.getStartTimeMs())));
         trow.addToColumnValue(new 
TCell().setStringVal(TimeUtils.longToTimeString(super.getFinishTimeMs())));
-        trow.addToColumnValue(
-                new 
TCell().setStringVal(String.valueOf(super.getFinishTimeMs() - 
super.getStartTimeMs())));
+        trow.addToColumnValue(new TCell().setStringVal(
+                (super.getFinishTimeMs() == null || super.getFinishTimeMs() == 
0) ? FeConstants.null_string
+                        : String.valueOf(super.getFinishTimeMs() - 
super.getStartTimeMs())));
         trow.addToColumnValue(new TCell().setStringVal(sql));
         return trow;
     }
diff --git 
a/fe/fe-core/src/test/java/org/apache/doris/common/util/TimeUtilsTest.java 
b/fe/fe-core/src/test/java/org/apache/doris/common/util/TimeUtilsTest.java
index 44491ed1cf6..a4347c5acaf 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/common/util/TimeUtilsTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/common/util/TimeUtilsTest.java
@@ -148,7 +148,7 @@ public class TimeUtilsTest {
 
     @Test
     public void testDateTrans() throws AnalysisException {
-        Assert.assertEquals(FeConstants.null_string, 
TimeUtils.longToTimeString(-2));
+        Assert.assertEquals(FeConstants.null_string, 
TimeUtils.longToTimeString(-2L));
 
         long timestamp = 1426125600000L;
         Assert.assertEquals("2015-03-12 10:00:00", 
TimeUtils.longToTimeString(timestamp));


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to