From 1e069d28d7a41709ffc011b737fcebf1f6ca6a24 Mon Sep 17 00:00:00 2001 From: SteNicholas Date: Wed, 9 Oct 2024 14:22:31 +0800 Subject: [PATCH] [CELEBORN-1593][FOLLOWUP] Support master --show-manual-excluded-workers command to show manual excluded workers --- .../apache/celeborn/cli/master/MasterOptions.scala | 5 +++++ .../apache/celeborn/cli/master/MasterSubcommand.scala | 2 ++ .../celeborn/cli/master/MasterSubcommandImpl.scala | 11 +++++++++++ .../apache/celeborn/cli/TestCelebornCliCommands.scala | 5 +++++ 4 files changed, 23 insertions(+) diff --git a/cli/src/main/scala/org/apache/celeborn/cli/master/MasterOptions.scala b/cli/src/main/scala/org/apache/celeborn/cli/master/MasterOptions.scala index a90d4e58c6..3f4c3d1151 100644 --- a/cli/src/main/scala/org/apache/celeborn/cli/master/MasterOptions.scala +++ b/cli/src/main/scala/org/apache/celeborn/cli/master/MasterOptions.scala @@ -61,6 +61,11 @@ final class MasterOptions { @Option(names = Array("--show-excluded-workers"), description = Array("Show excluded workers")) private[master] var showExcludedWorkers: Boolean = _ + @Option( + names = Array("--show-manual-excluded-workers"), + description = Array("Show manual excluded workers")) + private[master] var showManualExcludedWorkers: Boolean = _ + @Option(names = Array("--show-shutdown-workers"), description = Array("Show shutdown workers")) private[master] var showShutdownWorkers: Boolean = _ diff --git a/cli/src/main/scala/org/apache/celeborn/cli/master/MasterSubcommand.scala b/cli/src/main/scala/org/apache/celeborn/cli/master/MasterSubcommand.scala index cb67ca20ea..a99cfa5750 100644 --- a/cli/src/main/scala/org/apache/celeborn/cli/master/MasterSubcommand.scala +++ b/cli/src/main/scala/org/apache/celeborn/cli/master/MasterSubcommand.scala @@ -90,6 +90,8 @@ trait MasterSubcommand extends CliLogging { private[master] def runShowExcludedWorkers: Seq[WorkerData] + private[master] def runShowManualExcludedWorkers: Seq[WorkerData] + private[master] def runShowShutdownWorkers: Seq[WorkerData] private[master] def runShowDecommissioningWorkers: Seq[WorkerData] diff --git a/cli/src/main/scala/org/apache/celeborn/cli/master/MasterSubcommandImpl.scala b/cli/src/main/scala/org/apache/celeborn/cli/master/MasterSubcommandImpl.scala index 0b8a53c07b..b9b331e32e 100644 --- a/cli/src/main/scala/org/apache/celeborn/cli/master/MasterSubcommandImpl.scala +++ b/cli/src/main/scala/org/apache/celeborn/cli/master/MasterSubcommandImpl.scala @@ -42,6 +42,7 @@ class MasterSubcommandImpl extends Runnable with MasterSubcommand { if (masterOptions.showWorkerEventInfo) log(runShowWorkerEventInfo) if (masterOptions.showLostWorkers) log(runShowLostWorkers) if (masterOptions.showExcludedWorkers) log(runShowExcludedWorkers) + if (masterOptions.showManualExcludedWorkers) log(runShowManualExcludedWorkers) if (masterOptions.showShutdownWorkers) log(runShowShutdownWorkers) if (masterOptions.showDecommissioningWorkers) log(runShowDecommissioningWorkers) if (masterOptions.showLifecycleManagers) log(runShowLifecycleManagers) @@ -129,6 +130,16 @@ class MasterSubcommandImpl extends Runnable with MasterSubcommand { } } + private[master] def runShowManualExcludedWorkers: Seq[WorkerData] = { + val manualExcludedWorkers = runShowWorkers.getManualExcludedWorkers.asScala.toSeq + if (manualExcludedWorkers.isEmpty) { + log("No manual excluded workers found.") + Seq.empty[WorkerData] + } else { + manualExcludedWorkers.sortBy(_.getHost) + } + } + private[master] def runShowShutdownWorkers: Seq[WorkerData] = { val shutdownWorkers = runShowWorkers.getShutdownWorkers.asScala.toSeq if (shutdownWorkers.isEmpty) { diff --git a/cli/src/test/scala/org/apache/celeborn/cli/TestCelebornCliCommands.scala b/cli/src/test/scala/org/apache/celeborn/cli/TestCelebornCliCommands.scala index b0ce832ecc..4c529679d1 100644 --- a/cli/src/test/scala/org/apache/celeborn/cli/TestCelebornCliCommands.scala +++ b/cli/src/test/scala/org/apache/celeborn/cli/TestCelebornCliCommands.scala @@ -166,6 +166,11 @@ class TestCelebornCliCommands extends CelebornFunSuite with MiniClusterFeature { captureOutputAndValidateResponse(args, "No excluded workers found.") } + test("master --show-manual-excluded-workers") { + val args = prepareMasterArgs() :+ "--show-manual-excluded-workers" + captureOutputAndValidateResponse(args, "No manual excluded workers found.") + } + test("master --show-shutdown-workers") { val args = prepareMasterArgs() :+ "--show-shutdown-workers" captureOutputAndValidateResponse(args, "No shutdown workers found.")