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

Ben West commented on HBASE-5228:
---------------------------------

Thanks Andrew for this patch.

For others who might run into this: running a jstack on our REST server 
revealed that virtually every thread was hung waiting on a table descriptor:

{code}
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:485)
        at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:885)
        - locked <0x000000070218e7d0> (a 
org.apache.hadoop.hbase.ipc.HBaseClient$Call)
        at 
org.apache.hadoop.hbase.ipc.WritableRpcEngine$Invoker.invoke(WritableRpcEngine.java:150)
        at $Proxy61.getHTableDescriptors(Unknown Source)
        at 
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getHTableDescriptor(HConnectionManager.java:1871)
        at 
org.apache.hadoop.hbase.client.HTable.getTableDescriptor(HTable.java:404)
        at 
org.apache.hadoop.hbase.client.HTablePool$PooledHTable.getTableDescriptor(HTablePool.java:344)
        at 
org.apache.hadoop.hbase.rest.RowResultGenerator.<init>(RowResultGenerator.java:64)
        at 
org.apache.hadoop.hbase.rest.ResultGenerator.fromRowSpec(ResultGenerator.java:35)
        at org.apache.hadoop.hbase.rest.RowResource.get(RowResource.java:86)
{code}

So if your REST server is running slowly on an affected version, I guess try 
running a jstack and see if you see this behavior.
                
> [REST] Rip out "transform" feature
> ----------------------------------
>
>                 Key: HBASE-5228
>                 URL: https://issues.apache.org/jira/browse/HBASE-5228
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.92.0, 0.94.0, 0.90.5
>            Reporter: Andrew Purtell
>            Assignee: Andrew Purtell
>             Fix For: 0.94.0, 0.92.1, 0.90.6
>
>         Attachments: HBASE-5228-0.92.patch, HBASE-5228-trunk.patch
>
>
> The 'transform' feature, where REST can be instructed, via a table attribute, 
> to apply a transformation (e.g. base64 encoding or decoding) to a (sub)set of 
> column values before serving them up to a client or storing them into HBase, 
> was added some time ago at the request of Jack Levin. I have since come to 
> regret it, it was not a well thought out feature:
>   - This is really an application concern.
>   - It adds significant overhead to request processing: Periodically a 
> HBaseAdmin is used to retrieve the table descriptor, in order to scan through 
> table attributes for transformation directives. 
> I think it is best to rip it out, its a real problem area, and REST should be 
> no more concerned about data formats than the Java API. 
> I doubt anyone uses this, not even Jack. Will need to follow up with him to 
> confirm.

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