commit 7d3276db4b6c72eb3d3d2efb4433efb3e8a3856d Author: Sahil Takiar Date: Fri Feb 9 14:46:09 2018 -0800 HIVE-18677: SparkClientImpl usage of SessionState.LogHelper doesn't respect isSilent value diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/spark/RemoteHiveSparkClient.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/spark/RemoteHiveSparkClient.java index 93d44dc24c..3ad9e1c88c 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/spark/RemoteHiveSparkClient.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/spark/RemoteHiveSparkClient.java @@ -102,7 +102,7 @@ private void createRemoteClient() throws Exception { remoteClient = SparkClientFactory.createClient(conf, hiveConf, sessionId, - SessionState.LogHelper.getInfoStream()); + SessionState.LogHelper.getInfoStream(), SessionState.getConsole().getIsSilent()); if (HiveConf.getBoolVar(hiveConf, ConfVars.HIVE_PREWARM_ENABLED) && (SparkClientUtilities.isYarnMaster(hiveConf.get("spark.master")) || diff --git a/spark-client/src/main/java/org/apache/hive/spark/client/SparkClientFactory.java b/spark-client/src/main/java/org/apache/hive/spark/client/SparkClientFactory.java index 6dfc1a5807..f851da2d5e 100644 --- a/spark-client/src/main/java/org/apache/hive/spark/client/SparkClientFactory.java +++ b/spark-client/src/main/java/org/apache/hive/spark/client/SparkClientFactory.java @@ -82,10 +82,11 @@ public static void stop() { * @param hiveConf Configuration for Hive, contains hive.* properties. */ public static SparkClient createClient(Map sparkConf, HiveConf hiveConf, - String sessionId, PrintStream consoleStream) + String sessionId, PrintStream consoleStream, + boolean isSilent) throws IOException, SparkException { Preconditions.checkState(server != null, "initialize() not called."); - return new SparkClientImpl(server, sparkConf, hiveConf, sessionId, consoleStream); + return new SparkClientImpl(server, sparkConf, hiveConf, sessionId, consoleStream, isSilent); } } diff --git a/spark-client/src/main/java/org/apache/hive/spark/client/SparkClientImpl.java b/spark-client/src/main/java/org/apache/hive/spark/client/SparkClientImpl.java index 78317ed6d5..c53020e82b 100644 --- a/spark-client/src/main/java/org/apache/hive/spark/client/SparkClientImpl.java +++ b/spark-client/src/main/java/org/apache/hive/spark/client/SparkClientImpl.java @@ -90,14 +90,17 @@ private final Rpc driverRpc; private final ClientProtocol protocol; private final PrintStream consoleStream; + private final boolean isSilent; private volatile boolean isAlive; SparkClientImpl(RpcServer rpcServer, Map conf, HiveConf hiveConf, - String sessionid, PrintStream consoleStream) throws IOException { + String sessionid, PrintStream consoleStream, boolean isSilent) + throws IOException { this.conf = conf; this.hiveConf = hiveConf; this.jobs = Maps.newConcurrentMap(); this.consoleStream = consoleStream; + this.isSilent = isSilent; String secret = rpcServer.createSecret(); this.driverThread = startDriver(rpcServer, sessionid, secret); @@ -626,7 +629,9 @@ private void handle(ChannelHandlerContext ctx, JobSubmitted msg) { private void handle(ChannelHandlerContext ctx, SparkUIWebURL msg) { String printMsg = "Hive on Spark Session Web UI URL: " + msg.UIWebURL; - consoleStream.println(printMsg); + if (!isSilent) { + consoleStream.println(printMsg); + } LOG.info(printMsg); } } diff --git a/spark-client/src/test/java/org/apache/hive/spark/client/TestSparkClient.java b/spark-client/src/test/java/org/apache/hive/spark/client/TestSparkClient.java index e66caee6e5..f2994e5b13 100644 --- a/spark-client/src/test/java/org/apache/hive/spark/client/TestSparkClient.java +++ b/spark-client/src/test/java/org/apache/hive/spark/client/TestSparkClient.java @@ -304,7 +304,7 @@ private void runTest(TestFunction test) throws Exception { try { test.config(conf); client = SparkClientFactory.createClient(conf, HIVECONF, UUID.randomUUID().toString(), - mock(PrintStream.class)); + mock(PrintStream.class), true); test.call(client); } finally { if (client != null) {