[fix](mtmv)fix show task tvf finishTime is null (#28252)

This commit is contained in:
zhangdong
2023-12-12 15:20:02 +08:00
committed by GitHub
parent 9861cfc4bc
commit d9fb77ad10
3 changed files with 12 additions and 9 deletions

View File

@ -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);
}

View File

@ -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;
}