User.getCurrent() can cause NPE.
--------------------------------

                 Key: HBASE-4515
                 URL: https://issues.apache.org/jira/browse/HBASE-4515
             Project: HBase
          Issue Type: Bug
    Affects Versions: 0.92.0, 0.94.0
            Reporter: Jonathan Hsieh


When testing with miniclusters that shutdown and are restarted, sometimes a 
call to User.getCurrent().getName() NPEs when attempting to restart hbase.  
Oddly this happens consistently on particular branches and not on others. I 
don't know or understand why this happens but it has something to do with the 
getCurrentUGI call in  o.a.h.h.security.User.HadoopUser sometimes returning 
null and sometimes returning data.

{code}
   private HadoopUser() {
      try {
        ugi = (UserGroupInformation) callStatic("getCurrentUGI");
        if (ugi == null) {
          LOG.warn("Although successfully retrieved UserGroupInformation" 
              + "  it was null!");
        }
      } catch (RuntimeException re) {
{code}

This patch essentially is a workaround -- it propagates the null so that 
clients can check and avoid the NPE.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to