Run a hiveserver2 instance "hive --service hiveserver2".
Then from another console, connect to hiveserver2 "beeline -u "jdbc:hive2://localhost:10000"
When you run a MR job like "select t1.key from src t1 join src t2 on t1.key=t2.key", some of the console logs like MR job info are not printed to the console while it just print to the hiveserver2 console.
When hive.async.log.enabled is set to false and restarts the HiveServer2, then the output will be printed to the beeline console.
OperationLog implementation uses the ThreadLocal variable to store associated the log file. When the hive.async.log.enabled is set to true, the logs will be processed by a ThreadPool and the actual threads from the pool which prints the message won't be able to access the log file stored in the original thread.