[compaction] Add tests to generate high memory rowset compaction

This change implements a better approach to test out
high memory compaction case. There is an existing patch:
https://gerrit.cloudera.org/#/c/19278/
that uses different approach which does not scale
well because of excessive memory usage by client.

Patch contains two tests:
1. TestRowSetCompactionProceedWithNoBudgetingConstraints
(generates deltas with memory requirements under budget)
2. TestRowSetCompactionSkipWithBudgetingConstraints
(generates deltas with memory requirements over budget)

and a helper function:
GenHighMemConsumptionDeltas
Using this helper function, callers can generate deltas of different
sizes as per test needs. The size_factor can be used to achieve
that. Increasing size_factor by 1 adds 1 MB worth of deltas as
far as rowset compaction memory consumption is concerned.

Change-Id: I1996558e71c49314c6acf12faf854c796548318c
Reviewed-on: http://gerrit.cloudera.org:8080/20816
Tested-by: Kudu Jenkins
Reviewed-by: Alexey Serbin <alexey@apache.org>
1 file changed