From b48aa0c8e1ca89ca58fc3bee7d96add89ae2fdcf Mon Sep 17 00:00:00 2001 From: hengyunabc Date: Tue, 14 May 2019 16:10:37 +0800 Subject: [PATCH] fix job redirect cache location. #695 --- .../arthas/core/shell/command/internal/RedirectHandler.java | 1 + .../arthas/core/shell/system/impl/JobControllerImpl.java | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/com/taobao/arthas/core/shell/command/internal/RedirectHandler.java b/core/src/main/java/com/taobao/arthas/core/shell/command/internal/RedirectHandler.java index a2a8688ea..e32fc733e 100644 --- a/core/src/main/java/com/taobao/arthas/core/shell/command/internal/RedirectHandler.java +++ b/core/src/main/java/com/taobao/arthas/core/shell/command/internal/RedirectHandler.java @@ -42,6 +42,7 @@ public class RedirectHandler extends PlainTextHandler implements CloseFunction { data = super.apply(data); if (out != null) { out.write(data); + out.flush(); } else { LogUtil.getResultLogger().info(data); } diff --git a/core/src/main/java/com/taobao/arthas/core/shell/system/impl/JobControllerImpl.java b/core/src/main/java/com/taobao/arthas/core/shell/system/impl/JobControllerImpl.java index f6a4d1802..d7a0c200d 100644 --- a/core/src/main/java/com/taobao/arthas/core/shell/system/impl/JobControllerImpl.java +++ b/core/src/main/java/com/taobao/arthas/core/shell/system/impl/JobControllerImpl.java @@ -33,6 +33,7 @@ import java.util.concurrent.atomic.AtomicInteger; /** * @author Julien Viet + * @author hengyunabc 2019-05-14 */ public class JobControllerImpl implements JobController { @@ -170,8 +171,8 @@ public class JobControllerImpl implements JobController { String name = getRedirectFileName(tokens); if (name == null) { // 如果没有指定重定向文件名,那么重定向到以jobid命名的缓存中 - name = Constants.PID + File.separator + jobId; - cacheLocation = Constants.CACHE_ROOT + File.separator + name; + name = Constants.CACHE_ROOT + File.separator + Constants.PID + File.separator + jobId; + cacheLocation = name; if (getRedirectJobCount() == 8) { throw new IllegalStateException("The amount of async command that saving result to file can't > 8");