[ https://issues.apache.org/jira/browse/HBASE-22539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16895955#comment-16895955 ]
Duo Zhang commented on HBASE-22539: ----------------------------------- {quote} What i say it is Durability.ASYNC_WAL, which Write the Mutation to the WAL asynchronously. {quote} OK, got it. Yes this should be a problem, as if we use ASYNC_WAL, we will not call WAL.sync and the rpc will return immediately, and release the ByteBuf... > Potential WAL corruption due to early DBBs re-use. > --------------------------------------------------- > > Key: HBASE-22539 > URL: https://issues.apache.org/jira/browse/HBASE-22539 > Project: HBase > Issue Type: Bug > Components: rpc, wal > Affects Versions: 2.1.1 > Reporter: Wellington Chevreuil > Assignee: Wellington Chevreuil > Priority: Blocker > > Summary > We had been chasing a WAL corruption issue reported on one of our customers > deployments running release 2.1.1 (CDH 6.1.0). After providing a custom > modified jar with the extra sanity checks implemented by HBASE-21401 applied > on some code points, plus additional debugging messages, we believe it is > related to DirectByteBuffer usage, and Unsafe copy from offheap memory to > on-heap array triggered > [here|https://github.com/apache/hbase/blob/branch-2.1/hbase-common/src/main/java/org/apache/hadoop/hbase/util/ByteBufferUtils.java#L1157], > such as when writing into a non ByteBufferWriter type, as done > [here|https://github.com/apache/hbase/blob/branch-2.1/hbase-common/src/main/java/org/apache/hadoop/hbase/io/ByteBufferWriterOutputStream.java#L84]. > More details on the following comment. > -- This message was sent by Atlassian JIRA (v7.6.14#76016)