From 647f6665a1d12a580a749714c3f04027f88110a6 Mon Sep 17 00:00:00 2001 From: dbgp2021 Date: Mon, 29 Mar 2021 00:11:56 +0800 Subject: [PATCH] SAMZA-2642: Set a default character set in InputStreamReader to solve potential garbled problems --- .../container/host/PosixCommandBasedStatisticsGetter.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/samza-core/src/main/java/org/apache/samza/container/host/PosixCommandBasedStatisticsGetter.java b/samza-core/src/main/java/org/apache/samza/container/host/PosixCommandBasedStatisticsGetter.java index 11782617ac..bc2e9152f2 100644 --- a/samza-core/src/main/java/org/apache/samza/container/host/PosixCommandBasedStatisticsGetter.java +++ b/samza-core/src/main/java/org/apache/samza/container/host/PosixCommandBasedStatisticsGetter.java @@ -24,6 +24,7 @@ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; +import java.nio.charset.Charset; /** * An implementation of {@link SystemStatisticsGetter} that relies on using Posix commands like ps. @@ -45,7 +46,7 @@ private String getCommandOutput(String[] cmdArray) throws IOException { String psOutput = null; try { - processReader = new BufferedReader(new InputStreamReader(executable.getInputStream())); + processReader = new BufferedReader(new InputStreamReader(executable.getInputStream(), Charset.forName("UTF-8"))); psOutput = processReader.readLine(); } finally { if (processReader != null) {