[ https://issues.apache.org/jira/browse/HBASE-3894?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dave Latham updated HBASE-3894: ------------------------------- Attachment: concurrentRowLocks-trunk-2.patch We rolled this patch on top of 0.90.3 out to production last week. The Map Reduce jobs that were causing the contention and region server unavailability are now completing smoothly and faster. (Thread dumps of the region server hosting the contended region server show a number of threads blocked at ReadWriteConsistencyControl.completeMemstoreInsert(line 131).) I've updated the patch to match the current trunk. It also removes the lastCompactInfo field which is no longer used since HBASE-3797 hit trunk. > Thread contention over row locks set monitor > -------------------------------------------- > > Key: HBASE-3894 > URL: https://issues.apache.org/jira/browse/HBASE-3894 > Project: HBase > Issue Type: Bug > Affects Versions: 0.90.2 > Reporter: Dave Latham > Priority: Blocker > Fix For: 0.90.4 > > Attachments: concurrentRowLocks-2.patch, > concurrentRowLocks-trunk-2.patch, concurrentRowLocks-trunk.patch, > regionserver_rowLock_set_contention.threads.txt > > > HRegion maintains a set of row locks. Whenever any thread attempts to lock > or release a row it needs to acquire the monitor on that set. We've been > encountering cases with 30 handler threads all contending for that monitor, > blocked progress on the region server. Clients timeout, and retry making it > worse, and the region server stops responding to new clients almost entirely. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira