On Tue, Aug 28, 2012 at 9:59 AM, Joe Pallas <[email protected]> wrote: > > On Aug 25, 2012, at 2:57 PM, lars hofhansl wrote: > >> Each column family is its own store. All stores are flushed together, so >> have many add overhead (especially if a few tend to hold a lot of data, but >> the others don't, leading to very many small store files that need to be >> compacted). > > If there are no writes at all to a CF, will a flush still create a new store > file? I’m thinking about a case where one CF is basically write-once and > another CF gets frequent updates. >
I was going to say we won't write a file if no kvs, but looking at code, it looks like we could write a file w/ nothing but metadata: http://hbase.apache.org/xref/org/apache/hadoop/hbase/regionserver/Store.html#725 I see a check up in HRegion where we look at memstore size, the aggregated size of all CFs, and if it is null we'll skip a flush but I did not see an equivalent check at the CF level (after three minutes of looking). We should add one if not one already. St.Ack
