accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Miller (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ACCUMULO-4444) NullPointerException when password not given to TraceTableStats
Date Fri, 16 Sep 2016 17:14:20 GMT

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

Michael Miller commented on ACCUMULO-4444:
------------------------------------------

I was thinking of leaving ChangeSecret as is since its a special case requiring 2 passwords.
 

It might be as easy as adding code to prompt for password to ClientOpts.getToken().  Like
you mentioned in pr153, my concern is with the tools that don't use PasswordTokens.  Do you
know if the "--tokenClass" parameter acts a catch all for non-password tokens?

> NullPointerException when password not given to TraceTableStats
> ---------------------------------------------------------------
>
>                 Key: ACCUMULO-4444
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-4444
>             Project: Accumulo
>          Issue Type: Bug
>          Components: trace
>    Affects Versions: 1.7.2, 1.8.0
>         Environment: 1.7.2 cluster
>            Reporter: Sean Busbey
>            Assignee: Michael Miller
>            Priority: Critical
>             Fix For: 1.7.3, 1.8.1, 2.0.0
>
>          Time Spent: 1h
>  Remaining Estimate: 0h
>
> I'm trying to follow the [admin guide on tracing|https://accumulo.apache.org/1.7/accumulo_user_manual#_viewing_collected_traces],
specifically with the {{TraceTableStats}} command.
> In attempting to get prompted for the password, I provided a username and no password,
which resulted in a NullPointerException.
> {code}
> $ accumulo org.apache.accumulo.tracer.TraceTableStats -i accumulo -u foobar
> 2016-09-01 11:05:47,420 [conf.ConfigSanityCheck] WARN : Use of instance.dfs.uri and instance.dfs.dir
are deprecated. Consider using instance.volumes instead.
> 2016-09-01 11:05:47,564 [client.ClientConfiguration] WARN : Found no client.conf in default
paths. Using default client configuration values.
> 2016-09-01 11:05:47,567 [client.ClientConfiguration] WARN : Found no client.conf in default
paths. Using default client configuration values.
> 2016-09-01 11:05:47,720 [start.Main] ERROR: Thread 'org.apache.accumulo.tracer.TraceTableStats'
died.
> java.lang.NullPointerException
>         at org.apache.accumulo.core.client.impl.ConnectorImpl.<init>(ConnectorImpl.java:59)
>         at org.apache.accumulo.core.client.ZooKeeperInstance.getConnector(ZooKeeperInstance.java:248)
>         at org.apache.accumulo.core.cli.ClientOpts.getConnector(ClientOpts.java:315)
>         at org.apache.accumulo.tracer.TraceTableStats.count(TraceTableStats.java:75)
>         at org.apache.accumulo.tracer.TraceTableStats.main(TraceTableStats.java:71)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:606)
>         at org.apache.accumulo.start.Main$2.run(Main.java:157)
>         at java.lang.Thread.run(Thread.java:745)
> {code}
> The impacted line is checking to see if the credential has expired, without checking
to see if there is a credential in the first place, I think?
> {code}
> 57  public ConnectorImpl(final ClientContext context) throws AccumuloException, AccumuloSecurityException
{
> 58    checkArgument(context != null, "context is null");
> 59    if (context.getCredentials().getToken().isDestroyed())
> 60      throw new AccumuloSecurityException(context.getCredentials().getPrincipal(),
SecurityErrorCode.TOKEN_EXPIRED);
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message