Affects Version/s: 2.6.0
Fix Version/s: 3.2.0
Linux xxxxxx.xx.xx.xxx 3.10.0-514.el7.x86_64 #1 SMP Wed Oct 19 11:24:13 EDT 2016 x86_64 x86_64 x86_64 GNU/Linux
Release Note:FUSE lib now recognize the change of the Kerberos ticket cache path if it was changed between two file system access in the same local user session via the KRB5CCNAME environment variable.
The symptoms of this issue are the same as described in
HDFS-3608 except the workaround that was applied (detect changes in UID ticket cache) doesn't resolve the issue when multiple ticket caches are in use by the same user.
Our use case requires that a job scheduler running as a specific uid obtain separate kerberos sessions per job and that each of these sessions use a separate cache. When switching sessions this way, no change is made to the original ticket cache so the cached filesystem instance doesn't get regenerated.
$ export KRB5CCNAME=/tmp/krb5cc_session1
$ kinit user_a@domain
$ touch /fuse_mount/tmp/testfile1
$ ls -l /fuse_mount/tmp/testfile1
-rwxrwxr-x 1 user_a user_a 0 Mar 21 13:37 /fuse_mount/tmp/testfile1
$ export KRB5CCNAME=/tmp/krb5cc_session2
$ kinit user_b@domain
$ touch /fuse_mount/tmp/testfile2
$ ls -l /fuse_mount/tmp/testfile2
-rwxrwxr-x 1 user_a user_a 0 Mar 21 13:37 /fuse_mount/tmp/testfile2
expected owner to be user_b **