This is an automated email from the ASF dual-hosted git repository.
ethanfeng pushed a commit to branch branch-0.3
in repository https://gitbox.apache.org/repos/asf/incubator-celeborn.git
The following commit(s) were added to refs/heads/branch-0.3 by this push:
new fb172ffb4 [CELEBORN-636] Replace SimpleDateFormat with FastDateFormat
fb172ffb4 is described below
commit fb172ffb43e2709ce1120ceffd007cfaa795adc2
Author: Cheng Pan <[email protected]>
AuthorDate: Tue Jun 6 12:59:32 2023 +0800
[CELEBORN-636] Replace SimpleDateFormat with FastDateFormat
### What changes were proposed in this pull request?
`SimpleDateFormat` is not thread-safe, replace it with a thread-safe
`FastDateFormat`
### Why are the changes needed?
`FastDateFormat` is a fast and thread-safe version of
`java.text.SimpleDateFormat`.
### Does this PR introduce _any_ user-facing change?
Yes, it's a bug fix.
### How was this patch tested?
Manually review.
Closes #1545 from pan3793/CELEBORN-636.
Authored-by: Cheng Pan <[email protected]>
Signed-off-by: Ethan Feng <[email protected]>
(cherry picked from commit 3c7d179e051dce1dc4cf3a559a6761eadeccd9a6)
Signed-off-by: Ethan Feng <[email protected]>
---
.../scala/org/apache/celeborn/service/deploy/master/Master.scala | 4 ++--
.../main/scala/org/apache/celeborn/server/common/HttpService.scala | 6 ++++--
.../scala/org/apache/celeborn/service/deploy/worker/Worker.scala | 2 +-
3 files changed, 7 insertions(+), 5 deletions(-)
diff --git
a/master/src/main/scala/org/apache/celeborn/service/deploy/master/Master.scala
b/master/src/main/scala/org/apache/celeborn/service/deploy/master/Master.scala
index 4dc36b562..a137c6f0b 100644
---
a/master/src/main/scala/org/apache/celeborn/service/deploy/master/Master.scala
+++
b/master/src/main/scala/org/apache/celeborn/service/deploy/master/Master.scala
@@ -743,7 +743,7 @@ private[celeborn] class Master(
val sb = new StringBuilder
sb.append("======================= Lost Workers in Master
========================\n")
lostWorkersSnapshot.asScala.toSeq.sortBy(_._2).foreach { case (worker,
time) =>
- sb.append(s"${worker.toUniqueId().padTo(50, "
").mkString}${simpleDateFormat.format(time)}\n")
+ sb.append(s"${worker.toUniqueId().padTo(50, "
").mkString}${dateFmt.format(time)}\n")
}
sb.toString()
}
@@ -786,7 +786,7 @@ private[celeborn] class Master(
val sb = new StringBuilder
sb.append("================= LifecycleManager Hostname List
======================\n")
statusSystem.appHeartbeatTime.asScala.toSeq.sortBy(_._2).foreach { case
(appId, time) =>
- sb.append(s"${appId.padTo(40, "
").mkString}${simpleDateFormat.format(time)}\n")
+ sb.append(s"${appId.padTo(40, " ").mkString}${dateFmt.format(time)}\n")
}
sb.toString()
}
diff --git
a/service/src/main/scala/org/apache/celeborn/server/common/HttpService.scala
b/service/src/main/scala/org/apache/celeborn/server/common/HttpService.scala
index bc075c531..47e2833cf 100644
--- a/service/src/main/scala/org/apache/celeborn/server/common/HttpService.scala
+++ b/service/src/main/scala/org/apache/celeborn/server/common/HttpService.scala
@@ -17,9 +17,10 @@
package org.apache.celeborn.server.common
-import java.text.SimpleDateFormat
import java.util.Locale
+import org.apache.commons.lang3.time.FastDateFormat
+
import org.apache.celeborn.common.internal.Logging
import org.apache.celeborn.server.common.http.{HttpRequestHandler, HttpServer,
HttpServerInitializer}
@@ -27,7 +28,8 @@ abstract class HttpService extends Service with Logging {
private var httpServer: HttpServer = _
- protected val simpleDateFormat = new
SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ", Locale.ROOT)
+ protected val dateFmt: FastDateFormat =
+ FastDateFormat.getInstance("yyyy-MM-dd'T'HH:mm:ss.SSSZ", Locale.ROOT)
def getConf: String = {
val sb = new StringBuilder
diff --git
a/worker/src/main/scala/org/apache/celeborn/service/deploy/worker/Worker.scala
b/worker/src/main/scala/org/apache/celeborn/service/deploy/worker/Worker.scala
index e62bf53da..c0a819d29 100644
---
a/worker/src/main/scala/org/apache/celeborn/service/deploy/worker/Worker.scala
+++
b/worker/src/main/scala/org/apache/celeborn/service/deploy/worker/Worker.scala
@@ -528,7 +528,7 @@ private[celeborn] class Worker(
val sb = new StringBuilder
sb.append("==================== Unavailable Peers of Worker
=====================\n")
unavailablePeers.asScala.foreach { case (peer, time) =>
- sb.append(s"${peer.toUniqueId().padTo(50, "
").mkString}${simpleDateFormat.format(time)}\n")
+ sb.append(s"${peer.toUniqueId().padTo(50, "
").mkString}${dateFmt.format(time)}\n")
}
sb.toString()
}