This is an automated email from the ASF dual-hosted git repository.
alexey pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kudu.git
The following commit(s) were added to refs/heads/master by this push:
new a772c09 [tests] fix flake in TestTabletServerProxyCallErrors
a772c09 is described below
commit a772c0926919735d143f42f34a960a1308eb251d
Author: Alexey Serbin <[email protected]>
AuthorDate: Fri Oct 2 12:45:56 2020 -0700
[tests] fix flake in TestTabletServerProxyCallErrors
This patch fixes a flake in the TestTabletServerProxyCallErrors
scenario of the TxnStatusTabletManagementTest. Before this patch,
it was failing in about 1 out of 16 runs when running with
--stress_cpu_threads=16 (DEBUG build) with errors like below:
src/kudu/integration-tests/ts_tablet_manager-itest.cc:1325: Failure
Value of: s.IsInvalidArgument()
Actual: false
Expected: true
Illegal state: Tablet not RUNNING: BOOTSTRAPPING
Google Test trace:
src/kudu/integration-tests/ts_tablet_manager-itest.cc:1322: error {
code: TABLET_NOT_RUNNING
status {
code: ILLEGAL_STATE
message: "Tablet not RUNNING: BOOTSTRAPPING"
}
}
After this patch, none of 300+ runs of the scenario failed when running
with the same flags.
Change-Id: I64b9f1eeb6bacf684a15ef84cddacadb43ac43fe
Reviewed-on: http://gerrit.cloudera.org:8080/16539
Tested-by: Alexey Serbin <[email protected]>
Reviewed-by: Andrew Wong <[email protected]>
---
src/kudu/integration-tests/ts_tablet_manager-itest.cc | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/kudu/integration-tests/ts_tablet_manager-itest.cc
b/src/kudu/integration-tests/ts_tablet_manager-itest.cc
index 17b97b2..ae6102e 100644
--- a/src/kudu/integration-tests/ts_tablet_manager-itest.cc
+++ b/src/kudu/integration-tests/ts_tablet_manager-itest.cc
@@ -1071,6 +1071,9 @@ class TxnStatusTabletManagementTest : public
TsTabletManagerITest {
RETURN_NOT_OK(admin_proxy->CreateTablet(req, &resp, &rpc));
scoped_refptr<TabletReplica> r;
CHECK(ts->server()->tablet_manager()->LookupTablet(tablet_id, &r));
+
+ // Wait for the tablet to be in RUNNING state and its consensus running
too.
+ RETURN_NOT_OK(r->WaitUntilConsensusRunning(kTimeout));
return r->consensus()->WaitUntilLeaderForTests(kTimeout);
}