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

TestTokenAuthentication failing on hadoop2 build with "IllegalArgumentException: Can't get Kerberos realm"

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.95.2
    • 0.95.2
    • hadoop2, security
    • None

    Description

      On apache builds I see this often:

      org.apache.hadoop.hbase.security.token.TestTokenAuthentication.testTokenAuthentication
      
      Failing for the past 10 builds (Since #580 )
      Took 2 ms.
      Error Message
      
      Can't get Kerberos realm
      Stacktrace
      
      java.lang.IllegalArgumentException: Can't get Kerberos realm
      	at org.apache.hadoop.security.HadoopKerberosName.setConfiguration(HadoopKerberosName.java:65)
      	at org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.java:225)
      	at org.apache.hadoop.security.UserGroupInformation.setConfiguration(UserGroupInformation.java:247)
      	at org.apache.hadoop.hbase.security.token.TestTokenAuthentication.testTokenAuthentication(TestTokenAuthentication.java:360)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
      	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
      	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
      	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
      	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
      	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
      	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
      	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
      	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
      	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
      	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
      	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
      	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
      	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
      	at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
      	at org.junit.runners.Suite.runChild(Suite.java:127)
      	at org.junit.runners.Suite.runChild(Suite.java:26)
      	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
      	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
      	at java.lang.Thread.run(Thread.java:662)
      Caused by: java.lang.reflect.InvocationTargetException
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at org.apache.hadoop.security.authentication.util.KerberosUtil.getDefaultRealm(KerberosUtil.java:66)
      	at org.apache.hadoop.security.HadoopKerberosName.setConfiguration(HadoopKerberosName.java:63)
      	... 31 more
      Caused by: KrbException: Could not load configuration file /etc/krb5.conf (No such file or directory)
      	at sun.security.krb5.Config.<init>(Config.java:140)
      	at sun.security.krb5.Config.getInstance(Config.java:82)
      	... 37 more
      Caused by: java.io.FileNotFoundException: /etc/krb5.conf (No such file or directory)
      	at java.io.FileInputStream.open(Native Method)
      	at java.io.FileInputStream.<init>(FileInputStream.java:120)
      	at java.io.FileInputStream.<init>(FileInputStream.java:79)
      	at sun.security.krb5.Config$1.run(Config.java:519)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at sun.security.krb5.Config.loadConfigFile(Config.java:515)
      	at sun.security.krb5.Config.<init>(Config.java:136)
      	... 38 more
      

      Should be easy enough to fix.

      Attachments

        1. 8842.txt
          1 kB
          Michael Stack
        2. addendum.txt
          8 kB
          Michael Stack

        Activity

          People

            stack Michael Stack
            stack Michael Stack
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: