Description
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.
Attachments
Attachments
Issue Links
- is related to
-
HBASE-7261 batchMutate/put release the same lock twice
- Closed
-
HBASE-7376 Acquiring readLock does not apply timeout in HRegion#flushcache
- Closed
- relates to
-
HBASE-5162 Basic client pushback mechanism
- Closed
-
HBASE-5333 Introduce Memstore "backpressure" for writes
- Closed
-
HBASE-2981 Improve consistency of performance during heavy load
- Closed