Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
We recently were upgrading an internal project's hbase client from 1.2 to 2.5. The project does raw HFile.Reader reading of some hfiles. We noticed an over 4x performance regression with the new client. Profiling showed that the majority of the time was spent in SingleByteBuff.checkRefCount. That ref counting is necessary for off-heap reads, but this case was using on-heap. Removing checkRefCount eliminated the regression.
I asked on the dev list and we agreed to remove checkRefCount calls for on-heap buffers: https://lists.apache.org/thread/2qm0g8fbxb0no4ozfx7bw8xmkryt4zz0