[ https://issues.apache.org/jira/browse/HBASE-6423?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13507028#comment-13507028 ]
Lars Hofhansl commented on HBASE-6423: -------------------------------------- This part's a bit ugly: {code} + protected Configuration createConf() { + Configuration conf = HBaseConfiguration.create(); + if (busyWaitDuration != null) { + conf.set("hbase.busy.wait.duration", busyWaitDuration); + } + return conf; + } {code} We're using the configuration pass this information around? Why isn't it in the configuration in the first place? > Writes should not block reads on blocking updates to memstores > -------------------------------------------------------------- > > Key: HBASE-6423 > URL: https://issues.apache.org/jira/browse/HBASE-6423 > Project: HBase > Issue Type: Bug > Reporter: Karthik Ranganathan > Assignee: Jimmy Xiang > Attachments: trunk-6423.patch, trunk-6423_v2.1.patch, > trunk-6423_v2.patch, trunk-6423_v3.2.patch > > > We have a big data use case where we turn off WAL and have a ton of reads and > writes. We found that: > 1. flushing a memstore takes a while (GZIP compression) > 2. incoming writes cause the new memstore to grow in an unbounded fashion > 3. this triggers blocking memstore updates > 4. in turn, this causes all the RPC handler threads to block on writes to > that memstore > 5. we are not able to read during this time as RPC handlers are blocked > At a higher level, we should not hold up the RPC threads while blocking > updates, and we should build in some sort of rate control. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira