Author: ekoifman Date: Wed Jan 14 02:46:32 2015 New Revision: 1651558 URL: http://svn.apache.org/r1651558 Log: HIVE-8914 HDFSCleanup thread holds reference to FileSystem (shanyu zhao via Eugene Koifman)
Modified: hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/tool/HDFSCleanup.java Modified: hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/tool/HDFSCleanup.java URL: http://svn.apache.org/viewvc/hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/tool/HDFSCleanup.java?rev=1651558&r1=1651557&r2=1651558&view=diff ============================================================================== --- hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/tool/HDFSCleanup.java (original) +++ hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/tool/HDFSCleanup.java Wed Jan 14 02:46:32 2015 @@ -91,18 +91,25 @@ public class HDFSCleanup extends Thread * */ public void run() { - FileSystem fs = null; while (!stop) { try { // Put each check in a separate try/catch, so if that particular // cycle fails, it'll try again on the next cycle. + FileSystem fs=null; try { - if (fs == null) { - fs = new Path(storage_root).getFileSystem(appConf); - } + fs = new Path(storage_root).getFileSystem(appConf); checkFiles(fs); } catch (Exception e) { LOG.error("Cleanup cycle failed: " + e.getMessage()); + } finally { + if(fs != null) { + try { + fs.close(); + } + catch (Exception e) { + LOG.error("Closing file system failed: " + e.getMessage()); + } + } } long sleepMillis = (long) (Math.random() * interval);