You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bigtop.apache.org by co...@apache.org on 2015/03/27 01:44:42 UTC
bigtop git commit: BIGTOP-1763. Handle broken symlinks when copying
jars
Repository: bigtop
Updated Branches:
refs/heads/master 8da309359 -> 91679c0e7
BIGTOP-1763. Handle broken symlinks when copying jars
Signed-off-by: Konstantin Boudnik <co...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/bigtop/repo
Commit: http://git-wip-us.apache.org/repos/asf/bigtop/commit/91679c0e
Tree: http://git-wip-us.apache.org/repos/asf/bigtop/tree/91679c0e
Diff: http://git-wip-us.apache.org/repos/asf/bigtop/diff/91679c0e
Branch: refs/heads/master
Commit: 91679c0e7a1c145858f7141354c8d0b6b2a96bd9
Parents: 8da3093
Author: Peter Slawski <pe...@amazon.com>
Authored: Wed Mar 18 14:12:40 2015 -0700
Committer: Konstantin Boudnik <co...@apache.org>
Committed: Thu Mar 26 17:43:00 2015 -0700
----------------------------------------------------------------------
.../src/common/bigtop-utils/init-hcfs.groovy | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/bigtop/blob/91679c0e/bigtop-packages/src/common/bigtop-utils/init-hcfs.groovy
----------------------------------------------------------------------
diff --git a/bigtop-packages/src/common/bigtop-utils/init-hcfs.groovy b/bigtop-packages/src/common/bigtop-utils/init-hcfs.groovy
index 400ec3c..a224843 100644
--- a/bigtop-packages/src/common/bigtop-utils/init-hcfs.groovy
+++ b/bigtop-packages/src/common/bigtop-utils/init-hcfs.groovy
@@ -132,7 +132,7 @@ LOG.info("Provisioning file system for file system from Configuration: " +
/**
* We create a single FileSystem instance to use for all the file system calls.
- * This script makes anywhere from 20-100 file system operations so its
+ * This script makes anywhere from 20-100 file system operations so it's
* important to cache and create this only once.
* */
def final FileSystem fs = FileSystem.get(conf);
@@ -232,14 +232,14 @@ users.each() {
* Copys jar files from a destination into the distributed FS.
* Build specifically for the common task of getting jars into
* oozies classpath so that oozie can run pig/hive/etc based
- * applications.
+ * applications. Directories and broken symlinks will be skipped.
*
* @param fs An instance of an HCFS FileSystem .
*
* @param input The LOCAL DIRECTORY containing jar files.
*
* @param jarstr A jar file name filter used to reject/accept jar names.
- * See the script below for example of how its used. jars matching this
+ * See the script below for example of how it's used. Jars matching this
* string will be copied into the specified path on the "target" directory.
*
* @param target The path on the DISTRIBUTED FS where jars should be copied
@@ -249,9 +249,11 @@ users.each() {
*/
def copyJars = { FileSystem fsys, File input, String jarstr, Path target ->
int copied = 0;
- input.listFiles(new FilenameFilter() {
- public boolean accept(File f, String filename) {
- return filename.contains(jarstr) && filename.endsWith("jar")
+ input.listFiles(new FileFilter() {
+ public boolean accept(File f) {
+ String filename = f.getName();
+ boolean validJar = filename.endsWith("jar") && f.isFile();
+ return validJar && filename.contains(jarstr)
}
}).each({ jar_file ->
copied++;