[ 
https://issues.apache.org/jira/browse/HBASE-10675?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13923734#comment-13923734
 ] 

Anoop Sam John commented on HBASE-10675:
----------------------------------------

{code}
args = clazzAndArgs.length == 1 ? new String[0] : 
Arrays.copyOfRange(clazzAndArgs, 1,
+          clazzAndArgs.length);            
{code}
This is wrong for case of dataGen instanceof LoadTestDataGeneratorWithACL
There it should be like
{code}
args = clazzAndArgs.length == 3 ? new String[0] : 
Arrays.copyOfRange(clazzAndArgs, 3,
+          clazzAndArgs.length);       
{code}
Also u can check for min length of 3. Making superUser and users arg optional 
here wont work out as we rely on the order of args coming in.

Default values for superUser and users can be added in 
IntegrationTestIngestWithACL.  If arg is not passed, sb.append(superUser); will 
add a String null
So the below null checks wont make effect
{code}
+        if (clazzAndArgs[1] != null) {
+          superUser = clazzAndArgs[1];
+        }
+        if (clazzAndArgs[2] != null) {
+          userNames = clazzAndArgs[2];
+        }
{code}


> IntegrationTestIngestWithACL should allow User to be passed as Parameter
> ------------------------------------------------------------------------
>
>                 Key: HBASE-10675
>                 URL: https://issues.apache.org/jira/browse/HBASE-10675
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Ted Yu
>            Assignee: ramkrishna.s.vasudevan
>         Attachments: HBASE-10675_1.patch, HBASE-10675_2.patch
>
>
> The IntegrationTestIngestWithACL needs to be modified to allow the user to be 
> passed in as an argument at run time. Currently, the test is using a fixed 
> set of user names which cannot be authenticated via Kerberos, causing the 
> test to fail. Allowing the username to be passed at run time will allow a 
> user that is already authenticated by Kerberos to be used, and resolve the 
> failure.
> {code}
> 2014-02-06 02:58:25,315|beaver.machine|INFO|RUNNING: /usr/bin/kinit -c 
> /hbase.kerberos.ticket -k -t /home/hadoopqa/keytabs/hbase.headless.keytab 
> hbase
> 2014-02-06 02:58:25,325|beaver.machine|INFO|RUNNING: /usr/lib/hbase/bin/hbase 
> --config /tmp/hbaseConf org.apache.hadoop.hbase.IntegrationTestsDriver -regex 
> IntegrationTestIngestWithACL
> 2014-02-06 02:58:34,489|beaver.machine|INFO|2014-02-06 02:58:34,489 DEBUG 
> HBaseWriterThreadWithACL_1 token.AuthenticationTokenSelector: No matching 
> token found
> 2014-02-06 02:58:34,493|beaver.machine|INFO|2014-02-06 02:58:34,489 DEBUG 
> HBaseWriterThreadWithACL_1 security.HBaseSaslRpcClient: Creating SASL GSSAPI 
> client. Server's Kerberos principal name is 
> hbase/h2-ubuntu12-sec-1391405488-hbase-7.cs1cloud.inter...@example.com
> 2014-02-06 02:58:34,493|beaver.machine|INFO|2014-02-06 02:58:34,491 WARN 
> HBaseWriterThreadWithACL_1 security.UserGroupInformation: 
> PriviledgedActionException as:owner (auth:SIMPLE) 
> cause:javax.security.sasl.SaslException: GSS initiate failed Caused by 
> GSSException: No valid credentials provided (Mechanism level: Failed to find 
> any Kerberos tgt)
> 2014-02-06 02:58:34,493|beaver.machine|INFO|2014-02-06 02:58:34,492 WARN 
> HBaseWriterThreadWithACL_1 ipc.RpcClient: Exception encountered while 
> connecting to the server : javax.security.sasl.SaslException: GSS initiate 
> failed Caused by GSSException: No valid credentials provided (Mechanism 
> level: Failed to find any Kerberos tgt)
> 2014-02-06 02:58:34,498|beaver.machine|INFO|2014-02-06 02:58:34,493 FATAL 
> HBaseWriterThreadWithACL_1 ipc.RpcClient: SASL authentication failed. The 
> most likely cause is missing or invalid credentials. Consider 'kinit'.
> 2014-02-06 
> 02:58:34,499|beaver.machine|INFO|javax.security.sasl.SaslException: GSS 
> initiate failed Caused by GSSException: No valid credentials provided 
> (Mechanism level: Failed to find any Kerberos tgt)
> 2014-02-06 02:58:34,499|beaver.machine|INFO|at 
> com.sun.security.sasl.gsskerb.GssKrb5Client.evaluateChallenge(GssKrb5Client.java:194)
> 2014-02-06 02:58:34,499|beaver.machine|INFO|at 
> org.apache.hadoop.hbase.security.HBaseSaslRpcClient.saslConnect(HBaseSaslRpcClient.java:152)
> 2014-02-06 02:58:34,500|beaver.machine|INFO|at 
> org.apache.hadoop.hbase.ipc.RpcClient$Connection.setupSaslConnection(RpcClient.java:762)
> 2014-02-06 02:58:34,500|beaver.machine|INFO|at 
> org.apache.hadoop.hbase.ipc.RpcClient$Connection.access$600(RpcClient.java:354)
> 2014-02-06 02:58:34,500|beaver.machine|INFO|at 
> org.apache.hadoop.hbase.ipc.RpcClient$Connection$2.run(RpcClient.java:883)
> 2014-02-06 02:58:34,501|beaver.machine|INFO|at 
> org.apache.hadoop.hbase.ipc.RpcClient$Connection$2.run(RpcClient.java:880)
> 2014-02-06 02:58:34,501|beaver.machine|INFO|at 
> java.security.AccessController.doPrivileged(Native Method)
> 2014-02-06 02:58:34,501|beaver.machine|INFO|at 
> javax.security.auth.Subject.doAs(Subject.java:396)
> 2014-02-06 02:58:34,501|beaver.machine|INFO|at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1548)
> 2014-02-06 02:58:34,502|beaver.machine|INFO|at 
> org.apache.hadoop.hbase.ipc.RpcClient$Connection.setupIOstreams(RpcClient.java:880)
> 2014-02-06 02:58:34,502|beaver.machine|INFO|at 
> org.apache.hadoop.hbase.ipc.RpcClient.getConnection(RpcClient.java:1536)
> 2014-02-06 02:58:34,502|beaver.machine|INFO|at 
> org.apache.hadoop.hbase.ipc.RpcClient.call(RpcClient.java:1425)
> 2014-02-06 02:58:34,502|beaver.machine|INFO|at 
> org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1654)
> 2014-02-06 02:58:34,503|beaver.machine|INFO|at 
> org.apache.hadoop.hbase.ipc.RpcClient$BlockingRpcChannelImplementation.callBlockingMethod(RpcClient.java:1712)
> 2014-02-06 02:58:34,503|beaver.machine|INFO|at 
> org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$BlockingStub.get(ClientProtos.java:28833)
> 2014-02-06 02:58:34,503|beaver.machine|INFO|at 
> org.apache.hadoop.hbase.protobuf.ProtobufUtil.getRowOrBefore(ProtobufUtil.java:1466)
> 2014-02-06 02:58:34,503|beaver.machine|INFO|at 
> org.apache.hadoop.hbase.client.HTable$2.call(HTable.java:701)
> 2014-02-06 02:58:34,504|beaver.machine|INFO|at 
> org.apache.hadoop.hbase.client.HTable$2.call(HTable.java:699)
> 2014-02-06 02:58:34,504|beaver.machine|INFO|at 
> org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:120)
> 2014-02-06 02:58:34,504|beaver.machine|INFO|at 
> org.apache.hadoop.hbase.client.HTable.getRowOrBefore(HTable.java:705)
> 2014-02-06 02:58:34,504|beaver.machine|INFO|at 
> org.apache.hadoop.hbase.client.MetaScanner.metaScan(MetaScanner.java:144)
> {code}
> Thanks to Huned who discovered this issue.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to