[ https://issues.apache.org/jira/browse/KUDU-3568?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17842911#comment-17842911 ]
ASF subversion and git services commented on KUDU-3568: ------------------------------------------------------- Commit 0804a95555b8bf5a1f685ce6601acb36dbffe43e in kudu's branch refs/heads/master from Ashwani Raina [ https://gitbox.apache.org/repos/asf?p=kudu.git;h=0804a9555 ] KUDU-3568 Fix budgeting constraint test by enabling preset factor In the failing test TestRowSetCompactionSkipWithBudgetingConstraints the rowset compaction went ahead even with high memory budget requirement (at least as per test expectations). The test bases it memory requirements on number of factor, one of which is rowset_compaction_delta_memory_factor. It is set to a very high value so that node on which test is running is not able to satisfy the memory requirements and hence skipping of compaction becomes necessary. Failure can happen due to a bug in the test where we are using rowset_compaction_delta_memory_factor without setting rowset_compaction_enforce_preset_factor to true. Since rowset_compaction_enforce_preset_factor is set to false by default, which means compaction policy relies on metrics (instead of memory factor) to come up with memory budgeting numbers. The test passes in most runs, because the metrics, (i.e. compact_rs_mem_usage_to_deltas_size_ratio) that compaction policy relies on, happens to be 0. Due to this, memory budgeting logic chooses the rowset_compaction_delta_memory_factor (set to a very high value in this test) as the factor and since the node doesn't have so much memory, it skips compaction as expected. In a nutshell, rowset_compaction_delta_memory_factor is used when when rowset_compaction_enforce_preset_factor is true. If preset is set to false, test will rely on metrics instead of memory factor defined by rowset_compaction_delta_memory_factor. Change-Id: I9df218cd2d8ef3709793db267d5a0d651421dbb6 Reviewed-on: http://gerrit.cloudera.org:8080/21360 Reviewed-by: Attila Bukor <abu...@apache.org> Reviewed-by: Zoltan Martonka <zmarto...@cloudera.com> Tested-by: Marton Greber <greber...@gmail.com> > TestRowSetCompactionSkipWithBudgetingConstraints fails when run on some nodes > ----------------------------------------------------------------------------- > > Key: KUDU-3568 > URL: https://issues.apache.org/jira/browse/KUDU-3568 > Project: Kudu > Issue Type: Bug > Affects Versions: 1.18.0 > Reporter: Alexey Serbin > Assignee: Ashwani Raina > Priority: Major > Attachments: test-failure.log.xz > > > The {{TestCompaction.TestRowSetCompactionSkipWithBudgetingConstraints}} > scenario fails with the error like below when run on a machine with > relatively high memory (it might be just a Docker instance with tiny actual > memory allocated, but having the access to the {{/proc}} filesystem of the > host machine). The full test log is attached. > {noformat} > src/kudu/tablet/compaction-test.cc:908: Failure > Value of: JoinStrings(sink.logged_msgs(), "\n") > Expected: has substring "removed from compaction input due to memory > constraints" > Actual: "I20240425 10:13:05.497732 3573764 compaction-test.cc:902] > CompactRowSetsOp complete. Timing: real 0.673s\tuser 0.669s\tsys 0.004s > Metrics: > {\"bytes_written\":4817,\"cfile_cache_hit\":90,\"cfile_cache_hit_bytes\":4310,\"cfile_cache_miss\":330,\"cfile_cache_miss_bytes\":3794180,\"cfile_init\":41,\"delta_iterators_relevant\":40,\"dirs.queue_time_us\":503,\"dirs.run_cpu_time_us\":338,\"dirs.run_wall_time_us\":1780,\"drs_written\":1,\"lbm_read_time_us\":1951,\"lbm_reads_lt_1ms\":494,\"lbm_write_time_us\":1767,\"lbm_writes_lt_1ms\":132,\"mutex_wait_us\":189,\"num_input_rowsets\":10,\"peak_mem_usage\":2147727,\"rows_written\":20,\"thread_start_us\":242,\"threads_started\":5}" > (of type std::string) > {noformat} > For extra information, below is 10 lines from {{/proc/meminfo}} file on a > node where the test failed: > {noformat} > # cat /proc/meminfo | head -10 > MemTotal: 527417196 kB > MemFree: 96640684 kB > MemAvailable: 363590980 kB > Buffers: 15352304 kB > Cached: 246687576 kB > SwapCached: 1294016 kB > Active: 214889608 kB > Inactive: 189745504 kB > Active(anon): 133110648 kB > Inactive(anon): 16977280 kB > {noformat} -- This message was sent by Atlassian Jira (v8.20.10#820010)