[ https://issues.apache.org/jira/browse/HADOOP-11267?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14198878#comment-14198878 ]
Haohui Mai commented on HADOOP-11267: ------------------------------------- + try { + assertFalse(SecurityUtil.isTGSPrincipal + (new KerberosPrincipal("/@"))); + } catch (IllegalArgumentException iae) { + // Same as above. In recent JDK versions, an IllegalArgumentException + // is thrown if the principal name is empty. + GenericTestUtils.assertExceptionContains("Empty nameString not allowed", iae); + } Maybe it makes more sense to remove the assertions instead of catching the Exception as the check does not offer much value. > TestSecurityUtil fails when run with JDK8 because of empty principal names > -------------------------------------------------------------------------- > > Key: HADOOP-11267 > URL: https://issues.apache.org/jira/browse/HADOOP-11267 > Project: Hadoop Common > Issue Type: Bug > Components: security, test > Affects Versions: 2.3.0 > Reporter: Stephen Chu > Assignee: Stephen Chu > Priority: Minor > Attachments: HADOOP-11267.1.patch > > > Running {{TestSecurityUtil}} on JDK8 will fail: > {code} > java.lang.IllegalArgumentException: Empty nameString not allowed > at > sun.security.krb5.PrincipalName.validateNameStrings(PrincipalName.java:171) > at sun.security.krb5.PrincipalName.<init>(PrincipalName.java:393) > at sun.security.krb5.PrincipalName.<init>(PrincipalName.java:460) > at > javax.security.auth.kerberos.KerberosPrincipal.<init>(KerberosPrincipal.java:120) > at > org.apache.hadoop.security.TestSecurityUtil.isOriginalTGTReturnsCorrectValues(TestSecurityUtil.java:57) > {code} > In JDK8, PrincipalName checks that its name is not empty and throws an > IllegalArgumentException if it is empty. This didn't happen in JDK6/7. -- This message was sent by Atlassian JIRA (v6.3.4#6332)