[ 
https://issues.apache.org/jira/browse/HBASE-24984?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17359804#comment-17359804
 ] 

Anoop Sam John commented on HBASE-24984:
----------------------------------------

>From ServerCall
" The reason why we can not use a general reference counting is that, we may 
call cleanup multiple times in the current implementation. We should fix this 
in the future."

One way may be to use the AtomicInteger with highest byte for RPC ref and 
cleanup and lowest 3 bytes as ref count of FSWALEntry's. Need more involved 
math then.
Will try out some options.  Any fix already with you  [~mopishv0], [~jutia]


> WAL corruption due to early DBBs re-use when Durability.ASYNC_WAL is used 
> with multi operation
> ----------------------------------------------------------------------------------------------
>
>                 Key: HBASE-24984
>                 URL: https://issues.apache.org/jira/browse/HBASE-24984
>             Project: HBase
>          Issue Type: Bug
>          Components: rpc, wal
>    Affects Versions: 2.1.6
>            Reporter: Liu Junhong
>            Priority: Major
>
> After bugfix HBASE-22539, When client use BufferedMutator or multiple 
> mutation , there will be one RpcCall and mutliple FSWALEntry .  At the time 
> RpcCall finish and one FSWALEntry call release() , the remain FSWALEntries 
> may trigger RuntimeException or segmentation fault .
> We should use RefCnt  instead of AtomicInteger for 
> org.apache.hadoop.hbase.ipc.ServerCall.reference?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to