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

Jean-Daniel Cryans commented on HBASE-5415:
-------------------------------------------

bq. I still don't understand how we can tell the different between a misc 
directory in wrong place and a table directory missing its .tableinfo. Both 
would look the same to the interrogating code I'd think?

I agree, so we used to send TEE and as you can see in the patch it never did 
anything special with it. Now we keep this behavior of printing something (a 
WARN) and then return null, which the rest of the code handles already.

bq. I mean, if I had client code that had a catch of a TEE, it'd stop working, 
right? (I'd doubt such a thing exists so I'm not too bad on removing this)

No, since you still have to catch the IOE somehow. Also it's not part of a 
public interface, only HMaster and HRegionServer use TableDescriptors
                
> FSTableDescriptors should handle random folders in hbase.root.dir better
> ------------------------------------------------------------------------
>
>                 Key: HBASE-5415
>                 URL: https://issues.apache.org/jira/browse/HBASE-5415
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.92.0
>            Reporter: Jean-Daniel Cryans
>            Priority: Critical
>             Fix For: 0.92.1, 0.94.0
>
>         Attachments: HBASE-5415.patch
>
>
> I faked an upgrade on a test cluster using our dev data so I had to distcp 
> the data between the two clusters, but after starting up and doing the 
> migration and whatnot the web UI didn't show any table. The reason was in the 
> master's log:
> {quote}
> org.apache.hadoop.hbase.TableExistsException: No descriptor for 
> _distcp_logs_e0ehek
>         at 
> org.apache.hadoop.hbase.util.FSTableDescriptors.get(FSTableDescriptors.java:164)
>         at 
> org.apache.hadoop.hbase.util.FSTableDescriptors.getAll(FSTableDescriptors.java:182)
>         at 
> org.apache.hadoop.hbase.master.HMaster.getHTableDescriptors(HMaster.java:1554)
>         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.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
>         at 
> org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {quote}
> I don't think we need to show a full stack (just a WARN maybe), this 
> shouldn't kill the request (still see tables in the web UI), and why is that 
> a TableExistsException?

--
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

        

Reply via email to