public Query setLoadColumnFamiliesOnDemand(boolean value) {
    this.loadColumnFamiliesOnDemand = value;
    return this;
  }
Set the value indicating whether loading CFs on demand should be allowed (cluster default is
false). On-demand CF loading doesn't load column families until necessary, e.g. if you filter
on one column, the other column family data will be loaded only for the rows that are included
in result, not all rows like in normal case. With column-specific filters, like
SingleColumnValueFilter w/filterIfMissing == true, this can deliver huge perf gains when
there's a cf with lots of data; however, it can also lead to some inconsistent results, as
follows: - if someone does a concurrent update to both column families in question you may get
a row that never existed, e.g. for { rowKey = 5, { cat_videos =&gt; 1 }, { video =&gt; "my cat"
} } someone puts rowKey 5 with { cat_videos =&gt; 0 }, { video =&gt; "my dog" }, concurrent
scan filtering on "cat_videos == 1" can get { rowKey = 5, { cat_videos =&gt; 1 }, { video =&gt;
"my dog" } }. - if there's a concurrent split and you have more than 2 column families, some
rows may be missing some column families.
hbase-client/src/main/java/org/apache/hadoop/hbase/client/Query.java