Hi, Recently we upgraded our HBase cluster from 0.98.6-cdh5.3.0 to 1.2.0-cdh5.8.3. The clients were also upgraded to use the new version of the client library (1.2.0-cdh5.8.3). This caused a considerable decrease in the scan speed in our apps. But when we switched the client to use an old version (0.98.6-cdh5.3.0) of the client library to scan the new HBase cluster (1.2.0-cdh5.8.3) we were able to get the old performance on scans. It was made sure that there was no resource pressure on the HBase server machines (both CPU load average and Free memory was monitored)
To understand this better, we profiled the app that was calling the scans with both the old (0.98.6-cdh5.3.0) and new (1.2.0-cdh5.8.3) HBase client libraries (HBase server version: 1.2.0-cdh5.8.3) Client Profile using Old HBase client library [image: Inline images 1] Client Profile using New HBase client library [image: Inline images 2] There seems to be a difference in the call stack while making rpc calls to the servers for scans. Can someone help shed some light on the performance difference between the old and new client jar? Is there any configuration we should enable in the new jar that will enable/disable some feature that we are not aware of? Thanks, Dinesh
