[ https://issues.apache.org/jira/browse/HBASE-5174?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13186527#comment-13186527 ]
Ted Yu commented on HBASE-5174: ------------------------------- A slight variation of my previous proposal: MonitoredTaskImpl can maintain Map<String, MonitoredTask> where String key is the description passed to TaskMonitor.createStatus(), prepended with MonitoredTask.State and separator string (such as '||'). A task may have two entries in the map, one starting with 'ABORTED', the other starting with 'COMPLETE'. This corresponds to task retries. Special handling would be added to MonitoredTaskImpl.setState(). > Coalesce aborted tasks in the TaskMonitor > ----------------------------------------- > > Key: HBASE-5174 > URL: https://issues.apache.org/jira/browse/HBASE-5174 > Project: HBase > Issue Type: Improvement > Affects Versions: 0.92.0 > Reporter: Jean-Daniel Cryans > Fix For: 0.94.0, 0.92.1 > > > Some tasks can get repeatedly canceled like flushing when splitting is going > on, in the logs it looks like this: > {noformat} > 2012-01-10 19:28:29,164 INFO > org.apache.hadoop.hbase.regionserver.MemStoreFlusher: Flush of region > test1,,1326223218996.3eea0d89af7b851c3a9b4246389a4f2c. due to global heap > pressure > 2012-01-10 19:28:29,164 DEBUG org.apache.hadoop.hbase.regionserver.HRegion: > NOT flushing memstore for region > test1,,1326223218996.3eea0d89af7b851c3a9b4246389a4f2c., flushing=false, > writesEnabled=false > 2012-01-10 19:28:29,164 DEBUG > org.apache.hadoop.hbase.regionserver.MemStoreFlusher: Flush thread woke up > because memory above low water=1.6g > 2012-01-10 19:28:29,164 INFO > org.apache.hadoop.hbase.regionserver.MemStoreFlusher: Flush of region > test1,,1326223218996.3eea0d89af7b851c3a9b4246389a4f2c. due to global heap > pressure > 2012-01-10 19:28:29,164 DEBUG org.apache.hadoop.hbase.regionserver.HRegion: > NOT flushing memstore for region > test1,,1326223218996.3eea0d89af7b851c3a9b4246389a4f2c., flushing=false, > writesEnabled=false > 2012-01-10 19:28:29,164 DEBUG > org.apache.hadoop.hbase.regionserver.MemStoreFlusher: Flush thread woke up > because memory above low water=1.6g > 2012-01-10 19:28:29,164 INFO > org.apache.hadoop.hbase.regionserver.MemStoreFlusher: Flush of region > test1,,1326223218996.3eea0d89af7b851c3a9b4246389a4f2c. due to global heap > pressure > 2012-01-10 19:28:29,164 DEBUG org.apache.hadoop.hbase.regionserver.HRegion: > NOT flushing memstore for region > test1,,1326223218996.3eea0d89af7b851c3a9b4246389a4f2c., flushing=false, > writesEnabled=false > {noformat} > But in the TaskMonitor UI you'll get MAX_TASKS (1000) displayed on top of the > regions. Basically 1000x: > {noformat} > Tue Jan 10 19:28:29 UTC 2012 Flushing > test1,,1326223218996.3eea0d89af7b851c3a9b4246389a4f2c. ABORTED (since 31sec > ago) Not flushing since writes not enabled (since 31sec ago) > {noformat} > It's ugly and I'm sure some users will freak out seeing this, plus you have > to scroll down all the way to see your regions. Coalescing consecutive > aborted tasks seems like a good solution. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira