----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://review.hbase.org/r/98/#review144 -----------------------------------------------------------
Ship it! I think this good to go. Seem my comments below. See what you think. My one concern is the number of calls to getRowOrBefore... hopefully this patch cuts down overall on our need to use this function. I'd like to hear your opinion on that. src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java <http://review.hbase.org/r/98/#comment744> This is code duplicated from elsewhere. Can I help make it so we don't have to do this duplication? Or, for now, since this your fist patch, we can put it off IF you file a JIRA to fix the duplication (smile). src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java <http://review.hbase.org/r/98/#comment745> So we start scanning at 'row'? Is this the 'row' the user asked for? No, it needs to be the row in the .META. table, right? We need to find the row in .META. that contains the asked for row first? NM, I see below how the row here is made.. .this looks right. src/main/java/org/apache/hadoop/hbase/client/HTable.java <http://review.hbase.org/r/98/#comment746> This is a nice little facility. src/main/java/org/apache/hadoop/hbase/client/MetaScanner.java <http://review.hbase.org/r/98/#comment747> OK. This looks right. src/main/java/org/apache/hadoop/hbase/client/MetaScanner.java <http://review.hbase.org/r/98/#comment748> getRowOrBefore is an expensive call. Are we sure we are not calling this too often? - stack On 2010-06-02 01:13:42, Mingjie Lai wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://review.hbase.org/r/98/ > ----------------------------------------------------------- > > (Updated 2010-06-02 01:13:42) > > > Review request for hbase. > > > Summary > ------- > > HBASE-2468: Improvements to prewarm META cache on clients. > > Changes: > 1. Add new HTable methods which support region info de/serialation, and > region cache prewarm: > - void serializeRegionInfo(): clients could perform a large scan for all the > meta for the table, serialize the meta to a file. MR job can ship a copy of > the meta for the table in the DistributedCache > - Map<HRegionInfo, HServerAddress> deserializeRegionInfo(): MR job can > deserialize the region info from the DistributedCache > - prewarmRegionCache(Map<HRegionInfo, HServerAddress> regionMap): MR job can > prewarm local region cache by the deserialized region info. > > 2. For each client, each region cache read-miss could trigger read-ahead some > number of rows in META. This option could be turned on and off for one > particular table. > > > This addresses bug HBASE-2468. > http://issues.apache.org/jira/browse/HBASE-2468 > > > Diffs > ----- > > src/main/java/org/apache/hadoop/hbase/client/HConnection.java 853164d > src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java > ed18092 > src/main/java/org/apache/hadoop/hbase/client/HTable.java 7ec95cb > src/main/java/org/apache/hadoop/hbase/client/MetaScanner.java d3a0c07 > src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java > 95e494a > > Diff: http://review.hbase.org/r/98/diff > > > Testing > ------- > > Unit tests passed locally for me. > > > Thanks, > > Mingjie > >
