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);
   }
 

Reply via email to