Details
-
Bug
-
Status: Closed
-
Blocker
-
Resolution: Fixed
-
0.20.3
-
None
-
None
-
Incompatible change, Reviewed
-
Description
HBASE-2037 introduced a new MemStoreScanner which triggers a ConcurrentSkipListMap.buildFromSorted clone of the memstore and snapshot when starting a scan.
After upgrading to 0.20.3, we noticed a big slowdown in our use of short scans. Some of our data repesent a time series. The data is stored in time series order, MR jobs often insert/update new data at the end of the series, and queries usually have to pick up some or all of the series. These are often scans of 0-100 rows at a time. To load one page, we'll observe about 20 such scans being triggered concurrently, and they take 2 seconds to complete. Doing a thread dump of a region server shows many threads in ConcurrentSkipListMap.biuldFromSorted which traverses the entire map of key values to copy it.
Attachments
Attachments
Issue Links
- is related to
-
HBASE-2959 Scanning always starts at the beginning of a row
- Closed
-
HBASE-2294 Enumerate ACID properties of HBase in a well defined spec
- Closed
- relates to
-
HBASE-2322 deadlock between put and cacheflusher in 0.20 branch
- Closed
-
HBASE-2249 The PerformanceEvaluation read tests don't take the MemStore into account.
- Closed
-
HBASE-2265 HFile and Memstore should maintain minimum and maximum timestamps
- Closed