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:

{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

        

Mime
View raw message