> On March 30, 2017, 8:41 p.m., Aihua Xu wrote: > > common/src/java/org/apache/hadoop/hive/common/LogUtils.java > > Lines 52 (patched) > > <https://reviews.apache.org/r/58085/diff/1/?file=1681072#file1681072line52> > > > > Any suggestions? > > > > Seems that is what it does. Can't think of anything else. > > Peter Vary wrote: > // Constants of the key strings for the log4j MDC. > > Maybe? > > Aihua Xu wrote: > They are the same thing. Actually Log4J uses ThreadContext. See > https://logging.apache.org/log4j/2.x/manual/thread-context.html.
Thanks for the clarification! > On March 30, 2017, 8:41 p.m., Aihua Xu wrote: > > ql/src/java/org/apache/hadoop/hive/ql/Driver.java > > Lines 1376-1380 (original) > > <https://reviews.apache.org/r/58085/diff/1/?file=1681073#file1681073line1376> > > > > We were using OperationLog incorrectly before. This log should not be > > for direct write, but we should be able to write to it through > > LOG.info/debug(). As you can see, there is already LOG.debug("Waiting to > > acquire compile lock: " + command); above. > > > > With this patch, it will write this message at DEBUG level. > > > > The loglevels in operationLog (execution, verbose) are actually to > > control which classes are allowed to output logs. It's very confusion > > though. > > Peter Vary wrote: > When we used OperationLog for direct write, we might thought that there > are some messages we would like to show the user regardless of the log > settings. Like the MR deprecation warning. I am not saying that it was good, > merely stating that it was the case, and we will not be able to archive this > after this change :D > > > I was thinking about HiveCLI/BeeLine compatibility. > HiveCLI uses SessionState._console, to print out information to the user. > There are some cases when we use _console.getInfoStream() to write directly > to the HiveCLI console. Also there are some places where we use > SessionState.out to print a message to the HiveCLI user. I am not sure how > can print these messages to the BeeLine user, when we do not want to show the > other log messages of the given class to him. > > Aihua Xu wrote: > If you want to print any message, you should still use LOG.info() which > will print to console, file, etc which are configured. We are using those > improperly, probably because we only had HiveCLI originally but later we add > HiveServer2. So consoles in 2 HiveCLI and HiveServer2 mean different things. > I will have followup jiras to 1) make sure the logs are logged at the > right level, 2) cleanup the console output of HiveCLI and Beeline. > > Regarding some messages like "MR deprecation warning", I think it still > makes sense not to show if the user disable it (like run in silense). It's > just a warning like other warnings. I agree with you, I just wanted to make sure, that we do it intentionally. :) - Peter ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/58085/#review170638 ----------------------------------------------------------- On March 30, 2017, 9:01 p.m., Aihua Xu wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/58085/ > ----------------------------------------------------------- > > (Updated March 30, 2017, 9:01 p.m.) > > > Review request for hive. > > > Bugs: hive-16061 > https://issues.apache.org/jira/browse/hive-16061 > > > Repository: hive-git > > > Description > ------- > > HIVE-16061: Some of console output is not printed to the beeline console > > > Diffs > ----- > > common/src/java/org/apache/hadoop/hive/common/LogUtils.java 01b2e7c > > itests/hive-unit/src/test/java/org/apache/hive/service/cli/operation/TestOperationLoggingLayout.java > e344e0f > ql/src/java/org/apache/hadoop/hive/ql/Driver.java d981119 > ql/src/java/org/apache/hadoop/hive/ql/exec/TaskRunner.java a596e92 > ql/src/java/org/apache/hadoop/hive/ql/exec/mr/ExecDriver.java 1945163 > ql/src/java/org/apache/hadoop/hive/ql/exec/mr/MapredLocalTask.java 591ea97 > ql/src/java/org/apache/hadoop/hive/ql/log/LogDivertAppender.java > PRE-CREATION > > ql/src/java/org/apache/hadoop/hive/ql/parse/ColumnStatsSemanticAnalyzer.java > 08d0544 > ql/src/java/org/apache/hadoop/hive/ql/session/OperationLog.java 18216f2 > ql/src/test/results/clientpositive/beeline/drop_with_concurrency.q.out > 993329e > ql/src/test/results/clientpositive/beeline/escape_comments.q.out 2a05e53 > > service/src/java/org/apache/hive/service/cli/operation/HiveCommandOperation.java > 8f08c2e > > service/src/java/org/apache/hive/service/cli/operation/LogDivertAppender.java > eaf1acb > service/src/java/org/apache/hive/service/cli/operation/Operation.java > 11a820f > > service/src/java/org/apache/hive/service/cli/operation/OperationManager.java > 3f8f68e > service/src/java/org/apache/hive/service/cli/operation/SQLOperation.java > f41092e > > > Diff: https://reviews.apache.org/r/58085/diff/2/ > > > Testing > ------- > > Test is done locally. You can see the beeline output now. > > 0: jdbc:hive2://localhost:10000> select t1.key from src t1 join src t2 on > t1.key=t2.key limit 10; > INFO : Compiling > command(queryId=axu_20170330125216_0de3bbf7-60f5-476d-b7eb-9861891d2961): > select t1.key from src t1 join src t2 on t1.key=t2.key limit 10 > INFO : Semantic Analysis Completed > INFO : Returning Hive schema: Schema(fieldSchemas:[FieldSchema(name:t1.key, > type:string, comment:null)], properties:null) > INFO : Completed compiling > command(queryId=axu_20170330125216_0de3bbf7-60f5-476d-b7eb-9861891d2961); > Time taken: 0.219 seconds > INFO : Concurrency mode is disabled, not creating a lock manager > INFO : Executing > command(queryId=axu_20170330125216_0de3bbf7-60f5-476d-b7eb-9861891d2961): > select t1.key from src t1 join src t2 on t1.key=t2.key limit 10 > WARN : Hive-on-MR is deprecated in Hive 2 and may not be available in the > future versions. Consider using a different execution engine (i.e. spark, > tez) or using Hive 1.X releases. > INFO : Query ID = axu_20170330125216_0de3bbf7-60f5-476d-b7eb-9861891d2961 > INFO : Total jobs = 1 > INFO : Starting task [Stage-4:MAPREDLOCAL] in serial mode > INFO : Execution completed successfully > INFO : MapredLocal task succeeded > INFO : Launching Job 1 out of 1 > INFO : Starting task [Stage-3:MAPRED] in serial mode > INFO : Number of reduce tasks is set to 0 since there's no reduce operator > INFO : Starting Job = job_local1894165710_0002, Tracking URL = > http://localhost:8080/ > INFO : Kill Command = > /Users/axu/Documents/workspaces/tools/hadoop/hadoop-2.6.0/bin/hadoop job > -kill job_local1894165710_0002 > INFO : Hadoop job information for Stage-3: number of mappers: 0; number of > reducers: 0 > INFO : 2017-03-30 12:52:21,788 Stage-3 map = 0%, reduce = 0% > ERROR : Ended Job = job_local1894165710_0002 with errors > ERROR : FAILED: Execution Error, return code 2 from > org.apache.hadoop.hive.ql.exec.mr.MapRedTask > INFO : MapReduce Jobs Launched: > INFO : Stage-Stage-3: HDFS Read: 0 HDFS Write: 0 FAIL > INFO : Total MapReduce CPU Time Spent: 0 msec > > > Thanks, > > Aihua Xu > >