[ 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