Hi Ramkrishna,

I had taken the experimental label to mean "use at your own risk" when the feature was released in 0.92. After some judicious testing in the spirit of "use at your own risk", we found the feature worked well for our use case. In 0.94, we had expected off-heap cache to be the same as 0.92, or perhaps even with a few small improvements. It came as a bit of a surprise that the feature went from experimental to plain broken.

Perhaps my interpretation of "experimental" was off base to begin with - in retrospect it may have been presumptuous to assume that an "experimental" feature would only become more mature and eventually graduate to a full-fledged feature. I can see how such a feature might go the other way, quietly going from experimental to deprecated to broken.

We'd love a viable off-heap cache solution - we're currently scrambling a bit for options in production since we're not able to roll back to 0.92.1. The HBASE-7404 solution that Ted pointed out looks awesome, but we're not in a position to move to 0.96 to take advantage of it. At this point, I'm fishing for options. We run a mix of random reads and scans. We disable block cache for scans to improve random read performance. With a chunk of RAM allocated to off-heap cache, this seemed to work well. Now that we're dominated by filesystem cache, scans with block cache disabled still trash the cache, significantly hurting our random read performance. We've got short-circuit reads and Hbase checksums enabled in an attempt to gain back some of the lost perf, but they are more of a band-aid than a fix for root cause. Any suggestions are much appreciated.

Cheers,

Dean

Reply via email to