Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-20859

Backup and incremental load could fail in secure clusters

VotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 3.0.0-alpha-1
    • backup&restore
    • None
    • Reviewed

    Description

      HBase Backup and incremental load uses HConstants.DEFAULT_TEMPORARY_HDFS_DIRECTORY for temporary path.

      HConstants.DEFAULT_TEMPORARY_HDFS_DIRECTORY uses the Java runtime user name to generate a temporary path on HDFS. This can be a wrong assumption in a secure cluster where Kerberos principal name can be different from the system user name.

      public static final String DEFAULT_TEMPORARY_HDFS_DIRECTORY = "/user/"
            + System.getProperty("user.name") + "/hbase-staging";
      

      This constant variable is used in BackupUtils.java and HFileOutputFormat2.java

      In such cases, you will not be able to write files to the temporary location on HDFS due to permission error, and therefore operations such as backup will fail.

      This bug is similar in nature to HDFS-12485.

      Attachments

        1. HBASE-20859.master.003.patch
          10 kB
          Wei-Chiu Chuang
        2. HBASE-20859.master.002.patch
          6 kB
          Wei-Chiu Chuang
        3. HBASE-20859.master.001.patch
          6 kB
          Wei-Chiu Chuang

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            weichiu Wei-Chiu Chuang
            weichiu Wei-Chiu Chuang
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment