Details
Description
There is a weird interaction between the shell and HBA. When you try to close a region that doesn't exist, it doesn't throw any error:
hbase(main):029:0> close_region 'thisisaninvalidregion' 0 row(s) in 0.0580 seconds
Normally one should get UnknownRegionException. Starting the shell with "-d" I see what a non-shell user would see along with a ton of logging from ZK (skipped here):
INFO client.HBaseAdmin: No server in .META. for thisisaninvalidregion; pair=null
But again this is not the right message, it should have shown
INFO client.HBaseAdmin: No server in .META. for thisisaninvalidregion; pair=null
And this is because that part of the code treats both UnknownRegionException and NoServerForRegionException like if it was the same thing.
There is also some ugliness in flush, compact, and split but it normally doesn't show since the code treats everything like it's a table and sends a TableNotFoundException.
This jira is about making sure that the exceptions are correctly coming out.