[tablet] make compaction-test more robust

I was investigating one compaction issue and tried to run benchmark-like
scenarios from compaction-test, thinking it would help to reproduce the
problem.  Funny enough, it turned out the test had its own issues and
crashed with SIGSEGV (the essential details are below).

This patch addresses those test-only issues by at least
  * handling triggered assertions properly
  * increasing kLargeRollThreshold to 8 GByte

I also updated the schema of the test table to switch to INT64 for
the 'val' column and also allow for more rows to be inserted without
duplication of the primary key.

------------------------------------------------------------------------

$ KUDU_ALLOW_SLOW_TESTS=1 ./bin/compaction-test \
  --gtest_filter='TestCompaction.BenchmarkMerge*' \
  --merge_benchmark_num_rowsets=5 \
  --merge_benchmark_num_rows_per_rowset=100000000

src/kudu/tablet/compaction-test.cc:395: Failure
Expected equality of these values:
  1
  rowsets.size()
    Which is: 2
...
I20220911 17:36:47.404556 56262 compaction-test.cc:506] Beginning compaction

*** Aborted at 1662943010 (unix time) try "date -d @1662943010" if you are using GNU date ***
PC: @                0x0 (unknown)
*** SIGSEGV (@0x70) received by PID 56262 (TID 0x7f64cd6a3080) from PID 112; stack trace: ***
    @       0x9e1296 google::(anonymous namespace)::FailureSignalHandler()
    @       0x3ae0e0f710 (unknown)
    @       0xa88e70 kudu::tablet::CompactionInput::Create()
    @       0x9c46c2 kudu::tablet::TestCompaction::BuildCompactionInput()
    @       0x9cbac0 kudu::tablet::TestCompaction::DoBenchmark<>()
...

Segmentation fault (core dumped)

Change-Id: I664789e2178dfd8dc6b6f05f9064db1ac14d89e3
Reviewed-on: http://gerrit.cloudera.org:8080/18981
Tested-by: Alexey Serbin <alexey@apache.org>
Reviewed-by: Abhishek Chennaka <achennaka@cloudera.com>
Reviewed-by: Mahesh Reddy <mreddy@cloudera.com>
Reviewed-by: Yifan Zhang <chinazhangyifan@163.com>
1 file changed