ChiaPing Tsai created HBASE-17158:
-------------------------------------

             Summary: Avoid lock leak 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
             Fix For: 2.0.0


{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)

Reply via email to