Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.94.19
-
None
Description
The failback code in processRowsWithLocks did not check the column family. If there is an illegal CF in the muation, it will throw NullPointException and the update lock will not be released. So the region can not be flushed and compacted.
HRegion #4946
if (!mutations.isEmpty() && !walSyncSuccessful) { LOG.warn("Wal sync failed. Roll back " + mutations.size() + " memstore keyvalues for row(s):" + processor.getRowsToLock().iterator().next() + "..."); for (KeyValue kv : mutations) { stores.get(kv.getFamily()).rollback(kv); } } // 11. Roll mvcc forward if (writeEntry != null) { mvcc.completeMemstoreInsert(writeEntry); writeEntry = null; } if (locked) { this.updatesLock.readLock().unlock(); locked = false; }