Anoop Sam John created HBASE-14940:
--------------------------------------
Summary: Make our unsafe based ops more safe
Key: HBASE-14940
URL: https://issues.apache.org/jira/browse/HBASE-14940
Project: HBase
Issue Type: Bug
Reporter: Anoop Sam John
Assignee: Anoop Sam John
Thanks for the nice findings [~ikeda]
This jira solves 3 issues with Unsafe operations and ByteBufferUtils
1. We can do sun unsafe based reads and writes iff unsafe package is available
and underlying platform is having unaligned-access capability. But we were
missing the second check
2. Java NIO is doing a chunk based copy while doing Unsafe copyMemory. The max
chunk size is 1 MB. This is done for "A limit is imposed to allow for safepoint
polling during a large copy" as mentioned in comments in Bits.java. We are
also going to do same way
3. In ByteBufferUtils, when Unsafe is not available and ByteBuffers are off
heap, we were doing byte by byte operation (read/copy). We can avoid this and
do better way.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)