Skip to content

Commit 4df4974

Browse files
author
Yang Guo
committed
do not wait cmd thread pool, stop it directly after send killed status
1 parent d2284e4 commit 4df4974

File tree

1 file changed

+6
-13
lines changed

1 file changed

+6
-13
lines changed

platform-agent/src/main/java/com/flow/platform/agent/CmdManager.java

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -173,27 +173,23 @@ public void run() {
173173
ProcEventHandler procEventHandler =
174174
new ProcEventHandler(getCmd(), extraProcEventListeners, running, finished);
175175

176-
CmdExecutor executor;
177176
try {
178-
executor = new CmdExecutor(
177+
CmdExecutor executor = new CmdExecutor(
179178
procEventHandler,
180179
logListener,
181180
cmd.getInputs(),
182181
cmd.getWorkingDir(),
183182
cmd.getOutputEnvFilter(),
184183
cmd.getTimeout(),
185184
Lists.newArrayList(getCmd().getCmd()));
185+
186+
executor.run();
186187
} catch (Throwable e) {
187188
LOGGER.errorMarker("execute", "Cannot init CmdExecutor for cmd " + cmd, e);
188-
189189
CmdResult result = new CmdResult();
190190
result.getExceptions().add(e);
191191
procEventHandler.onException(result);
192-
193-
return;
194192
}
195-
196-
executor.run();
197193
}
198194
});
199195

@@ -270,12 +266,9 @@ public synchronized void kill() {
270266
}
271267

272268
try {
273-
if (!cmdExecutor.awaitTermination(10, TimeUnit.SECONDS)) {
274-
cmdExecutor.shutdownNow();
275-
LOGGER.warn("Force to terminate CmdExecutor since been waiting 10 seconds");
276-
}
277-
} catch (Throwable e) {
278-
LOGGER.error("Exception while waiting for all cmd thread finish", e);
269+
cmdExecutor.shutdownNow();
270+
} catch (Throwable ignore) {
271+
279272
} finally {
280273
cmdExecutor = createExecutor(); // reset cmd executor
281274
LOGGER.trace("Cmd thread terminated");

0 commit comments

Comments
 (0)