Alas... Store.notifyChangedReadersObservers, which calls updateReaders on all used StoreScanners, foils my ingenious plan.
________________________________ From: lars hofhansl <[email protected]> To: hbase-dev <[email protected]> Sent: Saturday, December 8, 2012 7:20 PM Subject: Concurrent use of RegionScanner.next Looking through the HRegion.RegionScannerImpl, I see various synchronized next(...) methods, same for StoreScanner. Scanners are created for Get operations and these scanners are guaranteed to be only used from a single thread, so in that case all synchronization is pointless. The client's next(...) operation is a bit more interesting. Is anybody using scanners concurrently, such as calling next(...) on the *same* scanner from multiple threads concurrently? If not, we could enforce this once at the RegionServer level and have the entire path down to HFileScannerVx unsynchronized. Would this work? Any counterexamples? A quick test shows that we could gain about 10-20% during a scan when everything is in cache. -- Lars
