hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ben West (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-5228) [REST] Rip out "transform" feature
Date Thu, 19 Jan 2012 17:27:40 GMT

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

   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)

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


View raw message