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

Enis Soztutar commented on HBASE-9510:
--------------------------------------

bq. Since FSTableDescriptors.get() returns null on non-existent. Shouldn't we 
be consistent and do the same.
TableNamespaceManager.get() returns null, if ns does not exists. The other 
methods, remove(), update() throws exceptions. We cannot just return null from 
them. 
bq. Regarding listTablesByNS api. I think it should return non-existent 
namespace exceptions. Else it seems to be masking an error?
Agreed. Made the change. 
bq. change the delimiter used by tableNameFoo to use the constant
done. 
                
> Namespace operations should throw clean exceptions
> --------------------------------------------------
>
>                 Key: HBASE-9510
>                 URL: https://issues.apache.org/jira/browse/HBASE-9510
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Enis Soztutar
>            Assignee: Enis Soztutar
>             Fix For: 0.98.0, 0.96.0
>
>         Attachments: hbase-9510_v1.patch, hbase-9510_v2.patch, 
> hbase-9510_v3.patch
>
>
> Some of the namespace operations does not throw clean exceptions mimicking 
> table exceptions (TableNotFoundException, etc). 
> For example:
> {code}
> hbase(main):007:0> describe_namespace 'non_existing_namespace'
> ERROR: java.io.IOException
>       at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2117)
>       at 
> org.apache.hadoop.hbase.ipc.RpcServer$CallRunner.run(RpcServer.java:1816)
>       at 
> org.apache.hadoop.hbase.ipc.SimpleRpcScheduler.consumerLoop(SimpleRpcScheduler.java:165)
>       at 
> org.apache.hadoop.hbase.ipc.SimpleRpcScheduler.access$0(SimpleRpcScheduler.java:161)
>       at 
> org.apache.hadoop.hbase.ipc.SimpleRpcScheduler$1.run(SimpleRpcScheduler.java:113)
>       at java.lang.Thread.run(Thread.java:680)
> Caused by: java.lang.NullPointerException
>       at 
> org.apache.hadoop.hbase.protobuf.ProtobufUtil.toProtoNamespaceDescriptor(ProtobufUtil.java:2138)
>       at 
> org.apache.hadoop.hbase.master.HMaster.getNamespaceDescriptor(HMaster.java:3029)
>       at 
> org.apache.hadoop.hbase.protobuf.generated.MasterAdminProtos$MasterAdminService$2.callBlockingMethod(MasterAdminProtos.java:32904)
>       at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2079)
>       ... 5 more
> {code}
> We can clean up the exceptions thrown from ns commands. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to