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;