diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/http/HttpServer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/http/HttpServer.java index c0bf6f9..5ef7a61 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/http/HttpServer.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/http/HttpServer.java @@ -20,6 +20,7 @@ package org.apache.hadoop.hbase.http; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InterruptedIOException; +import java.io.OutputStream; import java.io.PrintStream; import java.io.PrintWriter; import java.net.BindException; @@ -1213,7 +1214,8 @@ public class HttpServer implements FilterContainer { return; } response.setContentType("text/plain; charset=UTF-8"); - PrintWriter out = response.getWriter(); + OutputStream os = response.getOutputStream(); + PrintWriter out = new PrintWriter(os); PrintStream ps = new PrintStream(response.getOutputStream(), false, "UTF-8"); Threads.printThreadInfo(ps, ""); ps.flush(); diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSDumpServlet.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSDumpServlet.java index a38ad0e..77b68ec 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSDumpServlet.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSDumpServlet.java @@ -102,14 +102,18 @@ public class RSDumpServlet extends StateDumpServlet { public static void dumpQueue(HRegionServer hrs, PrintWriter out) throws IOException { - // 1. Print out Compaction/Split Queue - out.println("Compaction/Split Queue summary: " - + hrs.compactSplitThread.toString() ); - out.println(hrs.compactSplitThread.dumpQueue()); - - // 2. Print out flush Queue - out.println("\nFlush Queue summary: " - + hrs.cacheFlusher.toString()); - out.println(hrs.cacheFlusher.dumpQueue()); + if (hrs.compactSplitThread != null) { + // 1. Print out Compaction/Split Queue + out.println("Compaction/Split Queue summary: " + + hrs.compactSplitThread.toString() ); + out.println(hrs.compactSplitThread.dumpQueue()); + } + + if (hrs.cacheFlusher != null) { + // 2. Print out flush Queue + out.println("\nFlush Queue summary: " + + hrs.cacheFlusher.toString()); + out.println(hrs.cacheFlusher.dumpQueue()); + } } }