private void verifyCells() throws Exception {
    scanAndCompare(false);
    scanAndCompare(true);
  }
Store file writer does not do any compaction. Each cell written to either the live or historical
file. Regular (i.e., not-raw) scans that reads the latest put cells scans only live files. To
ensure the correctness of store file writer, we need to verify that live files includes all live
cells. This test indirectly verify this as follows. The test creates two tables, each with one
region and one store. The dual file writing (live vs historical) is configured on only one of the
tables. The test generates exact set of mutations on both tables. These mutations include all
types of cells and these cells are written to multiple files using multiple memstore flushes.
After writing all cells, the test first verify that both tables return the same set of cells for
regular and raw scans. Then the same verification is done after tables are minor and finally
major compacted. The test also verifies that flushes do not generate historical files and the
historical files are generated only when historical file generation is enabled (by the config
hbase.enable.historical.compaction.files).
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFileWriter.java