Details
Description
TEST SETUP
Using attached sample hdfs java program that illustrates the issue.
Using cluster with Kerberos enabled on cluster
- Compile instructions
$ javac Symlink.java -cp `hadoop classpath`
$ jar -cfe Symlink.jar Symlink Symlink.class
- create test file for symlink to use
1. hadoop fs -touchz /user/username/filetest
- Create symlink using file context
2. hadoop jar Symlink.jar ln /user/username/filetest /user/username/testsymlink
- Verify owner of test file
3. hadoop jar Symlink.jar ls /user/username/
rw-rr- username hdfs /user/jeagles/filetest
-rwxrwxrwx username@XX.XXXX.XXXXX.XXX hdfs /user/username/testsymlink
RESULTS
1. Owner shows 'username@XX.XXXX.XXXXX.XXX' for symlink, expecting 'username'.
2. Symlink is corrupted and can't removed, since it was created with an invalid user
------------------------
Sample program to create Symlink
FileContext fc = FileContext.getFileContext(getConf());
fc.createSymlink(target, symlink, false);
---------------------------------------