Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-3608

fuse_dfs: detect changes in UID ticket cache



    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 2.0.0-alpha
    • 2.0.2-alpha
    • None
    • None


      Currently in fuse_dfs, if one kinits as some principal "foo" and then does some operation on fuse_dfs, then kdestroy and kinit as some principal "bar", subsequent operations done via fuse_dfs will still use cached credentials for "foo". The reason for this is that fuse_dfs caches Filesystem instances using the UID of the user running the command as the key into the cache. This is a very uncommon scenario, since it's pretty uncommon for a single user to want to use credentials for several different principals on the same box.

      However, we can use inotify to detect changes in the Kerberos ticket cache file and force the next operation to create a new FileSystem instance in that case. This will also require a reference counting mechanism in fuse_dfs so that we can free the FileSystem classes when they refer to previous Kerberos ticket caches.

      Another mechanism is to run a stat periodically on the ticket cache file. This is a good fallback mechanism if inotify does not work on the file (for example, because it's on an NFS mount.)


        1. HDFS-3608.004.patch
          93 kB
          Colin McCabe
        2. HDFS-3608.006.patch
          94 kB
          Colin McCabe
        3. HDFS-3608.007.patch
          95 kB
          Colin McCabe
        4. HDFS-3608.008.patch
          81 kB
          Colin McCabe
        5. HDFS-3608.009.patch
          89 kB
          Colin McCabe
        6. HDFS-3608.010.patch
          89 kB
          Colin McCabe
        7. HDFS-3608.011.patch
          90 kB
          Colin McCabe
        8. HDFS-3608.patch
          90 kB
          Aaron Myers

        Issue Links



              cmccabe Colin McCabe
              cmccabe Colin McCabe
              0 Vote for this issue
              6 Start watching this issue