Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.0.0
-
None
-
None
-
Reviewed
Description
HRegion.java
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(); }
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.