Addressed by: HBASE-16237 Blocks for hbase:meta table are not cached in L1 cache M
On Fri, Jul 15, 2016 at 1:06 AM, Lars George <[email protected]> wrote: > I just checked on 1.2.1, using the "as JSON by File", then searching > for the cached file (the hash). And yes, the hbase:meta blocks are in > L2 once you enable it. So the missing setCacheDataInL1(true) for the > metaTableDescriptor() method is causing this. > > On Fri, Jul 15, 2016 at 2:08 AM, Ted Yu <[email protected]> wrote: > > I looked at related code in branch-1. > > HColumnDescriptor#isCacheDataInL1() uses default value of > > HColumnDescriptor.DEFAULT_CACHE_DATA_IN_L1 which is false > > > > I think setCacheDataInL1(true) call is needed for meta HTableDescriptor > > > > On Thu, Jul 14, 2016 at 12:57 PM, Nick Dimiduk <[email protected]> > wrote: > > > >> IIRC, the configuration handling and IoC of multi-level block cache > changed > >> significantly around 1.2. This was to facilitate an overhaul and overall > >> improvement of how cache layers are built, defined, and configured. > >> Structures may be quite different between master and various > incarnations > >> of 1.x branches. Please examine each independently, don't assume what > holds > >> on one branch applies to another. > >> > >> On Thu, Jul 14, 2016 at 12:35 PM, Ted Yu <[email protected]> wrote: > >> > >> > Interesting. > >> > > >> > Do you want to log a JIRA ? > >> > > >> > I checked HTableDescriptor.java in branch-1.1 to branch-1 where > >> > setCacheDataInL1(true) is missing. > >> > > >> > The fix would be a one line change. > >> > > >> > On Thu, Jul 14, 2016 at 11:43 AM, Lars George <[email protected]> > >> > wrote: > >> > > >> > > Ah wait, this was fixed in > >> > > https://issues.apache.org/jira/browse/HBASE-15467, but is not right > >> > > (if I read this proper) in the 1.x line. It could mean that > hbase:meta > >> > > is cached in L2 only. > >> > > > >> > > On Thu, Jul 14, 2016 at 7:37 PM, Ted Yu <[email protected]> > wrote: > >> > > > Looking at FSTableDescriptors#createMetaTableDescriptor() , both > >> column > >> > > > families have the following: > >> > > > > >> > > > .setCacheDataInL1(true), > >> > > > > >> > > > Is there something else you were looking for ? > >> > > > > >> > > > Cheers > >> > > > > >> > > > On Thu, Jul 14, 2016 at 6:59 AM, Lars George < > [email protected]> > >> > > wrote: > >> > > > > >> > > >> Hey, > >> > > >> > >> > > >> HBASE-11364 did add `.setCacheDataInL1(true)`, but the later > change > >> to > >> > > >> use `HTableDescriptor.metaTableDescriptor()` changes the layout > of > >> the > >> > > >> `hbase:meta` to omit the L1 cache setting. Is this on purpose or > an > >> > > >> oversight? > >> > > >> > >> > > >> In other words, are the meta blocks currently never cached in L1? > >> > > >> > >> > > >> Lars > >> > > >> > >> > > > >> > > >> >
