SQOOP-3375: HiveMiniCluster does not restore hive-site.xml location
authorBoglarka Egyed <bogi@apache.org>
Mon, 3 Sep 2018 09:52:44 +0000 (11:52 +0200)
committerBoglarka Egyed <bogi@apache.org>
Mon, 3 Sep 2018 09:52:44 +0000 (11:52 +0200)
(Szabolcs Vasas via Boglarka Egyed)

src/test/org/apache/sqoop/hive/minicluster/HiveMiniCluster.java

index 19bb760..9dd5448 100644 (file)
@@ -32,6 +32,7 @@ import java.io.IOException;
 import java.io.OutputStream;
 import java.net.InetAddress;
 import java.net.Socket;
+import java.net.URL;
 import java.security.PrivilegedAction;
 import java.util.Map;
 import java.util.concurrent.TimeoutException;
@@ -56,6 +57,8 @@ public class HiveMiniCluster {
 
   private HiveConf config;
 
+  private URL originalHiveSiteLocation;
+
   public HiveMiniCluster(AuthenticationConfiguration authenticationConfiguration) {
     this(DEFAULT_HOST, DEFAULT_PORT, authenticationConfiguration);
   }
@@ -102,6 +105,7 @@ public class HiveMiniCluster {
       config.writeXml(out);
     }
 
+    originalHiveSiteLocation = HiveConf.getHiveSiteLocation();
     HiveConf.setHiveSiteLocation(hiveSiteXmlFile.toURI().toURL());
   }
 
@@ -118,7 +122,7 @@ public class HiveMiniCluster {
 
   public void stop() {
     hiveServer2.stop();
-    HiveConf.setHiveSiteLocation(null);
+    HiveConf.setHiveSiteLocation(originalHiveSiteLocation);
     try {
       FileUtils.deleteDirectory(new File(tempFolderPath));
     } catch (IOException e) {