PIG-5417: Replace guava's Files.createTempDir() (xiaoheipangzi via rohini) git-svn-id: https://svn.apache.org/repos/asf/pig/trunk@1906717 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/CHANGES.txt b/CHANGES.txt index 483bc95..20cb3fc 100644 --- a/CHANGES.txt +++ b/CHANGES.txt
@@ -26,6 +26,8 @@ IMPROVEMENTS +PIG-5417: Replace guava's Files.createTempDir() (xiaoheipangzi via rohini) + PIG-5429: Update hbase version from 2.0.0 to 2.4.14 (knoguchi) PIG-5428: Update hadoop2,3 and tez to recent versions (knoguchi)
diff --git a/src/org/apache/pig/data/SchemaTupleBackend.java b/src/org/apache/pig/data/SchemaTupleBackend.java index 2158300..a7111c4 100644 --- a/src/org/apache/pig/data/SchemaTupleBackend.java +++ b/src/org/apache/pig/data/SchemaTupleBackend.java
@@ -27,6 +27,7 @@ import java.net.MalformedURLException; import java.net.URL; import java.net.URLClassLoader; +import java.nio.file.Files; import java.util.Map; import java.util.Set; @@ -43,7 +44,6 @@ import com.google.common.collect.Maps; import com.google.common.collect.Sets; -import com.google.common.io.Files; public class SchemaTupleBackend { private static final Log LOG = LogFactory.getLog(SchemaTupleBackend.class); @@ -81,8 +81,14 @@ } codeDir = new File(jConf.get(PigConstants.LOCAL_CODE_DIR)); } else { - codeDir = Files.createTempDir(); - codeDir.deleteOnExit(); + try { + File tempDirBase = new File(System.getProperty("java.io.tmpdir")); + codeDir = Files.createTempDirectory( + tempDirBase.toPath(), System.currentTimeMillis() + "-").toFile(); + codeDir.deleteOnExit(); + } catch (IOException e) { + throw new RuntimeException("Unable to create temporary directory", e); + } } try {
diff --git a/src/org/apache/pig/data/SchemaTupleFrontend.java b/src/org/apache/pig/data/SchemaTupleFrontend.java index b38e40d..ed892cc 100644 --- a/src/org/apache/pig/data/SchemaTupleFrontend.java +++ b/src/org/apache/pig/data/SchemaTupleFrontend.java
@@ -26,6 +26,7 @@ import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; +import java.nio.file.Files; import java.util.Map; import java.util.Properties; import java.util.Set; @@ -46,7 +47,6 @@ import com.google.common.collect.Maps; import com.google.common.collect.Sets; -import com.google.common.io.Files; /** * This class is to be used at job creation time. It provides the API that lets code @@ -94,8 +94,14 @@ private Configuration conf; public SchemaTupleFrontendGenHelper(PigContext pigContext, Configuration conf) { - codeDir = Files.createTempDir(); - codeDir.deleteOnExit(); + try { + File tempDirBase = new File(System.getProperty("java.io.tmpdir")); + codeDir = Files.createTempDirectory( + tempDirBase.toPath(), System.currentTimeMillis() + "-").toFile(); + codeDir.deleteOnExit(); + } catch (IOException e) { + throw new RuntimeException("Unable to create temporary directory", e); + } LOG.debug("Temporary directory for generated code created: " + codeDir.getAbsolutePath()); this.pigContext = pigContext;