[SPARK-22496][SQL] thrift server adds operation logs
## What changes were proposed in this pull request? since hive 2.0+ upgrades log4j to log4j2,a lot of [changes](https://issues.apache.org/jira/browse/HIVE-11304) are made working on it. as spark is not to ready to update its inner hive version(1.2.1) , so I manage to make little changes. the function registerCurrentOperationLog is moved from SQLOperstion to its parent class ExecuteStatementOperation so spark can use it. ## How was this patch tested? manual test Author: zouchenjun <zouchenjun@youzan.com> Closes #19721 from ChenjunZou/operation-log.
This commit is contained in:
parent
ab1b6ee731
commit
4289ac9d8d
|
@ -23,6 +23,7 @@ import java.util.Map;
|
||||||
|
|
||||||
import org.apache.hadoop.hive.ql.processors.CommandProcessor;
|
import org.apache.hadoop.hive.ql.processors.CommandProcessor;
|
||||||
import org.apache.hadoop.hive.ql.processors.CommandProcessorFactory;
|
import org.apache.hadoop.hive.ql.processors.CommandProcessorFactory;
|
||||||
|
import org.apache.hadoop.hive.ql.session.OperationLog;
|
||||||
import org.apache.hive.service.cli.HiveSQLException;
|
import org.apache.hive.service.cli.HiveSQLException;
|
||||||
import org.apache.hive.service.cli.OperationType;
|
import org.apache.hive.service.cli.OperationType;
|
||||||
import org.apache.hive.service.cli.session.HiveSession;
|
import org.apache.hive.service.cli.session.HiveSession;
|
||||||
|
@ -67,4 +68,16 @@ public abstract class ExecuteStatementOperation extends Operation {
|
||||||
this.confOverlay = confOverlay;
|
this.confOverlay = confOverlay;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void registerCurrentOperationLog() {
|
||||||
|
if (isOperationLogEnabled) {
|
||||||
|
if (operationLog == null) {
|
||||||
|
LOG.warn("Failed to get current OperationLog object of Operation: " +
|
||||||
|
getHandle().getHandleIdentifier());
|
||||||
|
isOperationLogEnabled = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
OperationLog.setCurrentOperationLog(operationLog);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -274,18 +274,6 @@ public class SQLOperation extends ExecuteStatementOperation {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void registerCurrentOperationLog() {
|
|
||||||
if (isOperationLogEnabled) {
|
|
||||||
if (operationLog == null) {
|
|
||||||
LOG.warn("Failed to get current OperationLog object of Operation: " +
|
|
||||||
getHandle().getHandleIdentifier());
|
|
||||||
isOperationLogEnabled = false;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
OperationLog.setCurrentOperationLog(operationLog);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void cleanup(OperationState state) throws HiveSQLException {
|
private void cleanup(OperationState state) throws HiveSQLException {
|
||||||
setState(state);
|
setState(state);
|
||||||
if (shouldRunAsync()) {
|
if (shouldRunAsync()) {
|
||||||
|
|
|
@ -170,6 +170,7 @@ private[hive] class SparkExecuteStatementOperation(
|
||||||
override def run(): Unit = {
|
override def run(): Unit = {
|
||||||
val doAsAction = new PrivilegedExceptionAction[Unit]() {
|
val doAsAction = new PrivilegedExceptionAction[Unit]() {
|
||||||
override def run(): Unit = {
|
override def run(): Unit = {
|
||||||
|
registerCurrentOperationLog()
|
||||||
try {
|
try {
|
||||||
execute()
|
execute()
|
||||||
} catch {
|
} catch {
|
||||||
|
|
Loading…
Reference in a new issue