Uploaded image for project: 'Falcon'
  1. Falcon
  2. FALCON-2025

Periodic revalidation of kerberos credentials should be done on loginUser

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • trunk, 0.10
    • None
    • None

    Description

      For some users, Falcon server fails to perform any operations on workflow engine after the kerberos credentials expire. Falcon server revalidates the credentials from keytab on access saying ugi.checkTGTAndReloginFromKeytab(), but this operation will not work when ugi belongs to proxy user. The relogin should be done on UserGroupInformation.getLoginUser() for the falcon credentials to be renewed.

      Also, there is a periodic relogin thread which just needed to call the checkTGTAndRelogin alone instead of trampling Subject.

      The error looks as follows.

      falcon instance -list -type process -name procName 
      log4j:WARN No appenders could be found for logger (org.apache.hadoop.security.authentication.client.KerberosAuthenticator). 
      log4j:WARN Please initialize the log4j system properly. 
      log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 
      ERROR: Bad Request;default/org.apache.falcon.FalconWebException::org.apache.falcon.FalconException: java.io.IOException: Failed on local exception: java.io.IOException: javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt)]; Host Details : local host is: "machine.test.group/<IP Addr>"; destination host is: "machine.test.group":8020; 
      

      Attachments

        Issue Links

          Activity

            People

              bvellanki Balu Vellanki
              bvellanki Balu Vellanki
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: