You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@accumulo.apache.org by "Keith Turner (Updated) (JIRA)" <ji...@apache.org> on 2012/01/13 22:00:40 UTC

[jira] [Updated] (ACCUMULO-295) Client side metadata cache caches credentials

     [ https://issues.apache.org/jira/browse/ACCUMULO-295?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Keith Turner updated ACCUMULO-295:
----------------------------------

          Component/s:     (was: test)
                       client
    Affects Version/s: 1.4.0
                       1.3.5
        Fix Version/s:     (was: 1.4.0)
                       1.5.0
              Summary: Client side metadata cache caches credentials  (was: Random walk security test does not consider bad credentials case)

This is an odd bug, not likely to occur in normal use.  The best fix would be to change the TabletLocator API to pass in the credentials on all of its methods. This is not a small change and may introduce bugs.  Therefore its probably not worth the risk of fixing in 1.4 since we would like to release that ASAP.  This bug has existed for a long time and no user has run into it. It was only found after writing the security random walk test and running that on a cluster.
                
> Client side metadata cache caches credentials
> ---------------------------------------------
>
>                 Key: ACCUMULO-295
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-295
>             Project: Accumulo
>          Issue Type: Bug
>          Components: client
>    Affects Versions: 1.3.5, 1.4.0
>            Reporter: Keith Turner
>            Assignee: Keith Turner
>             Fix For: 1.5.0
>
>
> Saw the following while running the random walk test.  Not sure, but I think this is a bug with the test.  I think it does not properly handle the bad credentials case. 
> {noformat}
> 09 20:40:40,275 [randomwalk.Framework] ERROR: Error during random walk
> java.lang.Exception: Error running node Security.xml
> 	at org.apache.accumulo.server.test.randomwalk.Module.visit(Module.java:236)
> 	at org.apache.accumulo.server.test.randomwalk.Framework.run(Framework.java:61)
> 	at org.apache.accumulo.server.test.randomwalk.Framework.main(Framework.java:114)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.accumulo.start.Main$1.run(Main.java:89)
> 	at java.lang.Thread.run(Thread.java:662)
> Caused by: java.lang.Exception: Error running node security.TableOp
> 	at org.apache.accumulo.server.test.randomwalk.Module.visit(Module.java:236)
> 	at org.apache.accumulo.server.test.randomwalk.Module.visit(Module.java:234)
> 	... 8 more
> Caused by: org.apache.accumulo.core.client.AccumuloException: Unexpected exception!
> 	at org.apache.accumulo.server.test.randomwalk.security.TableOp.visit(TableOp.java:125)
> 	at org.apache.accumulo.server.test.randomwalk.Module.visit(Module.java:234)
> 	... 9 more
> Caused by: java.lang.RuntimeException: org.apache.accumulo.core.client.AccumuloSecurityException: Error BAD_CREDENTIALS - Username or Password is Invalid
> 	at org.apache.accumulo.core.client.impl.ScannerIterator.hasNext(ScannerIterator.java:186)
> 	at org.apache.accumulo.server.test.randomwalk.security.TableOp.visit(TableOp.java:90)
> 	... 10 more
> Caused by: org.apache.accumulo.core.client.AccumuloSecurityException: Error BAD_CREDENTIALS - Username or Password is Invalid
> 	at org.apache.accumulo.core.client.impl.TabletServerBatchReaderIterator.doLookup(TabletServerBatchReaderIterator.java:576)
> 	at org.apache.accumulo.core.client.impl.MetadataLocationObtainer.lookupTablets(MetadataLocationObtainer.java:146)
> 	at org.apache.accumulo.core.client.impl.TabletLocatorImpl.processInvalidated(TabletLocatorImpl.java:580)
> 	at org.apache.accumulo.core.client.impl.TabletLocatorImpl._locateTablet(TabletLocatorImpl.java:524)
> 	at org.apache.accumulo.core.client.impl.TabletLocator$1._locateTablet(TabletLocator.java:115)
> 	at org.apache.accumulo.core.client.impl.TabletLocatorImpl.locateTablet(TabletLocatorImpl.java:370)
> 	at org.apache.accumulo.core.client.impl.TabletLocatorImpl.lookupTabletLocation(TabletLocatorImpl.java:390)
> 	at org.apache.accumulo.core.client.impl.TabletLocatorImpl._locateTablet(TabletLocatorImpl.java:536)
> 	at org.apache.accumulo.core.client.impl.TabletLocatorImpl.locateTablet(TabletLocatorImpl.java:370)
> 	at org.apache.accumulo.core.client.impl.ThriftScanner.scan(ThriftScanner.java:245)
> 	at org.apache.accumulo.core.client.impl.ScannerIterator$Reader.run(ScannerIterator.java:94)
> 	at org.apache.accumulo.core.client.impl.ScannerIterator.hasNext(ScannerIterator.java:176)
> 	... 11 more
> Caused by: ThriftSecurityException(user:xxx, code:BAD_CREDENTIALS)
> 	at org.apache.accumulo.core.tabletserver.thrift.TabletClientService$startMultiScan_result.read(TabletClientService.java:7586)
> 	at org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Client.recv_startMultiScan(TabletClientService.java:306)
> 	at org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Client.startMultiScan(TabletClientService.java:274)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at cloudtrace.instrument.thrift.TraceWrap$2.invoke(TraceWrap.java:83)
> 	at $Proxy4.startMultiScan(Unknown Source)
> 	at org.apache.accumulo.core.client.impl.TabletServerBatchReaderIterator.doLookup(TabletServerBatchReaderIterator.java:539)
> 	... 22 more
> {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira