[ https://issues.apache.org/jira/browse/HADOOP-14389?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andras Bokor updated HADOOP-14389: ---------------------------------- Attachment: HADOOP-14389.01.patch I have addressed the wrong exceptions with fixing {{KerberosName.Rule#replaceParameters}} and making {{ruleParser}} stricter. bq. \[^\\\]\] does not really make sense.... Can be removed by changing some logic in {{KerberosName#parseRules}}. It splits the rules by new lines. This also fixes an error message issue. So far in case of error it logged the {{remaining}} which contains all the rules. According to the new logic it logs only the rule which throws the exception. bq. In tests some corner cases are not covered. I have added all the test cases that came into my mind. Also I built and replaced hadoop-auth jar on a test cluster. {code}root@abokor-practice-5:/etc/hadoop-3.0.0-alpha2# /etc/hadoop-3.0.0-alpha2/bin/hadoop kerbname {nn,dn,rm,nm,jhs}/host.dom...@realm.tld Name: nn/host.dom...@realm.tld to hdfs Name: dn/host.dom...@realm.tld to hdfs Name: rm/host.dom...@realm.tld to yarn Name: nm/host.dom...@realm.tld to yarn Name: jhs/host.dom...@realm.tld to mapred{code} > Exception handling is incorrect in KerberosName.java > ---------------------------------------------------- > > Key: HADOOP-14389 > URL: https://issues.apache.org/jira/browse/HADOOP-14389 > Project: Hadoop Common > Issue Type: Bug > Reporter: Andras Bokor > Assignee: Andras Bokor > Attachments: HADOOP-14389.01.patch > > > I found multiple inconsistency: > Rule: {{RULE:\[2:$1/$2\@$3\](.\*)s/.\*/hdfs/}} > Principal: {{nn/host.dom...@realm.tld}} > Expected exception: {{BadStringFormat: ...3 is out of range...}} > Actual exception: {{ArrayIndexOutOfBoundsException: 3}} > ---- > Rule: {{RULE:\[:$1/$2\@$0](.\*)s/.\*/hdfs/}} (Missing num of components) > Expected: {{IllegalArgumentException}} > Actual: {{java.lang.NumberFormatException: For input string: ""}} > ---- > Rule: {{RULE:\[2:$-1/$2\@$3\](.\*)s/.\*/hdfs/}} > Expected {{BadStringFormat: -1 is outside of valid range...}} > Actual: {{java.lang.NumberFormatException: For input string: ""}} > ---- > Rule: {{RULE:\[2:$one/$2\@$3\](.\*)s/.\*/hdfs/}} > Expected {{java.lang.NumberFormatException: For input string: "one"}} > Acutal {{java.lang.NumberFormatException: For input string: ""}} > ---- > In addtion: > {code}[^\\]]{code} > does not really make sense in {{ruleParser}}. Most probably it was needed > because we parse the whole rule string and remove the parsed rule from > beginning of the string: {{KerberosName#parseRules}}. This made the regex > engine parse wrong without it. > In addition: > In tests some corner cases are not covered. -- This message was sent by Atlassian JIRA (v6.3.15#6346) --------------------------------------------------------------------- To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-issues-h...@hadoop.apache.org