[
https://issues.apache.org/jira/browse/KUDU-3596?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17923564#comment-17923564
]
ASF subversion and git services commented on KUDU-3596:
-------------------------------------------------------
Commit c9ab243d7df46361eea548b39f1e52ff591c0c92 in kudu's branch
refs/heads/master from Alexey Serbin
[ https://gitbox.apache.org/repos/asf?p=kudu.git;h=c9ab243d7 ]
KUDU-3596 fix one of the brittle assertions
The TsTabletManagerITest.TestTableStats scenario is very brittle due the
assumptions on various operations' timings. This patch addresses one
of them, replacing SleepFor(...) with more robust
InternalMiniCluster::WaitForTabletServerCount() condition.
The motivation for this changelist was following assertion in dist-test
failure [1] from a built-and-test pre-commit build for unrelated patch:
src/kudu/integration-tests/ts_tablet_manager-itest.cc:785: Failure
Expected equality of these values:
live_row_count
Which is: 434
table_info->GetMetrics()->live_row_count->value()
Which is: 0
...
src/kudu/integration-tests/ts_tablet_manager-itest.cc:895: Failure
Expected: CheckStats(kRowsCount) doesn't generate new fatal failures in the
current thread.
Actual: it does.
[1] http://dist-test.cloudera.org/job?job_id=jenkins-slave.1738567082.3715745
Change-Id: Id8581ecc0368ca17c14bcfc578f3896c9515b819
Reviewed-on: http://gerrit.cloudera.org:8080/22444
Tested-by: Kudu Jenkins
Reviewed-by: Yifan Zhang <[email protected]>
> TsTabletManagerITest.TestTableStats fails from time to time (TSAN build)
> ------------------------------------------------------------------------
>
> Key: KUDU-3596
> URL: https://issues.apache.org/jira/browse/KUDU-3596
> Project: Kudu
> Issue Type: Bug
> Components: test
> Affects Versions: 1.17.0
> Reporter: Alexey Serbin
> Priority: Major
> Attachments: ts_tablet_manager-itest.txt.xz
>
>
> The {{TsTabletManagerITest.TestTableStats}} test scenario fails from time to
> time, at least in TSAN builds. I'm not sure whether that's something related
> to the test itself, an issue related to stack collection, or a bug somewhere
> else. When it fails, it reports something like below. The full log is
> attached.
> {noformat}
> /home/jenkins-slave/workspace/build_and_test@2/src/kudu/integration-tests/ts_tablet_manager-itest.cc:783:
> Failure
> Expected equality of these values:
>
> live_row_count
>
> Which is: 67
>
> table_info->GetMetrics()->live_row_count->value()
>
> Which is: 0
>
> /home/jenkins-slave/workspace/build_and_test@2/src/kudu/util/test_util.cc:395:
> Failure
> Failed
>
> Timed out waiting for assertion to pass.
>
> /home/jenkins-slave/workspace/build_and_test@2/src/kudu/integration-tests/ts_tablet_manager-itest.cc:767:
> Failure
> Expected: check_function(table_infos[0].get(), live_row_count) doesn't
> generate new fatal failures in the current thread.
> Actual: it does.
>
> /home/jenkins-slave/workspace/build_and_test@2/src/kudu/integration-tests/ts_tablet_manager-itest.cc:785:
> Failure
> Expected: GetLeaderMasterAndRun(live_row_count, [&] ( TableInfo* table_info,
> int64_t live_row_count) { do { AssertEventually([&] () { switch (0) case 0:
> default: if (const ::testing::AssertionResult gtest_ar_ =
> ::testing::AssertionResult(table_info->GetMetrics()->TableSupportsLiveRowCount()))
> ; else return
> ::testing::internal::AssertHelper(::testing::TestPartResult::kFatalFailure,
> "/home/jenkins-slave/workspace/build_and_test@2/src/kudu/integration-tests/ts_tablet_manager-itest.cc",
> 782, ::testing::internal::GetBoolAssertionFailureMessage( gtest_ar_,
> "table_info->GetMetrics()->TableSupportsLiveRowCount()", "false", "true")
> .c_str()) = ::testing::Message(); switch (0) case 0: default: if (const
> ::testing::AssertionResult gtest_ar =
> (::testing::internal::EqHelper::Compare("live_row_count",
> "table_info->GetMetrics()->live_row_count->value()", live_row_count,
> table_info->GetMetrics()->live_row_count->value()))) ; else return
> ::testing::internal::AssertHelper(::testing::TestPartResult::kFatalFailure,
> "/home/jenkins-slave/workspace/build_and_test@2/src/kudu/integration-tests/ts_tablet_manager-itest.cc",
> 783, gtest_ar.failure_message()) = ::testing::Message(); }); do { if
> (testing::Test::HasFatalFailure()) { return; } } while (0); } while (0); })
> doesn't generate new fatal failures in the current thread.
> Actual: it does.
>
> /home/jenkins-slave/workspace/build_and_test@2/src/kudu/integration-tests/ts_tablet_manager-itest.cc:895:
> Failure
> Expected: CheckStats(kRowsCount) doesn't generate new fatal failures in the
> current thread.
> Actual: it does.
> {noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)