You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by "Josh Elser (JIRA)" <ji...@apache.org> on 2014/01/03 00:07:50 UTC

[jira] [Comment Edited] (ACCUMULO-2091) Concurrent random walk fails to rename across namespaces

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

Josh Elser edited comment on ACCUMULO-2091 at 1/2/14 11:06 PM:
---------------------------------------------------------------

Edit: I talked to [~ctubbsii] on IRC who told me that he already has a WIP so I've stopped looking at this until he commits his changes.

I have a quick patch sitting locally which creates an InvalidNamespaceNameException and wraps it with an AccumuloException instead of what currently exists which is a bit cleaner to me.

This would satisfy your concerns as we have a specific exception to catch and the exception contains the message that they tried to rename a table across namespaces. I tried to lift up the above InvalidNamespaceNameException to the interface but got a little worried about the impact with all the try/catch's which just eat certain Exceptions and throw an AssertionException instead.


was (Author: elserj):
I have a quick patch sitting locally which creates an InvalidNamespaceNameException and wraps it with an AccumuloException instead of what currently exists which is a bit cleaner to me.

This would satisfy your concerns as we have a specific exception to catch and the exception contains the message that they tried to rename a table across namespaces. I tried to lift up the above InvalidNamespaceNameException to the interface but got a little worried about the impact with all the try/catch's which just eat certain Exceptions and throw an AssertionException instead.

> Concurrent random walk fails to rename across namespaces
> --------------------------------------------------------
>
>                 Key: ACCUMULO-2091
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-2091
>             Project: Accumulo
>          Issue Type: Bug
>         Environment: db746960fbcafb1651c15ec2e5493d56acb5065c
>            Reporter: Keith Turner
>            Assignee: Josh Elser
>             Fix For: 1.6.0
>
>
> Saw the following walker log.   I think we should modify the test to detect when its attempting to rename across namespaces and make it expect an error.  Probably should not be getting an Accumulo exception.
> {noformat}
> 24 17:45:03,730 [randomwalk.Module] DEBUG:   users: [user000, user001, user002, user003, user004]
> 24 17:45:03,731 [randomwalk.Framework] ERROR: Error during random walk
> java.lang.Exception: Error running node Concurrent.xml
>         at org.apache.accumulo.test.randomwalk.Module.visit(Module.java:285)
>         at org.apache.accumulo.test.randomwalk.Framework.run(Framework.java:65)
>         at org.apache.accumulo.test.randomwalk.Framework.main(Framework.java:125)
>         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$1.run(Main.java:137)
>         at java.lang.Thread.run(Thread.java:744)
> Caused by: java.lang.Exception: Error running node ct.RenameTable
>         at org.apache.accumulo.test.randomwalk.Module.visit(Module.java:285)
>         at org.apache.accumulo.test.randomwalk.Module.visit(Module.java:254)
>         ... 8 more
> Caused by: org.apache.accumulo.core.client.AccumuloException: Internal error processing waitForTableOperation
>         at org.apache.accumulo.core.client.admin.TableOperationsImpl.doTableOperation(TableOperationsImpl.java:334)
>         at org.apache.accumulo.core.client.admin.TableOperationsImpl.doTableOperation(TableOperationsImpl.java:300)
>         at org.apache.accumulo.core.client.admin.TableOperationsImpl.rename(TableOperationsImpl.java:773)
>         at org.apache.accumulo.test.randomwalk.concurrent.RenameTable.visit(RenameTable.java:44)
>         at org.apache.accumulo.test.randomwalk.Module.visit(Module.java:254)
>         ... 9 more
> Caused by: org.apache.thrift.TApplicationException: Internal error processing waitForTableOperation
>         at org.apache.thrift.TApplicationException.read(TApplicationException.java:108)
>         at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:71)
>         at org.apache.accumulo.core.master.thrift.MasterClientService$Client.recv_waitForTableOperation(MasterClientService.java:610)
>         at org.apache.accumulo.core.master.thrift.MasterClientService$Client.waitForTableOperation(MasterClientService.java:595)
>         at org.apache.accumulo.core.client.admin.TableOperationsImpl.waitForTableOperation(TableOperationsImpl.java:272)
>         at org.apache.accumulo.core.client.admin.TableOperationsImpl.doTableOperation(TableOperationsImpl.java:314)
>         ... 13 more
> {noformat}
> Saw following in master log
> {noformat}
> 2013-12-24 17:45:03,941 [thrift.ProcessFunction] ERROR: Internal error processing waitForTableOperation
> java.lang.IllegalArgumentException: Namespace in new table name does not match the old table name
>         at org.apache.accumulo.master.tableOps.RenameTable.call(RenameTable.java:67)
>         at org.apache.accumulo.master.tableOps.RenameTable.call(RenameTable.java:37)
>         at org.apache.accumulo.master.tableOps.TraceRepo.call(TraceRepo.java:54)
>         at org.apache.accumulo.fate.Fate$TransactionRunner.run(Fate.java:67)
>         at org.apache.accumulo.fate.util.LoggingRunnable.run(LoggingRunnable.java:34)
>         at java.lang.Thread.run(Thread.java:744)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)