hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anoop Sam John (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HBASE-14186) Read mvcc vlong optimization
Date Tue, 04 Aug 2015 17:40:06 GMT
Anoop Sam John created HBASE-14186:

             Summary: Read mvcc vlong optimization
                 Key: HBASE-14186
                 URL: https://issues.apache.org/jira/browse/HBASE-14186
             Project: HBase
          Issue Type: Sub-task
            Reporter: Anoop Sam John
            Assignee: Anoop Sam John
             Fix For: 2.0.0

for (int idx = 0; idx < remaining; idx++) {
  byte b = blockBuffer.getByteAfterPosition(offsetFromPos + idx);
  i = i << 8;
  i = i | (b & 0xFF);
Doing the read as in case of BIG_ENDIAN.
After HBASE-12600, we tend to keep the mvcc and so byte by byte read looks eating up lot of
CPU time. (In my test HFileReaderImpl#_readMvccVersion comes on top in terms of hot methods).
We can optimize here by reading 4 or 2 bytes in one shot when the length of the vlong is more
than 4 bytes. We will in turn use UnsafeAccess methods which handles ENDIAN.

This message was sent by Atlassian JIRA

View raw message