From 4ccaa0dfc5a95c19f3e4618f4e2fa7df8b392ec9 Mon Sep 17 00:00:00 2001 From: Hui Tian <827677355@qq.com> Date: Thu, 12 May 2022 15:43:29 +0800 Subject: [PATCH] [Bug] (load) Broker load kerberos auth fail (#9494) --- .../org/apache/doris/broker/hdfs/FileSystemManager.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/fs_brokers/apache_hdfs_broker/src/main/java/org/apache/doris/broker/hdfs/FileSystemManager.java b/fs_brokers/apache_hdfs_broker/src/main/java/org/apache/doris/broker/hdfs/FileSystemManager.java index dc94720465..b522d21819 100644 --- a/fs_brokers/apache_hdfs_broker/src/main/java/org/apache/doris/broker/hdfs/FileSystemManager.java +++ b/fs_brokers/apache_hdfs_broker/src/main/java/org/apache/doris/broker/hdfs/FileSystemManager.java @@ -45,6 +45,7 @@ import java.net.InetAddress; import java.net.URISyntaxException; import java.net.UnknownHostException; import java.nio.ByteBuffer; +import java.nio.channels.FileLock; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.security.PrivilegedExceptionAction; @@ -288,10 +289,13 @@ public class FileSystemManager { tmpFilePath ="/tmp/." + principal.replace('/', '_') + "_" + Long.toString(currentTime) + - "_" + Integer.toString(randNumber); + "_" + Integer.toString(randNumber) + + "_" + Thread.currentThread().getId(); logger.info("create kerberos tmp file" + tmpFilePath); FileOutputStream fileOutputStream = new FileOutputStream(tmpFilePath); + FileLock lock = fileOutputStream.getChannel().lock(); fileOutputStream.write(base64decodedBytes); + lock.release(); fileOutputStream.close(); keytab = tmpFilePath; } else {