hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ChiaPing Tsai (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-17158) Avoid deadlock caused by HRegion#doDelta
Date Wed, 23 Nov 2016 05:19:58 GMT

     [ https://issues.apache.org/jira/browse/HBASE-17158?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

ChiaPing Tsai updated HBASE-17158:
----------------------------------
    Status: Open  (was: Patch Available)

> Avoid deadlock caused by HRegion#doDelta
> ----------------------------------------
>
>                 Key: HBASE-17158
>                 URL: https://issues.apache.org/jira/browse/HBASE-17158
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 2.0.0
>            Reporter: ChiaPing Tsai
>            Assignee: ChiaPing Tsai
>             Fix For: 2.0.0
>
>         Attachments: HBASE-17158.v0.patch, HBASE-17158.v1.patch, HBASE-17158.v2.patch
>
>
> {code:title=HRegion.java|borderStyle=solid}
> private Result doDelta(Operation op, Mutation mutation, long nonceGroup, long nonce,
>       boolean returnResults) throws IOException {
>     checkReadOnly();
>     checkResources();
>     checkRow(mutation.getRow(), op.toString());
>     checkFamilies(mutation.getFamilyCellMap().keySet());
>     this.writeRequestsCount.increment();
>     WriteEntry writeEntry = null;
>     startRegionOperation(op);
>     List<Cell> results = returnResults? new ArrayList<Cell>(mutation.size()):
null;
>     RowLock rowLock = getRowLockInternal(mutation.getRow(), false);
>     MemstoreSize memstoreSize = new MemstoreSize();
> }
> {code}
> The getRowLockInternal() should be moved inside the try block so that the timeout won't
cause the lock leak. Otherwise, we will stuck in HRegion#doClose when closing.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message