This is an automated email from the ASF dual-hosted git repository.
rzo1 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/storm.git
The following commit(s) were added to refs/heads/master by this push:
new b07483402 [STORM-3762] Set a default character set in
InputStreamReader to solve potential garbled problems (#3393)
b07483402 is described below
commit b07483402a75f3b31a57b46f0cc7b02aadb77b97
Author: dbgp2021 <[email protected]>
AuthorDate: Tue Aug 15 17:39:05 2023 +0800
[STORM-3762] Set a default character set in InputStreamReader to solve
potential garbled problems (#3393)
---
.../src/jvm/org/apache/storm/metric/cgroup/CGroupCpu.java | 3 ++-
.../src/jvm/org/apache/storm/utils/ShellUtils.java | 11 +++++++----
.../src/main/java/org/apache/storm/utils/ServerUtils.java | 15 ++++++++-------
3 files changed, 17 insertions(+), 12 deletions(-)
diff --git a/storm-client/src/jvm/org/apache/storm/metric/cgroup/CGroupCpu.java
b/storm-client/src/jvm/org/apache/storm/metric/cgroup/CGroupCpu.java
index 9789a6e32..aef62eebe 100644
--- a/storm-client/src/jvm/org/apache/storm/metric/cgroup/CGroupCpu.java
+++ b/storm-client/src/jvm/org/apache/storm/metric/cgroup/CGroupCpu.java
@@ -15,6 +15,7 @@ package org.apache.storm.metric.cgroup;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
+import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Map;
import org.apache.storm.container.cgroup.SubSystemType;
@@ -40,7 +41,7 @@ public class CGroupCpu extends CGroupMetricsBase<Map<String,
Long>> {
if (userHz < 0) {
ProcessBuilder pb = new ProcessBuilder("getconf", "CLK_TCK");
Process p = pb.start();
- BufferedReader in = new BufferedReader(new
InputStreamReader(p.getInputStream()));
+ BufferedReader in = new BufferedReader(new
InputStreamReader(p.getInputStream(), StandardCharsets.UTF_8));
String line = in.readLine().trim();
userHz = Integer.valueOf(line);
}
diff --git a/storm-client/src/jvm/org/apache/storm/utils/ShellUtils.java
b/storm-client/src/jvm/org/apache/storm/utils/ShellUtils.java
index e3c219e90..c1308d4b4 100644
--- a/storm-client/src/jvm/org/apache/storm/utils/ShellUtils.java
+++ b/storm-client/src/jvm/org/apache/storm/utils/ShellUtils.java
@@ -18,6 +18,7 @@ import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
+import java.nio.charset.StandardCharsets;
import java.util.Map;
import java.util.Timer;
import java.util.TimerTask;
@@ -214,11 +215,13 @@ public abstract class ShellUtils {
timeOutTimer.schedule(timeoutTimerTask, timeOutInterval);
}
final BufferedReader errReader =
- new BufferedReader(new InputStreamReader(process
- .getErrorStream()));
+ new BufferedReader(
+ new InputStreamReader(
+ process.getErrorStream(), StandardCharsets.UTF_8));
BufferedReader inReader =
- new BufferedReader(new InputStreamReader(process
- .getInputStream()));
+ new BufferedReader(
+ new InputStreamReader(
+ process.getInputStream(), StandardCharsets.UTF_8));
final StringBuffer errMsg = new StringBuffer();
// read error and input streams as this would free up the buffers
diff --git a/storm-server/src/main/java/org/apache/storm/utils/ServerUtils.java
b/storm-server/src/main/java/org/apache/storm/utils/ServerUtils.java
index 091043a17..cc0cc240b 100644
--- a/storm-server/src/main/java/org/apache/storm/utils/ServerUtils.java
+++ b/storm-server/src/main/java/org/apache/storm/utils/ServerUtils.java
@@ -33,6 +33,7 @@ import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.RandomAccessFile;
import java.net.URL;
+import java.nio.charset.StandardCharsets;
import java.nio.file.FileSystems;
import java.nio.file.Files;
import java.nio.file.NoSuchFileException;
@@ -803,7 +804,7 @@ public class ServerUtils {
LOG.debug("CMD: tasklist /fo list /fi \"pid eq {}\" /v", pid);
ProcessBuilder pb = new ProcessBuilder("tasklist", "/fo", "list",
"/fi", "pid eq " + pid, "/v");
pb.redirectError(ProcessBuilder.Redirect.INHERIT);
- try (BufferedReader in = new BufferedReader(new
InputStreamReader(pb.start().getInputStream()))) {
+ try (BufferedReader in = new BufferedReader(new
InputStreamReader(pb.start().getInputStream(), StandardCharsets.UTF_8))) {
int lineNo = 0;
String line;
while ((line = in.readLine()) != null) {
@@ -837,7 +838,7 @@ public class ServerUtils {
LOG.debug("CMD: ps -o user -p {}", pid);
ProcessBuilder pb = new ProcessBuilder("ps", "-o", "user", "-p",
String.valueOf(pid));
pb.redirectError(ProcessBuilder.Redirect.INHERIT);
- try (BufferedReader in = new BufferedReader(new
InputStreamReader(pb.start().getInputStream()))) {
+ try (BufferedReader in = new BufferedReader(new
InputStreamReader(pb.start().getInputStream(), StandardCharsets.UTF_8))) {
int lineNo = 1;
String line = in.readLine();
LOG.debug("CMD-LINE#{}: {}", lineNo, line);
@@ -923,7 +924,7 @@ public class ServerUtils {
ProcessBuilder pb = new ProcessBuilder(cmdArgs);
pb.redirectError(ProcessBuilder.Redirect.INHERIT);
List<String> unexpectedUsers = new ArrayList<>();
- try (BufferedReader in = new BufferedReader(new
InputStreamReader(pb.start().getInputStream()))) {
+ try (BufferedReader in = new BufferedReader(new
InputStreamReader(pb.start().getInputStream(), StandardCharsets.UTF_8))) {
int lineNo = 0;
String line;
while ((line = in.readLine()) != null) {
@@ -988,7 +989,7 @@ public class ServerUtils {
ProcessBuilder pb = new ProcessBuilder("ps", "-o", "user", "-p",
pidParams);
pb.redirectError(ProcessBuilder.Redirect.INHERIT);
List<String> unexpectedUsers = new ArrayList<>();
- try (BufferedReader in = new BufferedReader(new
InputStreamReader(pb.start().getInputStream()))) {
+ try (BufferedReader in = new BufferedReader(new
InputStreamReader(pb.start().getInputStream(), StandardCharsets.UTF_8))) {
int lineNo = 1;
String line = in.readLine();
LOG.debug("CMD-LINE#{}: {}", lineNo, line);
@@ -1032,7 +1033,7 @@ public class ServerUtils {
ProcessBuilder pb = new ProcessBuilder("ps", "-o", "uid", "-p",
pidParams);
pb.redirectError(ProcessBuilder.Redirect.INHERIT);
List<String> unexpectedUsers = new ArrayList<>();
- try (BufferedReader in = new BufferedReader(new
InputStreamReader(pb.start().getInputStream()))) {
+ try (BufferedReader in = new BufferedReader(new
InputStreamReader(pb.start().getInputStream(), StandardCharsets.UTF_8))) {
int lineNo = 1;
String line = in.readLine();
LOG.debug("CMD-LINE#{}: {}", lineNo, line);
@@ -1086,7 +1087,7 @@ public class ServerUtils {
LOG.debug("CMD: {}", String.join(" ", cmdArgs));
ProcessBuilder pb = new ProcessBuilder(cmdArgs);
pb.redirectError(ProcessBuilder.Redirect.INHERIT);
- try (BufferedReader in = new BufferedReader(new
InputStreamReader(pb.start().getInputStream()))) {
+ try (BufferedReader in = new BufferedReader(new
InputStreamReader(pb.start().getInputStream(), StandardCharsets.UTF_8))) {
String line = in.readLine();
LOG.debug("CMD-LINE#1: {}", line);
try {
@@ -1120,7 +1121,7 @@ public class ServerUtils {
LOG.debug("CMD: ls -dn {}", fpath);
ProcessBuilder pb = new ProcessBuilder("ls", "-dn", fpath);
pb.redirectError(ProcessBuilder.Redirect.INHERIT);
- try (BufferedReader in = new BufferedReader(new
InputStreamReader(pb.start().getInputStream()))) {
+ try (BufferedReader in = new BufferedReader(new
InputStreamReader(pb.start().getInputStream(), StandardCharsets.UTF_8))) {
String line = in.readLine();
LOG.debug("CMD-OUTLINE: {}", line);
line = line.trim();