diff --git a/ams/server/src/main/java/com/netease/arctic/server/terminal/TerminalSessionContext.java b/ams/server/src/main/java/com/netease/arctic/server/terminal/TerminalSessionContext.java index e11ac81c0d..c7062aa929 100644 --- a/ams/server/src/main/java/com/netease/arctic/server/terminal/TerminalSessionContext.java +++ b/ams/server/src/main/java/com/netease/arctic/server/terminal/TerminalSessionContext.java @@ -25,6 +25,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import javax.annotation.Nullable; + import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.LineNumberReader; @@ -186,7 +188,7 @@ private class ExecutionTask implements Supplier { private final String catalog; private final TableMetaStore tableMetaStore; - private final String proxyUser; + @Nullable private final String proxyUser; public ExecutionTask( String catalog, @@ -210,7 +212,8 @@ public ExecutionTask( @Override public ExecutionStatus get() { try { - return metaStore.doAs( + return metaStore.doAsImpersonating( + proxyUser, () -> { TerminalSession session = lazyLoadSession(this); executionResult.appendLog("fetch terminal session: " + sessionId);