[
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)