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)