This is an automated email from the ASF dual-hosted git repository. stigahuang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/impala.git
commit 5dfcdf1c9538b69e25b9bde1e86c209595b218b5 Author: stiga-huang <[email protected]> AuthorDate: Fri Jan 19 07:36:19 2024 +0800 IMPALA-12716: Fix timeout thresholds in test_catalog_operations_with_rpc_retry test_catalog_operations_with_rpc_retry uses a short timeout which could lead to failures in the first DESCRIBE statement. What it expects is the next REFRESH statement failed by the RPC timeout. The DESCRIBE statement triggers a catalog RPC of PrioritizeLoad on the table. The RPC usually finishes in 40ms. This patch bumps the RPC timeout of the test to be 100ms so it's long enough for DESCRIBE to succeed. Also bumps the sleep time in the REFRESH statement so its ExecDdl RPC will always time out in 100ms. Tests: - Ran the test till night (2700 times) and all passed. Change-Id: Ibbfa79d7f7530af4cfbb6f8ebc55e8267e3d3261 Reviewed-on: http://gerrit.cloudera.org:8080/20924 Reviewed-by: Wenzhe Zhou <[email protected]> Tested-by: Impala Public Jenkins <[email protected]> --- tests/custom_cluster/test_web_pages.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tests/custom_cluster/test_web_pages.py b/tests/custom_cluster/test_web_pages.py index 2c5b87015..2bd40764a 100644 --- a/tests/custom_cluster/test_web_pages.py +++ b/tests/custom_cluster/test_web_pages.py @@ -330,17 +330,19 @@ class TestWebPage(CustomClusterTestSuite): assert op["target_name"] == unique_database @CustomClusterTestSuite.with_args( - impalad_args="--catalog_client_rpc_timeout_ms=10 " + impalad_args="--catalog_client_rpc_timeout_ms=100 " "--catalog_client_rpc_retry_interval_ms=10 " "--catalog_client_connection_num_retries=2") def test_catalog_operations_with_rpc_retry(self): """Test that catalog RPC retries are all shown in the /operations page""" # Run a DESCRIBE to ensure the table is loaded. So the first RPC attempt will - # time out in its real work. + # time out in its real work. This triggers a PrioritizeLoad RPC which usually + # finishes in 40ms. So 100ms for catalog RPC timeout is enough. self.execute_query("describe functional.alltypes") try: + # This runs around 600ms with the debug action so the catalog RPC will timeout. self.execute_query("refresh functional.alltypes", { - "debug_action": "catalogd_refresh_hdfs_listing_delay:SLEEP@30" + "debug_action": "catalogd_refresh_hdfs_listing_delay:SLEEP@100" }) except ImpalaBeeswaxException as e: assert "RPC recv timed out" in str(e)
