25
25
import java .net .BindException ;
26
26
import java .net .ServerSocket ;
27
27
import java .nio .charset .StandardCharsets ;
28
+ import java .nio .file .Files ;
29
+ import java .nio .file .Path ;
28
30
import java .security .PrivilegedExceptionAction ;
29
31
import java .util .ArrayList ;
30
32
import java .util .List ;
@@ -73,7 +75,8 @@ public class KerberizedHdfs implements Serializable {
73
75
74
76
private MiniKdc kdc ;
75
77
private File workDir ;
76
- private File kerberizedDfsBaseDir ;
78
+ private Path tempDir ;
79
+ private Path kerberizedDfsBaseDir ;
77
80
78
81
private MiniDFSCluster kerberizedDfsCluster ;
79
82
@@ -88,12 +91,9 @@ public class KerberizedHdfs implements Serializable {
88
91
// krb5.conf file path
89
92
private String krb5ConfFile ;
90
93
91
- KerberizedHdfs (File workDir , File kerberizedDfsBaseDir ) {
92
- this .workDir = workDir ;
93
- this .kerberizedDfsBaseDir = kerberizedDfsBaseDir ;
94
- }
95
-
96
94
protected void setup () throws Exception {
95
+ tempDir = Files .createTempDirectory ("tempDir" ).toFile ().toPath ();
96
+ kerberizedDfsBaseDir = Files .createTempDirectory ("kerberizedDfsBaseDir" ).toFile ().toPath ();
97
97
98
98
startKDC ();
99
99
try {
@@ -159,7 +159,7 @@ private Configuration createSecureDFSConfig() throws Exception {
159
159
CommonConfigurationKeysPublic .HADOOP_SECURITY_IMPERSONATION_PROVIDER_CLASS ,
160
160
TestDummyImpersonationProvider .class .getName ());
161
161
162
- String keystoresDir = kerberizedDfsBaseDir .getAbsolutePath ();
162
+ String keystoresDir = kerberizedDfsBaseDir .toFile (). getAbsolutePath ();
163
163
String sslConfDir = KeyStoreTestUtil .getClasspathDir (testRunnerCls );
164
164
KeyStoreTestUtil .setupSSLConfig (keystoresDir , sslConfDir , conf , false );
165
165
@@ -222,6 +222,7 @@ private void startKDC() throws Exception {
222
222
kdcConf .setProperty (MiniKdc .ORG_DOMAIN , "COM" );
223
223
kdcConf .setProperty (MiniKdc .KDC_BIND_ADDRESS , hostName );
224
224
kdcConf .setProperty (MiniKdc .KDC_PORT , "0" );
225
+ workDir = tempDir .toFile ();
225
226
kdc = new MiniKdc (kdcConf , workDir );
226
227
kdc .start ();
227
228
0 commit comments