For the small scanner feature, I first hardcoded the default HBaseBlock size (64KB) in the check to see if small scanner is good candidate to enable or not.
Then struggling with the regression tests and the modifications needed to pass, I realized that it is better to have a feature totally completed to avoid the cost of dealing with regression every time you want to improve it. So I am trying to remove the hardcode for HBase block size, and realized there is a function getHbaseTableInfo that will do the job of getting HBase block size and index level. BUT, this function is doing a JNI call to the HBase layer. Look like expensive to call for every scan query… will likely lose the gain of small scanner if I put this call in the middle. I was wondering if this Hbase block size per table is not already cached in memory so that I can access it without fear of performance cost? I guess it is table meta data, and I think this is supposed to already be cached if I recall a previous email thread? Thanks in advance for the help, Eric
