You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@impala.apache.org by cs...@apache.org on 2025/04/08 07:14:57 UTC

(impala) 02/02: IMPALA-13929: Make 'functional-query' the default workload in tests

This is an automated email from the ASF dual-hosted git repository.

csringhofer pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/impala.git

commit f98b697c7b37e18cb1101b62243974e42f72b9f4
Author: Csaba Ringhofer <cs...@cloudera.com>
AuthorDate: Thu Apr 3 12:40:05 2025 +0200

    IMPALA-13929: Make 'functional-query' the default workload in tests
    
    This change adds get_workload() to ImpalaTestSuite and removes it
    from all test suites that already returned 'functional-query'.
    get_workload() is also removed from CustomClusterTestSuite which
    used to return 'tpch'.
    
    All other changes besides impala_test_suite.py and
    custom_cluster_test_suite.py are just mass removals of
    get_workload() functions.
    
    The behavior is only changed in custom cluster tests that didn't
    override get_workload(). By returning 'functional-query' instead
    of 'tpch', exploration_strategy() will no longer return 'core' in
    'exhaustive' test runs. See IMPALA-3947 on why workload affected
    exploration_strategy. An example for affected test is
    TestCatalogHMSFailures which was skipped both in core and exhaustive
    runs before this change.
    
    get_workload() functions that return a different workload than
    'functional-query' are not changed - it is possible that some of
    these also don't handle exploration_strategy() as expected, but
    individually checking these tests is out of scope in this patch.
    
    Change-Id: I9ec6c41ffb3a30e1ea2de773626d1485c69fe115
    Reviewed-on: http://gerrit.cloudera.org:8080/22726
    Reviewed-by: Riza Suminto <ri...@cloudera.com>
    Reviewed-by: Daniel Becker <da...@cloudera.com>
    Tested-by: Impala Public Jenkins <im...@cloudera.com>
---
 tests/authorization/test_ranger.py                 |   8 --
 .../catalog_service/test_catalog_service_client.py |   4 -
 tests/catalog_service/test_large_num_partitions.py |   4 -
 tests/common/custom_cluster_test_suite.py          |   4 -
 tests/common/impala_test_suite.py                  |  12 +++
 tests/common/kudu_test_suite.py                    |   4 -
 tests/custom_cluster/test_admission_controller.py  |   4 -
 tests/custom_cluster/test_ai_generate_text.py      |   4 -
 tests/custom_cluster/test_alloc_fail.py            |   4 -
 tests/custom_cluster/test_always_false_filter.py   |   4 -
 tests/custom_cluster/test_auto_scaling.py          |   4 -
 .../custom_cluster/test_automatic_invalidation.py  |   4 -
 tests/custom_cluster/test_blacklist.py             |   8 --
 .../test_blacklisted_dbs_and_tables.py             |   4 -
 tests/custom_cluster/test_breakpad.py              |   4 -
 tests/custom_cluster/test_calcite_planner.py       |   4 -
 tests/custom_cluster/test_catalog_hms_failures.py  |   4 -
 tests/custom_cluster/test_catalog_wait.py          |   4 -
 tests/custom_cluster/test_catalogd_ha.py           |   3 -
 tests/custom_cluster/test_codegen_cache.py         |   4 -
 .../custom_cluster/test_compact_catalog_updates.py |   4 -
 tests/custom_cluster/test_custom_hive_configs.py   |   4 -
 tests/custom_cluster/test_custom_statestore.py     |   8 --
 tests/custom_cluster/test_data_cache.py            |   4 -
 tests/custom_cluster/test_disable_features.py      |   4 -
 .../test_disk_spill_configurations.py              |   4 -
 .../custom_cluster/test_event_processing_error.py  |   4 -
 .../test_exchange_deferred_batches.py              |   4 -
 tests/custom_cluster/test_exchange_delays.py       |   4 -
 tests/custom_cluster/test_ext_data_sources.py      |  16 ---
 .../test_frontend_connection_limit.py              |   4 -
 tests/custom_cluster/test_geospatial_library.py    |   4 -
 .../custom_cluster/test_hbase_hms_column_order.py  |   4 -
 tests/custom_cluster/test_hdfs_fd_caching.py       |   4 -
 tests/custom_cluster/test_hdfs_timeout.py          |   4 -
 .../test_hive_parquet_codec_interop.py             |   4 -
 .../test_hive_parquet_timestamp_conversion.py      |   4 -
 tests/custom_cluster/test_hs2.py                   |   4 -
 .../test_iceberg_always_allow_merge_on_read.py     |   4 -
 tests/custom_cluster/test_iceberg_rest_catalog.py  |   3 -
 tests/custom_cluster/test_iceberg_strict_data.py   |   4 -
 tests/custom_cluster/test_iceberg_with_puffin.py   |   8 --
 .../test_incremental_metadata_updates.py           |   4 -
 tests/custom_cluster/test_jvm_mem_tracking.py      |   4 -
 tests/custom_cluster/test_krpc_mem_usage.py        |   4 -
 tests/custom_cluster/test_krpc_metrics.py          |   4 -
 tests/custom_cluster/test_krpc_options.py          |   4 -
 tests/custom_cluster/test_krpc_socket.py           |   4 -
 tests/custom_cluster/test_kudu.py                  |  28 ------
 tests/custom_cluster/test_kudu_not_available.py    |   4 -
 tests/custom_cluster/test_lineage.py               |   4 -
 tests/custom_cluster/test_local_catalog.py         |   4 -
 tests/custom_cluster/test_local_tz_conversion.py   |   4 -
 tests/custom_cluster/test_logging.py               |   8 --
 tests/custom_cluster/test_mem_reservations.py      |   4 -
 tests/custom_cluster/test_metadata_replicas.py     |   4 -
 tests/custom_cluster/test_mt_dop.py                |   8 --
 tests/custom_cluster/test_observability.py         |   4 -
 .../custom_cluster/test_parquet_max_page_header.py |   4 -
 tests/custom_cluster/test_partition.py             |   8 --
 tests/custom_cluster/test_permanent_udfs.py        |   4 -
 tests/custom_cluster/test_preload_table_types.py   |   4 -
 tests/custom_cluster/test_query_event_hooks.py     |   4 -
 tests/custom_cluster/test_query_log.py             |   4 -
 tests/custom_cluster/test_query_retries.py         |   8 --
 tests/custom_cluster/test_redaction.py             |   4 -
 .../test_refresh_invalid_partition.py              |   3 -
 tests/custom_cluster/test_restart_services.py      |   8 --
 tests/custom_cluster/test_result_spooling.py       |   4 -
 tests/custom_cluster/test_rpc_exception.py         |   4 -
 tests/custom_cluster/test_rpc_timeout.py           |   8 --
 .../test_runtime_filter_aggregation.py             |   8 --
 tests/custom_cluster/test_scheduler_locality.py    |   4 -
 tests/custom_cluster/test_scratch_disk.py          |   4 -
 tests/custom_cluster/test_seq_file_filtering.py    |   4 -
 tests/custom_cluster/test_services_rpc_errors.py   |   8 --
 tests/custom_cluster/test_shell_commandline.py     |   4 -
 .../test_shell_interactive_reconnect.py            |   4 -
 tests/custom_cluster/test_shell_jwt_auth.py        |   4 -
 tests/custom_cluster/test_shell_oauth_auth.py      |   4 -
 tests/custom_cluster/test_show_views_statements.py |   4 -
 tests/custom_cluster/test_statestored_ha.py        |   7 --
 tests/custom_cluster/test_stats_extrapolation.py   |   4 -
 tests/custom_cluster/test_thrift_socket.py         |   4 -
 tests/custom_cluster/test_tuple_cache.py           |   4 -
 tests/custom_cluster/test_udf_concurrency.py       |   4 -
 tests/custom_cluster/test_web_pages.py             |   4 -
 tests/custom_cluster/test_wide_table_operations.py |   4 -
 tests/custom_cluster/test_workload_mgmt_init.py    |   4 -
 tests/data_errors/test_data_errors.py              |   7 --
 tests/failure/test_failpoints.py                   |   4 -
 tests/infra/test_stress_infra.py                   |   4 -
 tests/metadata/test_column_unicode.py              |   4 -
 tests/metadata/test_compute_stats.py               |  24 -----
 tests/metadata/test_ddl.py                         |  12 ---
 tests/metadata/test_ddl_base.py                    |   4 -
 tests/metadata/test_explain.py                     |   4 -
 tests/metadata/test_hdfs_encryption.py             |   4 -
 tests/metadata/test_hdfs_permissions.py            |   4 -
 tests/metadata/test_hidden_files.py                |   4 -
 tests/metadata/test_hms_integration.py             |   8 --
 tests/metadata/test_last_ddl_time_update.py        |   4 -
 tests/metadata/test_load.py                        |  12 ---
 tests/metadata/test_metadata_query_statements.py   |   4 -
 tests/metadata/test_partition_metadata.py          |  12 ---
 tests/metadata/test_recover_partitions.py          |   4 -
 tests/metadata/test_recursive_listing.py           |   4 -
 tests/metadata/test_refresh_partition.py           |   4 -
 tests/metadata/test_reuse_partitions.py            |   4 -
 tests/metadata/test_set.py                         |   4 -
 tests/metadata/test_show_create_table.py           |   8 --
 tests/metadata/test_stale_metadata.py              |   4 -
 tests/metadata/test_stats_extrapolation.py         |   4 -
 tests/metadata/test_testcase_builder.py            |   4 -
 tests/metadata/test_views_compatibility.py         |   4 -
 tests/query_test/test_acid.py                      |   4 -
 tests/query_test/test_acid_row_validation.py       |   4 -
 tests/query_test/test_aggregation.py               |  20 ----
 tests/query_test/test_analytic_tpcds.py            |   4 -
 tests/query_test/test_async_codegen.py             |   4 -
 tests/query_test/test_avro_schema_resolution.py    |   4 -
 tests/query_test/test_cast_with_format.py          |   3 -
 tests/query_test/test_chars.py                     |   8 --
 tests/query_test/test_codegen.py                   |   4 -
 tests/query_test/test_compressed_formats.py        |  20 ----
 tests/query_test/test_datasketches.py              |   4 -
 tests/query_test/test_date_queries.py              |   4 -
 tests/query_test/test_decimal_casting.py           |   4 -
 tests/query_test/test_decimal_fuzz.py              |   4 -
 tests/query_test/test_decimal_queries.py           |  16 ---
 tests/query_test/test_delimited_text.py            |   4 -
 tests/query_test/test_errorlog.py                  |   4 -
 tests/query_test/test_exprs.py                     |  20 ----
 tests/query_test/test_ext_data_sources.py          |   4 -
 tests/query_test/test_fetch.py                     |  12 ---
 tests/query_test/test_geospatial_functions.py      |   4 -
 tests/query_test/test_hash_join_timer.py           |   4 -
 tests/query_test/test_hbase_queries.py             |   4 -
 tests/query_test/test_hdfs_caching.py              |   8 --
 tests/query_test/test_hdfs_file_mods.py            |   4 -
 tests/query_test/test_hive_codec_interop.py        |   4 -
 tests/query_test/test_hive_timestamp_conversion.py |   4 -
 tests/query_test/test_iceberg.py                   |  12 ---
 tests/query_test/test_insert.py                    |  32 ------
 tests/query_test/test_insert_behaviour.py          |   4 -
 tests/query_test/test_insert_parquet.py            |  16 ---
 tests/query_test/test_insert_permutation.py        |   4 -
 tests/query_test/test_invalid_test_header.py       |   4 -
 tests/query_test/test_join_queries.py              |   8 --
 tests/query_test/test_limit_pushdown_analytic.py   |   4 -
 tests/query_test/test_local_fs.py                  |   4 -
 tests/query_test/test_mem_usage_scaling.py         |   8 --
 tests/query_test/test_mt_dop.py                    |  16 ---
 tests/query_test/test_multiple_filesystems.py      |   4 -
 tests/query_test/test_nested_types.py              |  52 ----------
 tests/query_test/test_observability.py             |   8 --
 tests/query_test/test_orc_stats.py                 |   4 -
 tests/query_test/test_parquet_bloom_filter.py      |   4 -
 .../test_parquet_byte_stream_split_encoding.py     |   4 -
 .../test_parquet_late_materialization.py           |   4 -
 tests/query_test/test_parquet_page_index.py        |   4 -
 tests/query_test/test_parquet_stats.py             |   8 --
 tests/query_test/test_partitioning.py              |   4 -
 tests/query_test/test_prettyprint_bytes.py         |   4 -
 tests/query_test/test_processing_cost.py           |   4 -
 tests/query_test/test_queries.py                   |  28 ------
 tests/query_test/test_query_concurrency.py         |   4 -
 tests/query_test/test_query_mem_limit.py           |   4 -
 tests/query_test/test_query_opts.py                |   4 -
 tests/query_test/test_resource_limits.py           |   4 -
 tests/query_test/test_result_spooling.py           |  16 ---
 tests/query_test/test_rows_availability.py         |   4 -
 tests/query_test/test_runtime_filters.py           |  40 --------
 tests/query_test/test_scanners.py                  | 108 ---------------------
 tests/query_test/test_scanners_fuzz.py             |   4 -
 tests/query_test/test_scratch_limit.py             |   4 -
 tests/query_test/test_sfs.py                       |   4 -
 tests/query_test/test_sort.py                      |   8 --
 tests/query_test/test_spilling.py                  |  12 ---
 tests/query_test/test_tablesample.py               |   4 -
 tests/query_test/test_udfs.py                      |   8 --
 tests/query_test/test_utf8_strings.py              |   4 -
 tests/shell/test_shell_client.py                   |   4 -
 tests/shell/test_shell_commandline.py              |   4 -
 tests/shell/test_shell_commandline_jwt_auth.py     |   4 -
 .../shell/test_shell_commandline_kerberos_auth.py  |   4 -
 tests/shell/test_shell_interactive.py              |   4 -
 tests/stress/test_update_stress.py                 |   4 -
 tests/unittests/test_result_verifier.py            |   4 -
 189 files changed, 12 insertions(+), 1282 deletions(-)

diff --git a/tests/authorization/test_ranger.py b/tests/authorization/test_ranger.py
index 51f78fa64..393e11461 100644
--- a/tests/authorization/test_ranger.py
+++ b/tests/authorization/test_ranger.py
@@ -69,10 +69,6 @@ class TestRanger(CustomClusterTestSuite):
   Tests for Apache Ranger integration with Apache Impala.
   """
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @pytest.mark.execute_serially
   @CustomClusterTestSuite.with_args(
     impala_log_dir=tempfile.mkdtemp(prefix="ranger_audit_xff", dir=os.getenv("LOG_DIR")),
@@ -3164,10 +3160,6 @@ class TestRangerColumnMaskingComplexTypesInSelectList(CustomClusterTestSuite):
   while some tests in TestRanger needs Beeswax interface otherwise some of them fails.
   """
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestRangerColumnMaskingComplexTypesInSelectList, cls).add_test_dimensions()
diff --git a/tests/catalog_service/test_catalog_service_client.py b/tests/catalog_service/test_catalog_service_client.py
index 5e4c97d0d..22520c4c9 100644
--- a/tests/catalog_service/test_catalog_service_client.py
+++ b/tests/catalog_service/test_catalog_service_client.py
@@ -41,10 +41,6 @@ LOG = logging.getLogger('test_catalog_service_client')
 # on a stable catalog Thrift API.
 class TestCatalogServiceClient(ImpalaTestSuite):
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestCatalogServiceClient, cls).add_test_dimensions()
diff --git a/tests/catalog_service/test_large_num_partitions.py b/tests/catalog_service/test_large_num_partitions.py
index e72d1720b..6253259d1 100644
--- a/tests/catalog_service/test_large_num_partitions.py
+++ b/tests/catalog_service/test_large_num_partitions.py
@@ -23,10 +23,6 @@ from tests.common.impala_test_suite import ImpalaTestSuite
 from tests.common.test_dimensions import create_single_exec_option_dimension
 
 class TestLargeNumPartitions(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestLargeNumPartitions, cls).add_test_dimensions()
diff --git a/tests/common/custom_cluster_test_suite.py b/tests/common/custom_cluster_test_suite.py
index 4b7e9654b..dfe6f10a9 100644
--- a/tests/common/custom_cluster_test_suite.py
+++ b/tests/common/custom_cluster_test_suite.py
@@ -114,10 +114,6 @@ class CustomClusterTestSuite(ImpalaTestSuite):
   # Args for cluster startup/teardown when sharing a single cluster for the entire class.
   SHARED_CLUSTER_ARGS = {}
 
-  @classmethod
-  def get_workload(cls):
-    return 'tpch'
-
   @classmethod
   def add_test_dimensions(cls):
     super(CustomClusterTestSuite, cls).add_test_dimensions()
diff --git a/tests/common/impala_test_suite.py b/tests/common/impala_test_suite.py
index 0f1e31729..fe4f4ac50 100644
--- a/tests/common/impala_test_suite.py
+++ b/tests/common/impala_test_suite.py
@@ -190,6 +190,12 @@ class ImpalaTestSuite(BaseTestSuite):
   # not disabling glog buffering (--logbuflevel=-1).
   _warn_assert_log = False
 
+  # Use 'functional-query' as default workload. The workload affects exploration strategy
+  # if workload_exploration_strategy is set. See exploration_strategy() for more details.
+  @classmethod
+  def get_workload(cls):
+    return 'functional-query'
+
   @classmethod
   def add_test_dimensions(cls):
     """
@@ -1431,6 +1437,12 @@ class ImpalaTestSuite(BaseTestSuite):
                                         exec_single_node_option=exec_single_node_option,
                                         disable_codegen_rows_threshold_options=[0])
 
+  # The exploration strategy is affected by both option exploration_strategy and
+  # workload_exploration_strategy+workload. workload_exploration_strategy is used
+  # by bin/run-all-test.sh - using a workload (get_workload()) that is not set in
+  # run-all-tests.sh can lead to returning "core" even in exhaustive test runs.
+  # TODO: workload handling is not used consistently in tests and it is not even
+  #       clear how it should be used (IMPALA-13929)
   @classmethod
   def exploration_strategy(cls):
     default_strategy = pytest.config.option.exploration_strategy
diff --git a/tests/common/kudu_test_suite.py b/tests/common/kudu_test_suite.py
index d92eb7e1a..a9d381846 100644
--- a/tests/common/kudu_test_suite.py
+++ b/tests/common/kudu_test_suite.py
@@ -81,10 +81,6 @@ class KuduTestSuite(ImpalaTestSuite):
   def setup_class(cls):
     super(KuduTestSuite, cls).setup_class()
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(KuduTestSuite, cls).add_test_dimensions()
diff --git a/tests/custom_cluster/test_admission_controller.py b/tests/custom_cluster/test_admission_controller.py
index 72c1d6534..ad19590a5 100644
--- a/tests/custom_cluster/test_admission_controller.py
+++ b/tests/custom_cluster/test_admission_controller.py
@@ -174,10 +174,6 @@ def wait_statestore_heartbeat(num_heartbeat=1):
 
 class TestAdmissionControllerBase(CustomClusterTestSuite):
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def default_test_protocol(cls):
     # Do not change this. Multiple test method has been hardcoded under this assumption.
diff --git a/tests/custom_cluster/test_ai_generate_text.py b/tests/custom_cluster/test_ai_generate_text.py
index 51c70da13..ee5bc6779 100644
--- a/tests/custom_cluster/test_ai_generate_text.py
+++ b/tests/custom_cluster/test_ai_generate_text.py
@@ -25,10 +25,6 @@ from tests.common.custom_cluster_test_suite import CustomClusterTestSuite
 
 
 class TestAIGenerateText(CustomClusterTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     if cls.exploration_strategy() != 'exhaustive':
diff --git a/tests/custom_cluster/test_alloc_fail.py b/tests/custom_cluster/test_alloc_fail.py
index 507ea8af7..7c651203c 100644
--- a/tests/custom_cluster/test_alloc_fail.py
+++ b/tests/custom_cluster/test_alloc_fail.py
@@ -25,10 +25,6 @@ from tests.common.skip import SkipIfBuildType
 class TestAllocFail(CustomClusterTestSuite):
   """Tests for handling malloc() failure for UDF/UDA"""
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @pytest.mark.execute_serially
   @CustomClusterTestSuite.with_args("--stress_fn_ctx_alloc=1")
   def test_alloc_fail_init(self, vector):
diff --git a/tests/custom_cluster/test_always_false_filter.py b/tests/custom_cluster/test_always_false_filter.py
index ead7a4ee1..166262660 100644
--- a/tests/custom_cluster/test_always_false_filter.py
+++ b/tests/custom_cluster/test_always_false_filter.py
@@ -23,10 +23,6 @@ from tests.common.custom_cluster_test_suite import CustomClusterTestSuite
 from tests.common.skip import SkipIfBuildType
 
 class TestAlwaysFalseFilter(CustomClusterTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     if cls.exploration_strategy() != 'exhaustive':
diff --git a/tests/custom_cluster/test_auto_scaling.py b/tests/custom_cluster/test_auto_scaling.py
index 5a9f2cbbf..4ec043be2 100644
--- a/tests/custom_cluster/test_auto_scaling.py
+++ b/tests/custom_cluster/test_auto_scaling.py
@@ -31,10 +31,6 @@ LOG = logging.getLogger("test_auto_scaling")
 TOTAL_BACKENDS_METRIC_NAME = "cluster-membership.backends.total"
 
 class TestAutoScaling(CustomClusterTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     if cls.exploration_strategy() != 'exhaustive':
diff --git a/tests/custom_cluster/test_automatic_invalidation.py b/tests/custom_cluster/test_automatic_invalidation.py
index 321add208..6ab68066f 100644
--- a/tests/custom_cluster/test_automatic_invalidation.py
+++ b/tests/custom_cluster/test_automatic_invalidation.py
@@ -42,10 +42,6 @@ class TestAutomaticCatalogInvalidation(CustomClusterTestSuite):
                (not IS_HDFS and not IS_LOCAL) else 10
   timeout_flag = "--invalidate_tables_timeout_s=" + str(timeout)
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   def _get_catalog_object(self):
     """ Return the catalog object of functional.alltypes serialized to string. """
     return self.cluster.catalogd.service.read_debug_webpage(
diff --git a/tests/custom_cluster/test_blacklist.py b/tests/custom_cluster/test_blacklist.py
index 6a80ab611..945e47ea5 100644
--- a/tests/custom_cluster/test_blacklist.py
+++ b/tests/custom_cluster/test_blacklist.py
@@ -40,10 +40,6 @@ def _get_disk_write_fail_action(port):
 # Note: query-retry is not enabled by default.
 @SkipIfNotHdfsMinicluster.tuned_for_minicluster
 class TestBlacklist(CustomClusterTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     if cls.exploration_strategy() != 'exhaustive':
@@ -190,10 +186,6 @@ class TestBlacklist(CustomClusterTestSuite):
 # tests.
 @SkipIfNotHdfsMinicluster.tuned_for_minicluster
 class TestBlacklistFaultyDisk(CustomClusterTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     if cls.exploration_strategy() != 'exhaustive':
diff --git a/tests/custom_cluster/test_blacklisted_dbs_and_tables.py b/tests/custom_cluster/test_blacklisted_dbs_and_tables.py
index f5ea32da6..91a3e7cfc 100644
--- a/tests/custom_cluster/test_blacklisted_dbs_and_tables.py
+++ b/tests/custom_cluster/test_blacklisted_dbs_and_tables.py
@@ -23,10 +23,6 @@ from tests.common.custom_cluster_test_suite import CustomClusterTestSuite
 class TestBlacklistedDbsAndTables(CustomClusterTestSuite):
   """Test for db and table blacklist."""
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   def __expect_error_in_result(self, stmt, expected_err):
     # Drop db/table/view statements won't fail if they contains IF EXISTS. Instead,
     # the error message is returned as results.
diff --git a/tests/custom_cluster/test_breakpad.py b/tests/custom_cluster/test_breakpad.py
index 2ed6438d8..db3f2cc89 100644
--- a/tests/custom_cluster/test_breakpad.py
+++ b/tests/custom_cluster/test_breakpad.py
@@ -35,10 +35,6 @@ DAEMON_ARGS = ['impalad_args', 'state_store_args', 'catalogd_args']
 
 class TestBreakpadBase(CustomClusterTestSuite):
   """Base class with utility methods for all breakpad tests."""
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   def setup_method(self, method):
     # Override parent
     # The temporary directory gets removed in teardown_method() after each test.
diff --git a/tests/custom_cluster/test_calcite_planner.py b/tests/custom_cluster/test_calcite_planner.py
index 1b49df791..d9016f90e 100644
--- a/tests/custom_cluster/test_calcite_planner.py
+++ b/tests/custom_cluster/test_calcite_planner.py
@@ -30,10 +30,6 @@ class TestCalcitePlanner(CustomClusterTestSuite):
   def setup_class(cls):
     super(TestCalcitePlanner, cls).setup_class()
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @pytest.mark.execute_serially
   @CustomClusterTestSuite.with_args(start_args="--use_calcite_planner=true")
   def test_calcite_frontend(self, vector, unique_database):
diff --git a/tests/custom_cluster/test_catalog_hms_failures.py b/tests/custom_cluster/test_catalog_hms_failures.py
index e288fd887..aef8badd2 100644
--- a/tests/custom_cluster/test_catalog_hms_failures.py
+++ b/tests/custom_cluster/test_catalog_hms_failures.py
@@ -36,10 +36,6 @@ class TestHiveMetaStoreFailure(CustomClusterTestSuite):
   """Tests to validate the Catalog Service continues to function even if the HMS
   fails."""
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     super(TestHiveMetaStoreFailure, cls).setup_class()
diff --git a/tests/custom_cluster/test_catalog_wait.py b/tests/custom_cluster/test_catalog_wait.py
index 1625e78fe..059ce025b 100644
--- a/tests/custom_cluster/test_catalog_wait.py
+++ b/tests/custom_cluster/test_catalog_wait.py
@@ -88,10 +88,6 @@ class TestCatalogStartupDelay(CustomClusterTestSuite):
      different cluster setups (different metadata, exclusive coordinators). This
      is not testing anything beyond successful startup."""
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     if cls.exploration_strategy() != 'exhaustive':
diff --git a/tests/custom_cluster/test_catalogd_ha.py b/tests/custom_cluster/test_catalogd_ha.py
index 0bcb7dc29..3bb587d9a 100644
--- a/tests/custom_cluster/test_catalogd_ha.py
+++ b/tests/custom_cluster/test_catalogd_ha.py
@@ -52,9 +52,6 @@ class TestCatalogdHA(CustomClusterTestSuite):
 
   SS_TEST_PORT = ["25010"]
 
-  def get_workload(self):
-    return 'functional-query'
-
   # Verify port of the active catalogd of statestore is matching with the catalog
   # service port of the given catalogd service.
   def __verify_statestore_active_catalogd_port(self, catalogd_service):
diff --git a/tests/custom_cluster/test_codegen_cache.py b/tests/custom_cluster/test_codegen_cache.py
index e9da51cb2..ba053a388 100644
--- a/tests/custom_cluster/test_codegen_cache.py
+++ b/tests/custom_cluster/test_codegen_cache.py
@@ -31,10 +31,6 @@ class TestCodegenCache(CustomClusterTestSuite):
   """ This test enables the codegen cache and verfies that cache hit and miss counts
   in the runtime profile and metrics are as expected.
   """
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     if cls.exploration_strategy() != 'exhaustive':
diff --git a/tests/custom_cluster/test_compact_catalog_updates.py b/tests/custom_cluster/test_compact_catalog_updates.py
index 52b481ca6..c518d3d98 100644
--- a/tests/custom_cluster/test_compact_catalog_updates.py
+++ b/tests/custom_cluster/test_compact_catalog_updates.py
@@ -24,10 +24,6 @@ from tests.common.custom_cluster_test_suite import CustomClusterTestSuite
 
 
 class TestCompactCatalogUpdates(CustomClusterTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     if cls.exploration_strategy() != 'exhaustive':
diff --git a/tests/custom_cluster/test_custom_hive_configs.py b/tests/custom_cluster/test_custom_hive_configs.py
index b574aa3ce..926a5be0b 100644
--- a/tests/custom_cluster/test_custom_hive_configs.py
+++ b/tests/custom_cluster/test_custom_hive_configs.py
@@ -26,10 +26,6 @@ HIVE_SITE_EXT_DIR = getenv('IMPALA_HOME') + '/fe/src/test/resources/hive-site-ex
 
 
 class TestCustomHiveConfigs(CustomClusterTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     super(TestCustomHiveConfigs, cls).setup_class()
diff --git a/tests/custom_cluster/test_custom_statestore.py b/tests/custom_cluster/test_custom_statestore.py
index c9ef7c39c..8e14f6a82 100644
--- a/tests/custom_cluster/test_custom_statestore.py
+++ b/tests/custom_cluster/test_custom_statestore.py
@@ -57,10 +57,6 @@ class TestCustomStatestore(CustomClusterTestSuite):
   handle.bind(('localhost', 0))
   _, port = handle.getsockname()
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   def __get_protocol_version(self):
     request = Subscriber.TGetProtocolVersionRequest(
         protocol_version=Subscriber.StatestoreServiceVersion.V2)
@@ -207,10 +203,6 @@ class TestStatestoreStartupDelay(CustomClusterTestSuite):
   expected to be able to tolerate this delay with FLAGS_tolerate_statestore_startup_delay
   set as true. This is not testing anything beyond successful startup."""
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     if cls.exploration_strategy() != 'exhaustive':
diff --git a/tests/custom_cluster/test_data_cache.py b/tests/custom_cluster/test_data_cache.py
index a020bfc68..36bb03576 100644
--- a/tests/custom_cluster/test_data_cache.py
+++ b/tests/custom_cluster/test_data_cache.py
@@ -33,10 +33,6 @@ class TestDataCache(CustomClusterTestSuite):
   this test checks the number of data cache hit counts, which implicitly relies
   on the scheduler's behavior and number of HDFS blocks.
   """
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     if cls.exploration_strategy() != 'exhaustive':
diff --git a/tests/custom_cluster/test_disable_features.py b/tests/custom_cluster/test_disable_features.py
index 3d01dba26..9ba1737a3 100644
--- a/tests/custom_cluster/test_disable_features.py
+++ b/tests/custom_cluster/test_disable_features.py
@@ -26,10 +26,6 @@ from tests.common.skip import SkipIfFS
 class TestDisableFeatures(CustomClusterTestSuite):
   """Tests that involve disabling features at startup."""
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @SkipIfFS.hdfs_caching
   @pytest.mark.execute_serially
   @UniqueDatabase.parametrize(sync_ddl=True)
diff --git a/tests/custom_cluster/test_disk_spill_configurations.py b/tests/custom_cluster/test_disk_spill_configurations.py
index f73fd15fc..07819b6df 100644
--- a/tests/custom_cluster/test_disk_spill_configurations.py
+++ b/tests/custom_cluster/test_disk_spill_configurations.py
@@ -23,10 +23,6 @@ from tests.common.custom_cluster_test_suite import CustomClusterTestSuite
 class TestDiskSpillConfigurations(CustomClusterTestSuite):
   """Tests to exercise non-default disk spill configurations end-to-end."""
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @pytest.mark.execute_serially
   @CustomClusterTestSuite.with_args("--disk_spill_encryption=false")
   def test_disk_spill_encryption_disabled(self, vector):
diff --git a/tests/custom_cluster/test_event_processing_error.py b/tests/custom_cluster/test_event_processing_error.py
index 64516480d..cd9a11547 100644
--- a/tests/custom_cluster/test_event_processing_error.py
+++ b/tests/custom_cluster/test_event_processing_error.py
@@ -32,10 +32,6 @@ class TestEventProcessingError(CustomClusterTestSuite):
   Tests for verify event processor not going into error state whenever there are
   runtime exceptions while processing events.
   """
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @CustomClusterTestSuite.with_args(
     impalad_args="--use_local_catalog=true",
     catalogd_args="--catalog_topic_mode=minimal "
diff --git a/tests/custom_cluster/test_exchange_deferred_batches.py b/tests/custom_cluster/test_exchange_deferred_batches.py
index 05c97ed47..4b8bd8e87 100644
--- a/tests/custom_cluster/test_exchange_deferred_batches.py
+++ b/tests/custom_cluster/test_exchange_deferred_batches.py
@@ -25,10 +25,6 @@ from tests.common.skip import SkipIfBuildType
 @SkipIfBuildType.not_dev_build
 class TestExchangeDeferredBatches(CustomClusterTestSuite):
 
-    @classmethod
-    def get_workload(cls):
-      return 'functional-query'
-
     @classmethod
     def setup_class(cls):
       if cls.exploration_strategy() != 'exhaustive':
diff --git a/tests/custom_cluster/test_exchange_delays.py b/tests/custom_cluster/test_exchange_delays.py
index 44d79ea2a..51fcd12d1 100644
--- a/tests/custom_cluster/test_exchange_delays.py
+++ b/tests/custom_cluster/test_exchange_delays.py
@@ -33,10 +33,6 @@ if IS_ISILON:
 class TestExchangeDelays(CustomClusterTestSuite):
   """Tests for handling delays in finding data stream receivers"""
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @pytest.mark.execute_serially
   @CustomClusterTestSuite.with_args(
       "--stress_datastream_recvr_delay_ms={0}".format(DELAY_MS)
diff --git a/tests/custom_cluster/test_ext_data_sources.py b/tests/custom_cluster/test_ext_data_sources.py
index 53a42886a..5aae15cfa 100644
--- a/tests/custom_cluster/test_ext_data_sources.py
+++ b/tests/custom_cluster/test_ext_data_sources.py
@@ -31,10 +31,6 @@ from time import sleep
 class TestExtDataSources(CustomClusterTestSuite):
   """Impala query tests for external data sources."""
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestExtDataSources, cls).add_test_dimensions()
@@ -179,10 +175,6 @@ class TestExtDataSources(CustomClusterTestSuite):
 class TestHivePostgresJdbcTables(CustomClusterTestSuite):
   """Tests for hive jdbc postgres tables. """
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     super(TestHivePostgresJdbcTables, cls).setup_class()
@@ -266,10 +258,6 @@ class TestMySqlExtJdbcTables(CustomClusterTestSuite):
   """Impala query tests for external jdbc tables on MySQL server.
   It also includes tests for external hive jdbc tables on mysql."""
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def _setup_mysql_test_env(cls):
     # Download MySQL docker image and jdbc driver, start MySQL server, create database
@@ -394,10 +382,6 @@ class TestMySqlExtJdbcTables(CustomClusterTestSuite):
 class TestImpalaExtJdbcTables(CustomClusterTestSuite):
   """Impala query tests for external jdbc tables in Impala cluster."""
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestImpalaExtJdbcTables, cls).add_test_dimensions()
diff --git a/tests/custom_cluster/test_frontend_connection_limit.py b/tests/custom_cluster/test_frontend_connection_limit.py
index c6cd46c38..845bd80f1 100644
--- a/tests/custom_cluster/test_frontend_connection_limit.py
+++ b/tests/custom_cluster/test_frontend_connection_limit.py
@@ -32,10 +32,6 @@ from tests.common.custom_cluster_test_suite import CustomClusterTestSuite
 
 class TestFrontendConnectionLimit(CustomClusterTestSuite):
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestFrontendConnectionLimit, cls).add_test_dimensions()
diff --git a/tests/custom_cluster/test_geospatial_library.py b/tests/custom_cluster/test_geospatial_library.py
index 5ce0d9730..d1a8474d8 100644
--- a/tests/custom_cluster/test_geospatial_library.py
+++ b/tests/custom_cluster/test_geospatial_library.py
@@ -28,10 +28,6 @@ SHOW_FUNCTIONS = "show functions in _impala_builtins"
 class TestGeospatialLibrary(CustomClusterTestSuite):
   """Tests the geospatial_library backend flag"""
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @CustomClusterTestSuite.with_args(start_args='--geospatial_library=NONE')
   @SkipIfApacheHive.feature_not_supported
   @pytest.mark.execute_serially
diff --git a/tests/custom_cluster/test_hbase_hms_column_order.py b/tests/custom_cluster/test_hbase_hms_column_order.py
index 447dd071d..fcb62ecdb 100644
--- a/tests/custom_cluster/test_hbase_hms_column_order.py
+++ b/tests/custom_cluster/test_hbase_hms_column_order.py
@@ -36,10 +36,6 @@ class TestHBaseHmsColumnOrder(CustomClusterTestSuite):
     cls.ImpalaTestMatrix.add_constraint(lambda v:
         v.get_value('table_format').file_format == 'hbase')
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @CustomClusterTestSuite.with_args(
       catalogd_args="--use_hms_column_order_for_hbase_tables=true")
   def test_hbase_hms_column_order(self, vector, unique_database):
diff --git a/tests/custom_cluster/test_hdfs_fd_caching.py b/tests/custom_cluster/test_hdfs_fd_caching.py
index 8574183e4..0785a462f 100644
--- a/tests/custom_cluster/test_hdfs_fd_caching.py
+++ b/tests/custom_cluster/test_hdfs_fd_caching.py
@@ -40,10 +40,6 @@ class TestHdfsFdCaching(CustomClusterTestSuite):
   NUM_ROWS = 100
   INSERT_TPL = "insert into cachefd.simple values"
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   def create_n_files(self, n):
     """Creates 'n' files by performing 'n' inserts with NUM_ROWS rows."""
     values = ", ".join(["({0},{0},{0})".format(x) for x in range(self.NUM_ROWS)])
diff --git a/tests/custom_cluster/test_hdfs_timeout.py b/tests/custom_cluster/test_hdfs_timeout.py
index 629b63de2..002048bf4 100644
--- a/tests/custom_cluster/test_hdfs_timeout.py
+++ b/tests/custom_cluster/test_hdfs_timeout.py
@@ -31,10 +31,6 @@ from tests.util.shell_util import exec_process
 class TestHdfsTimeouts(CustomClusterTestSuite):
   """Test to verify that HDFS operations time out correctly."""
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @pytest.mark.execute_serially
   @CustomClusterTestSuite.with_args(
     impalad_args="--hdfs_operation_timeout_sec=5 --max_cached_file_handles=0")
diff --git a/tests/custom_cluster/test_hive_parquet_codec_interop.py b/tests/custom_cluster/test_hive_parquet_codec_interop.py
index 4f54e36ea..cf87d0724 100644
--- a/tests/custom_cluster/test_hive_parquet_codec_interop.py
+++ b/tests/custom_cluster/test_hive_parquet_codec_interop.py
@@ -33,10 +33,6 @@ PARQUET_CODECS = ['none', 'snappy', 'gzip', 'zstd', 'zstd:7', 'lz4']
 
 class TestParquetInterop(CustomClusterTestSuite):
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     if cls.exploration_strategy() != 'exhaustive':
diff --git a/tests/custom_cluster/test_hive_parquet_timestamp_conversion.py b/tests/custom_cluster/test_hive_parquet_timestamp_conversion.py
index 3fe286d5f..3ab6cf269 100644
--- a/tests/custom_cluster/test_hive_parquet_timestamp_conversion.py
+++ b/tests/custom_cluster/test_hive_parquet_timestamp_conversion.py
@@ -40,10 +40,6 @@ class TestHiveParquetTimestampConversion(CustomClusterTestSuite):
         v.get_value('table_format').file_format == 'parquet' and
         v.get_value('table_format').compression_codec == 'none')
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   def check_sanity(self, expect_converted_result):
     data = self.execute_query_expect_success(self.client, """
         SELECT COUNT(timestamp_col), COUNT(DISTINCT timestamp_col),
diff --git a/tests/custom_cluster/test_hs2.py b/tests/custom_cluster/test_hs2.py
index 8a38bef38..7c64b885a 100644
--- a/tests/custom_cluster/test_hs2.py
+++ b/tests/custom_cluster/test_hs2.py
@@ -26,10 +26,6 @@ from TCLIService import TCLIService
 
 
 class TestHS2(CustomClusterTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     if cls.exploration_strategy() != 'exhaustive':
diff --git a/tests/custom_cluster/test_iceberg_always_allow_merge_on_read.py b/tests/custom_cluster/test_iceberg_always_allow_merge_on_read.py
index 0750b26eb..fa4a1d950 100644
--- a/tests/custom_cluster/test_iceberg_always_allow_merge_on_read.py
+++ b/tests/custom_cluster/test_iceberg_always_allow_merge_on_read.py
@@ -43,10 +43,6 @@ class TestIcebergAlwaysAllowMergeOnRead(CustomClusterTestSuite):
     return "AnalysisException: Unsupported '{0}': 'copy-on-write' for " \
         "Iceberg table: {1}.{2}".format(operation, db, self.TABLE_NAME)
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @CustomClusterTestSuite.with_args(
       impalad_args='--iceberg_always_allow_merge_on_read_operations=true')
   @pytest.mark.execute_serially
diff --git a/tests/custom_cluster/test_iceberg_rest_catalog.py b/tests/custom_cluster/test_iceberg_rest_catalog.py
index 067682601..cab547487 100644
--- a/tests/custom_cluster/test_iceberg_rest_catalog.py
+++ b/tests/custom_cluster/test_iceberg_rest_catalog.py
@@ -35,9 +35,6 @@ IMPALAD_ARGS = """--use_local_catalog=true --catalogd_deployed=false
 
 
 class TestIcebergRestCatalog(CustomClusterTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
 
   def setup_method(self, method):
     # Invoke start-impala-cluster.py with '--no_catalogd'
diff --git a/tests/custom_cluster/test_iceberg_strict_data.py b/tests/custom_cluster/test_iceberg_strict_data.py
index 2426dd602..d8ddb4904 100644
--- a/tests/custom_cluster/test_iceberg_strict_data.py
+++ b/tests/custom_cluster/test_iceberg_strict_data.py
@@ -30,10 +30,6 @@ class TestIcebergStrictDataFileLocation(CustomClusterTestSuite):
   EXCEPTION = "IcebergTableLoadingException: " \
     "Error loading metadata for Iceberg table"
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @CustomClusterTestSuite.with_args(
       catalogd_args='--iceberg_allow_datafiles_in_table_location_only=true')
   @pytest.mark.execute_serially
diff --git a/tests/custom_cluster/test_iceberg_with_puffin.py b/tests/custom_cluster/test_iceberg_with_puffin.py
index 220cc3b5c..f70ffc5c7 100644
--- a/tests/custom_cluster/test_iceberg_with_puffin.py
+++ b/tests/custom_cluster/test_iceberg_with_puffin.py
@@ -34,10 +34,6 @@ class TestIcebergWithPuffinStatsStartupFlag(CustomClusterTestSuite):
   """Tests for checking the behaviour of the startup flag
   'enable_reading_puffin_stats'."""
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @CustomClusterTestSuite.with_args(
       catalogd_args='--enable_reading_puffin_stats=false')
   @pytest.mark.execute_serially
@@ -84,10 +80,6 @@ class TestIcebergTableWithPuffinStats(CustomClusterTestSuite):
 
   TBL_NAME = "ice_puffin_tbl"
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestIcebergTableWithPuffinStats, cls).add_test_dimensions()
diff --git a/tests/custom_cluster/test_incremental_metadata_updates.py b/tests/custom_cluster/test_incremental_metadata_updates.py
index 2f330f3d6..cf090c00c 100755
--- a/tests/custom_cluster/test_incremental_metadata_updates.py
+++ b/tests/custom_cluster/test_incremental_metadata_updates.py
@@ -24,10 +24,6 @@ from tests.common.custom_cluster_test_suite import CustomClusterTestSuite
 class TestIncrementalMetadataUpdate(CustomClusterTestSuite):
   """ Validates incremental metadata updates across catalogd and coordinators."""
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     super(TestIncrementalMetadataUpdate, cls).setup_class()
diff --git a/tests/custom_cluster/test_jvm_mem_tracking.py b/tests/custom_cluster/test_jvm_mem_tracking.py
index a5b615dd6..a25e40df4 100644
--- a/tests/custom_cluster/test_jvm_mem_tracking.py
+++ b/tests/custom_cluster/test_jvm_mem_tracking.py
@@ -27,10 +27,6 @@ LOG = logging.getLogger('test_jvm_mem_tracking')
 
 class TestJvmMemTracker(CustomClusterTestSuite):
   """Test that JVM heap memory consumption is counted against process usage."""
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @CustomClusterTestSuite.with_args(impalad_args="--mem_limit_includes_jvm=true \
                                     --codegen_cache_capacity=0",
                                     start_args="--jvm_args=-Xmx1g", cluster_size=1)
diff --git a/tests/custom_cluster/test_krpc_mem_usage.py b/tests/custom_cluster/test_krpc_mem_usage.py
index ffcf44957..37b31f5d1 100644
--- a/tests/custom_cluster/test_krpc_mem_usage.py
+++ b/tests/custom_cluster/test_krpc_mem_usage.py
@@ -32,10 +32,6 @@ class TestKrpcMemUsage(CustomClusterTestSuite):
   TEST_QUERY = "select count(c2.string_col) from \
      functional.alltypestiny join functional.alltypessmall c2"
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     if cls.exploration_strategy() != 'exhaustive':
diff --git a/tests/custom_cluster/test_krpc_metrics.py b/tests/custom_cluster/test_krpc_metrics.py
index 7d5a4e531..7b4ec4ae3 100644
--- a/tests/custom_cluster/test_krpc_metrics.py
+++ b/tests/custom_cluster/test_krpc_metrics.py
@@ -29,10 +29,6 @@ class TestKrpcMetrics(CustomClusterTestSuite):
   TEST_QUERY = 'select count(*) from tpch_parquet.lineitem l1 \
       join tpch_parquet.lineitem l2 where l1.l_orderkey = l2.l_orderkey;'
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     if cls.exploration_strategy() != 'exhaustive':
diff --git a/tests/custom_cluster/test_krpc_options.py b/tests/custom_cluster/test_krpc_options.py
index 3958eb512..edbdec53b 100644
--- a/tests/custom_cluster/test_krpc_options.py
+++ b/tests/custom_cluster/test_krpc_options.py
@@ -25,10 +25,6 @@ from tests.common.impala_cluster import DEFAULT_KRPC_PORT
 class TestKrpcOptions(CustomClusterTestSuite):
   """Test for different options when using KRPC."""
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     if cls.exploration_strategy() != 'exhaustive':
diff --git a/tests/custom_cluster/test_krpc_socket.py b/tests/custom_cluster/test_krpc_socket.py
index 009547438..7b67fe499 100644
--- a/tests/custom_cluster/test_krpc_socket.py
+++ b/tests/custom_cluster/test_krpc_socket.py
@@ -26,10 +26,6 @@ from tests.util.shell_util import exec_process
 class TestKrpcSocket(CustomClusterTestSuite):
   """Test for different types of socket used by KRPC."""
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @pytest.mark.execute_serially
   @CustomClusterTestSuite.with_args(
     impalad_args="--rpc_use_unix_domain_socket=false")
diff --git a/tests/custom_cluster/test_kudu.py b/tests/custom_cluster/test_kudu.py
index 9ac8f566d..296a05ffd 100644
--- a/tests/custom_cluster/test_kudu.py
+++ b/tests/custom_cluster/test_kudu.py
@@ -35,10 +35,6 @@ LOG = logging.getLogger(__name__)
 
 class CustomKuduTest(CustomClusterTestSuite, KuduTestSuite):
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def default_test_protocol(cls):
     # run_test_case() can produce different result types between beeswax vs hs2 protocol
@@ -67,10 +63,6 @@ class CustomKuduTest(CustomClusterTestSuite, KuduTestSuite):
 
 class TestKuduOperations(CustomKuduTest):
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestKuduOperations, cls).add_test_dimensions()
@@ -145,10 +137,6 @@ class TestKuduClientTimeout(CustomKuduTest):
      this turns out to be the case, specific tests may need to be re-considered or
      removed."""
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @pytest.mark.execute_serially
   @CustomClusterTestSuite.with_args(impalad_args="-kudu_operation_timeout_ms=1")
   @SkipIfKudu.hms_integration_enabled()
@@ -165,10 +153,6 @@ class TestKuduHMSIntegration(CustomKuduTest):
   """Tests the different DDL operations when using a kudu table with Kudu's integration
      with the Hive Metastore."""
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     # Restart Kudu cluster with HMS integration enabled
@@ -413,10 +397,6 @@ class TestKuduTransactionBase(CustomKuduTest):
   # query to upsert a row in Kudu table.
   _upsert_query = "upsert into {0} values (3, 'hello')"
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   def _test_kudu_txn_succeed(self, unique_database):
     # Create Kudu table.
     table_name = "%s.test_kudu_txn_succeed" % unique_database
@@ -763,10 +743,6 @@ class TestKuduTxnKeepalive(CustomKuduTest):
   # queries to insert rows into Kudu table.
   _insert_3_rows_query = "insert into {0} values (0, 'a'), (1, 'b'), (2, 'c')"
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     # Restart Kudu cluster with txn_keepalive_interval_ms as 1000 ms.
@@ -821,10 +797,6 @@ class TestKuduDmlConflictBase(CustomKuduTest):
   # query to drop all rows from Kudu table.
   _delete_all_query = "delete from {0}"
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   def _check_errors(self, query_profile, expect_error, error_message, num_row_erros):
     """
     Check ocurrence of error_message and num_row_errors in query_profile.
diff --git a/tests/custom_cluster/test_kudu_not_available.py b/tests/custom_cluster/test_kudu_not_available.py
index 23b09c026..e3244ddc9 100644
--- a/tests/custom_cluster/test_kudu_not_available.py
+++ b/tests/custom_cluster/test_kudu_not_available.py
@@ -25,10 +25,6 @@ class TestKuduNotAvailable(CustomClusterTestSuite):
      fail with the expected error message.
   """
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @CustomClusterTestSuite.with_args(
       impalad_args="--disable_kudu=true",
       catalogd_args="--disable_kudu=true",
diff --git a/tests/custom_cluster/test_lineage.py b/tests/custom_cluster/test_lineage.py
index 34486f998..dde8ca096 100644
--- a/tests/custom_cluster/test_lineage.py
+++ b/tests/custom_cluster/test_lineage.py
@@ -42,10 +42,6 @@ class TestLineage(CustomClusterTestSuite):
   def setup_class(cls):
     super(TestLineage, cls).setup_class()
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def teardown_class(cls):
     super(TestLineage, cls).teardown_class()
diff --git a/tests/custom_cluster/test_local_catalog.py b/tests/custom_cluster/test_local_catalog.py
index f9b8858da..aa7a32d98 100644
--- a/tests/custom_cluster/test_local_catalog.py
+++ b/tests/custom_cluster/test_local_catalog.py
@@ -597,10 +597,6 @@ class TestLocalCatalogObservability(CustomClusterTestSuite):
 
 
 class TestFullAcid(CustomClusterTestSuite):
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @SkipIfHive2.acid
   @pytest.mark.execute_serially
   @CustomClusterTestSuite.with_args(
diff --git a/tests/custom_cluster/test_local_tz_conversion.py b/tests/custom_cluster/test_local_tz_conversion.py
index 35b4e809e..0543f92c8 100644
--- a/tests/custom_cluster/test_local_tz_conversion.py
+++ b/tests/custom_cluster/test_local_tz_conversion.py
@@ -43,10 +43,6 @@ class TestLocalTzConversion(CustomClusterTestSuite):
         v.get_value('table_format').file_format == 'text' and
         v.get_value('table_format').compression_codec == 'none')
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @SkipIfFS.hbase
   @pytest.mark.execute_serially
   @CustomClusterTestSuite.with_args("--use_local_tz_for_unix_timestamp_conversions=true")
diff --git a/tests/custom_cluster/test_logging.py b/tests/custom_cluster/test_logging.py
index 09d1fc5cc..ddae8b165 100644
--- a/tests/custom_cluster/test_logging.py
+++ b/tests/custom_cluster/test_logging.py
@@ -28,10 +28,6 @@ LOG = logging.getLogger(__name__)
 class TestLoggingCore(CustomClusterTestSuite):
   """Test existence of certain log lines under some scenario."""
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   def _test_max_errors(self, max_error_logs_per_instance, max_errors, expect_downgraded):
     """Test that number of non-fatal error printed to INFO log is limited by
     max_errors and max_error_logs_per_instance."""
@@ -73,10 +69,6 @@ class TestLogFlushPermissionDenied(CustomClusterTestSuite):
     """Test logging of failures to open log files with cause Permission denied."""
     LOG_FLUSH_FAILURES_DIR = "log_flush_failures_dir"
 
-    @classmethod
-    def get_workload(cls):
-        return 'functional-query'
-
     def setup_method(self, method):
         # Override parent
         super(TestLogFlushPermissionDenied, self).setup_method(method)
diff --git a/tests/custom_cluster/test_mem_reservations.py b/tests/custom_cluster/test_mem_reservations.py
index 14674532e..f4dbfc9b7 100644
--- a/tests/custom_cluster/test_mem_reservations.py
+++ b/tests/custom_cluster/test_mem_reservations.py
@@ -28,10 +28,6 @@ from tests.verifiers.metric_verifier import MetricVerifier
 class TestMemReservations(CustomClusterTestSuite):
   """Tests for memory reservations that require custom cluster arguments."""
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @pytest.mark.execute_serially
   @CustomClusterTestSuite.with_args(
       impalad_args="--buffer_pool_limit=2g --memory_maintenance_sleep_time_ms=100")
diff --git a/tests/custom_cluster/test_metadata_replicas.py b/tests/custom_cluster/test_metadata_replicas.py
index 47e628eea..81d7020a0 100644
--- a/tests/custom_cluster/test_metadata_replicas.py
+++ b/tests/custom_cluster/test_metadata_replicas.py
@@ -27,10 +27,6 @@ from tests.util.hive_utils import HiveDbWrapper
 class TestMetadataReplicas(CustomClusterTestSuite):
   """ Validates metadata content across catalogd and impalad coordinators."""
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     if cls.exploration_strategy() != 'exhaustive':
diff --git a/tests/custom_cluster/test_mt_dop.py b/tests/custom_cluster/test_mt_dop.py
index 4b456a6d3..b4f3053fd 100644
--- a/tests/custom_cluster/test_mt_dop.py
+++ b/tests/custom_cluster/test_mt_dop.py
@@ -38,10 +38,6 @@ def impalad_admission_ctrl_maxmtdop_args():
 
 
 class TestMtDopFlags(CustomClusterTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestMtDopFlags, cls).add_test_dimensions()
@@ -80,10 +76,6 @@ class TestMtDopFlags(CustomClusterTestSuite):
 
 
 class TestMaxMtDop(CustomClusterTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestMaxMtDop, cls).add_test_dimensions()
diff --git a/tests/custom_cluster/test_observability.py b/tests/custom_cluster/test_observability.py
index c5fd9e2b2..0a620f0ff 100644
--- a/tests/custom_cluster/test_observability.py
+++ b/tests/custom_cluster/test_observability.py
@@ -25,10 +25,6 @@ from tests.util.parse_util import parse_duration_string_ms
 
 
 class TestObservability(CustomClusterTestSuite):
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @pytest.mark.execute_serially
   def test_host_profile_jvm_gc_metrics(self, unique_database):
     self.execute_query_expect_success(self.client,
diff --git a/tests/custom_cluster/test_parquet_max_page_header.py b/tests/custom_cluster/test_parquet_max_page_header.py
index 448817637..026a44b45 100644
--- a/tests/custom_cluster/test_parquet_max_page_header.py
+++ b/tests/custom_cluster/test_parquet_max_page_header.py
@@ -34,10 +34,6 @@ class TestParquetMaxPageHeader(CustomClusterTestSuite):
   adjust --max_page_header_size, which is the maximum bytes of header data that the
   scanner reads before it bails out.
   '''
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     if cls.exploration_strategy() != 'exhaustive':
diff --git a/tests/custom_cluster/test_partition.py b/tests/custom_cluster/test_partition.py
index 10a81d462..c1d961fa6 100644
--- a/tests/custom_cluster/test_partition.py
+++ b/tests/custom_cluster/test_partition.py
@@ -33,10 +33,6 @@ LOG = logging.getLogger(__name__)
 class TestPartition(CustomClusterTestSuite):
   """Tests to validate partitioning"""
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestPartition, cls).add_test_dimensions()
@@ -85,10 +81,6 @@ class TestPartitionDeletion(CustomClusterTestSuite):
      Use a normal catalog update frequency (2s) instead of the default one in custom
      cluster tests (50ms) so the race conditions of IMPALA-13009 could happen."""
   @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
-  @classmethod
   def add_test_dimensions(cls):
     super(TestPartitionDeletion, cls).add_test_dimensions()
     cls.ImpalaTestMatrix.add_dimension(create_single_exec_option_dimension())
diff --git a/tests/custom_cluster/test_permanent_udfs.py b/tests/custom_cluster/test_permanent_udfs.py
index 4b7ea54ce..deebed844 100644
--- a/tests/custom_cluster/test_permanent_udfs.py
+++ b/tests/custom_cluster/test_permanent_udfs.py
@@ -39,10 +39,6 @@ class TestUdfPersistence(CustomClusterTestSuite):
   JAVA_UDF_JAR = os.getenv('DEFAULT_FS') + '/test-warehouse/impala-hive-udfs.jar'
   LOCAL_LIBRARY_DIR = "udf_persistence"
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     if cls.exploration_strategy() != 'exhaustive':
diff --git a/tests/custom_cluster/test_preload_table_types.py b/tests/custom_cluster/test_preload_table_types.py
index 0491d341c..0bf35713b 100644
--- a/tests/custom_cluster/test_preload_table_types.py
+++ b/tests/custom_cluster/test_preload_table_types.py
@@ -26,10 +26,6 @@ class TestPreLoadTableTypes(CustomClusterTestSuite):
   types and comments loaded.
   """
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     super(TestPreLoadTableTypes, cls).setup_class()
diff --git a/tests/custom_cluster/test_query_event_hooks.py b/tests/custom_cluster/test_query_event_hooks.py
index 9a09cf489..84ca8852a 100644
--- a/tests/custom_cluster/test_query_event_hooks.py
+++ b/tests/custom_cluster/test_query_event_hooks.py
@@ -60,10 +60,6 @@ class TestHooksStartupFail(CustomClusterTestSuite):
   All test cases in this testsuite are expected to fail cluster startup and will
   swallow exceptions thrown during setup_method().
   """
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     if cls.exploration_strategy() != 'exhaustive':
diff --git a/tests/custom_cluster/test_query_log.py b/tests/custom_cluster/test_query_log.py
index ebea323fe..4095e0d7b 100644
--- a/tests/custom_cluster/test_query_log.py
+++ b/tests/custom_cluster/test_query_log.py
@@ -53,10 +53,6 @@ class TestQueryLogTableBasic(WorkloadManagementTestSuite):
     super(TestQueryLogTableBasic, cls).add_test_dimensions()
     cls.ImpalaTestMatrix.add_dimension(hs2_client_protocol_dimension())
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   MAX_SQL_PLAN_LEN = 2000
   LOG_DIR_MAX_WRITES = 'max_attempts_exceeded'
 
diff --git a/tests/custom_cluster/test_query_retries.py b/tests/custom_cluster/test_query_retries.py
index 8c04b3585..3357dfe5e 100644
--- a/tests/custom_cluster/test_query_retries.py
+++ b/tests/custom_cluster/test_query_retries.py
@@ -84,10 +84,6 @@ class TestQueryRetries(CustomClusterTestSuite):
   _count_query = "select count(*) from tpch_parquet.lineitem where l_orderkey < 50"
   _count_query_result = "55"
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @pytest.mark.execute_serially
   def test_retries_from_cancellation_pool(self):
     """Tests that queries are retried instead of cancelled if one of the nodes leaves the
@@ -1190,10 +1186,6 @@ class TestQueryRetries(CustomClusterTestSuite):
 # query.
 @SkipIfNotHdfsMinicluster.tuned_for_minicluster
 class TestQueryRetriesFaultyDisk(CustomClusterTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     if cls.exploration_strategy() != 'exhaustive':
diff --git a/tests/custom_cluster/test_redaction.py b/tests/custom_cluster/test_redaction.py
index d0e7a5871..7e4b2aad4 100644
--- a/tests/custom_cluster/test_redaction.py
+++ b/tests/custom_cluster/test_redaction.py
@@ -39,10 +39,6 @@ class TestRedaction(CustomClusterTestSuite):
      limited to table data and query text since queries may refer to table data.
   '''
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @property
   def log_dir(self):
     return os.path.join(self.tmp_dir, "logs")
diff --git a/tests/custom_cluster/test_refresh_invalid_partition.py b/tests/custom_cluster/test_refresh_invalid_partition.py
index 131a6f181..cabdd2937 100644
--- a/tests/custom_cluster/test_refresh_invalid_partition.py
+++ b/tests/custom_cluster/test_refresh_invalid_partition.py
@@ -22,9 +22,6 @@ from tests.common.custom_cluster_test_suite import CustomClusterTestSuite
 
 
 class TestRefreshInvalidPartition(CustomClusterTestSuite):
-  @classmethod
-  def get_workload(self):
-      return 'functional-query'
 
   @pytest.mark.execute_serially
   @CustomClusterTestSuite.with_args(
diff --git a/tests/custom_cluster/test_restart_services.py b/tests/custom_cluster/test_restart_services.py
index 5ae9232e4..2f798a5c8 100644
--- a/tests/custom_cluster/test_restart_services.py
+++ b/tests/custom_cluster/test_restart_services.py
@@ -44,10 +44,6 @@ LOG = logging.getLogger(__name__)
 
 
 class TestRestart(CustomClusterTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @pytest.mark.execute_serially
   def test_restart_statestore(self, cursor):
     """ Regression test of IMPALA-6973. After the statestore restarts, the metadata should
@@ -527,10 +523,6 @@ class TestGracefulShutdown(CustomClusterTestSuite, HS2TestSuite):
   IDLE_SHUTDOWN_GRACE_PERIOD_S = 1
   IMPALA_SHUTDOWN_SIGNAL = signal.SIGRTMIN
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @SkipIfFS.shutdown_idle_fails
   @pytest.mark.execute_serially
   @CustomClusterTestSuite.with_args(
diff --git a/tests/custom_cluster/test_result_spooling.py b/tests/custom_cluster/test_result_spooling.py
index 7da5f0bd0..1444cf810 100644
--- a/tests/custom_cluster/test_result_spooling.py
+++ b/tests/custom_cluster/test_result_spooling.py
@@ -33,10 +33,6 @@ class TestDedicatedCoordinator(CustomClusterTestSuite):
   """A custom cluster test that tests result spooling against a cluster with a dedicated
   coordinator."""
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestDedicatedCoordinator, cls).add_test_dimensions()
diff --git a/tests/custom_cluster/test_rpc_exception.py b/tests/custom_cluster/test_rpc_exception.py
index c63b8763c..0a2104dfd 100644
--- a/tests/custom_cluster/test_rpc_exception.py
+++ b/tests/custom_cluster/test_rpc_exception.py
@@ -62,10 +62,6 @@ class TestRPCException(CustomClusterTestSuite):
       where t1.l_orderkey = t2.l_orderkey"
   EXPECTED_RESULT = ['30012985']
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     if cls.exploration_strategy() != 'exhaustive':
diff --git a/tests/custom_cluster/test_rpc_timeout.py b/tests/custom_cluster/test_rpc_timeout.py
index 2bcc10997..06f47f99c 100644
--- a/tests/custom_cluster/test_rpc_timeout.py
+++ b/tests/custom_cluster/test_rpc_timeout.py
@@ -43,10 +43,6 @@ class TestRPCTimeout(CustomClusterTestSuite):
   # Designed to take approx. 30s.
   SLOW_TEST_QUERY = TEST_QUERY + " where c2.int_col = sleep(1000)"
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     if cls.exploration_strategy() != 'exhaustive':
@@ -238,10 +234,6 @@ class TestRPCTimeout(CustomClusterTestSuite):
 class TestCatalogRPCTimeout(CustomClusterTestSuite):
   """"Tests RPC timeout and retry handling for catalogd operations."""
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     if cls.exploration_strategy() != 'exhaustive':
diff --git a/tests/custom_cluster/test_runtime_filter_aggregation.py b/tests/custom_cluster/test_runtime_filter_aggregation.py
index 6b908724b..c3deb1dd4 100644
--- a/tests/custom_cluster/test_runtime_filter_aggregation.py
+++ b/tests/custom_cluster/test_runtime_filter_aggregation.py
@@ -38,10 +38,6 @@ build_runs_slowly = ImpalaTestClusterProperties.get_instance().runs_slowly()
 
 
 class TestRuntimeFilterAggregation(CustomClusterTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestRuntimeFilterAggregation, cls).add_test_dimensions()
@@ -77,10 +73,6 @@ class TestLateQueryStateInit(CustomClusterTestSuite):
   _wait_time = WAIT_TIME_MS // 20
   _init_delay = [100, _wait_time]
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestLateQueryStateInit, cls).add_test_dimensions()
diff --git a/tests/custom_cluster/test_scheduler_locality.py b/tests/custom_cluster/test_scheduler_locality.py
index 9a156cc3e..c65386a4f 100644
--- a/tests/custom_cluster/test_scheduler_locality.py
+++ b/tests/custom_cluster/test_scheduler_locality.py
@@ -31,10 +31,6 @@ TOTAL_ASSIGNMENTS_METRIC = "simple-scheduler.assignments.total"
 class TestSchedulerLocality(CustomClusterTestSuite):
   """Tests for local and remote disk scheduling."""
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @CustomClusterTestSuite.with_args(
       impalad_args='--hostname=localhost', cluster_size=1)
   def test_local_assignment(self, vector):
diff --git a/tests/custom_cluster/test_scratch_disk.py b/tests/custom_cluster/test_scratch_disk.py
index 964a082fe..87dc3baf8 100644
--- a/tests/custom_cluster/test_scratch_disk.py
+++ b/tests/custom_cluster/test_scratch_disk.py
@@ -34,10 +34,6 @@ from tests.verifiers.metric_verifier import MetricVerifier
 
 
 class TestScratchDir(CustomClusterTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     if cls.exploration_strategy() != 'exhaustive':
diff --git a/tests/custom_cluster/test_seq_file_filtering.py b/tests/custom_cluster/test_seq_file_filtering.py
index 3eaa43159..ca678fd8e 100644
--- a/tests/custom_cluster/test_seq_file_filtering.py
+++ b/tests/custom_cluster/test_seq_file_filtering.py
@@ -30,10 +30,6 @@ class TestImpala3798(CustomClusterTestSuite):
   The debug flag --skip_file_runtime_filtering disables per-file filtering, mimicing the
   race that leads to the hang.
   """
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @SkipIfBuildType.not_dev_build
   @pytest.mark.execute_serially
   @CustomClusterTestSuite.with_args("--skip_file_runtime_filtering=true")
diff --git a/tests/custom_cluster/test_services_rpc_errors.py b/tests/custom_cluster/test_services_rpc_errors.py
index a19268a2d..34e906e33 100644
--- a/tests/custom_cluster/test_services_rpc_errors.py
+++ b/tests/custom_cluster/test_services_rpc_errors.py
@@ -23,10 +23,6 @@ from tests.common.custom_cluster_test_suite import CustomClusterTestSuite
 class TestStatestoreRpcErrors(CustomClusterTestSuite):
   """Tests for statestore RPC handling."""
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     if cls.exploration_strategy() != 'exhaustive':
@@ -60,10 +56,6 @@ class TestStatestoreRpcErrors(CustomClusterTestSuite):
 class TestCatalogRpcErrors(CustomClusterTestSuite):
   """Tests for catalog RPC handling."""
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     if cls.exploration_strategy() != 'exhaustive':
diff --git a/tests/custom_cluster/test_shell_commandline.py b/tests/custom_cluster/test_shell_commandline.py
index 4d8902930..ec80dfdd8 100644
--- a/tests/custom_cluster/test_shell_commandline.py
+++ b/tests/custom_cluster/test_shell_commandline.py
@@ -36,10 +36,6 @@ class TestImpalaShellCommandLine(CustomClusterTestSuite):
   LOG_DIR_HTTP_TRACING_OFF = "http_tracing_off"
   IMPALA_ID_RE = "([0-9a-f]{16}:[0-9a-f]{16})"
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     """Overrides all other add_dimension methods in super classes up the entire class
diff --git a/tests/custom_cluster/test_shell_interactive_reconnect.py b/tests/custom_cluster/test_shell_interactive_reconnect.py
index 20fcdc581..41e3198c5 100644
--- a/tests/custom_cluster/test_shell_interactive_reconnect.py
+++ b/tests/custom_cluster/test_shell_interactive_reconnect.py
@@ -35,10 +35,6 @@ NUM_QUERIES = 'impala-server.num-queries'
 
 class TestShellInteractiveReconnect(CustomClusterTestSuite):
   """ Check if interactive shell is using the current DB after reconnecting """
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @pytest.mark.execute_serially
   def test_manual_reconnect(self):
     # Iterate over test vector within test function to avoid restarting cluster.
diff --git a/tests/custom_cluster/test_shell_jwt_auth.py b/tests/custom_cluster/test_shell_jwt_auth.py
index 8f6f9e81c..d46d3a5aa 100644
--- a/tests/custom_cluster/test_shell_jwt_auth.py
+++ b/tests/custom_cluster/test_shell_jwt_auth.py
@@ -50,10 +50,6 @@ class TestImpalaShellJWTAuth(CustomClusterTestSuite):
   # Name of the Impala metric containing the total count of hs2-http connections opened.
   HS2_HTTP_CONNS = "impala.thrift-server.hiveserver2-http-frontend.total-connections"
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     """Overrides all other add_dimension methods in super classes up the entire class
diff --git a/tests/custom_cluster/test_shell_oauth_auth.py b/tests/custom_cluster/test_shell_oauth_auth.py
index 0027b3ffc..653ef5bda 100644
--- a/tests/custom_cluster/test_shell_oauth_auth.py
+++ b/tests/custom_cluster/test_shell_oauth_auth.py
@@ -49,10 +49,6 @@ class TestImpalaShellOAuthAuth(CustomClusterTestSuite):
   # Name of the Impala metric containing the total count of hs2-http connections opened.
   HS2_HTTP_CONNS = "impala.thrift-server.hiveserver2-http-frontend.total-connections"
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     """Overrides all other add_dimension methods in super classes up the entire class
diff --git a/tests/custom_cluster/test_show_views_statements.py b/tests/custom_cluster/test_show_views_statements.py
index 0e4896fa9..b67a6cea8 100644
--- a/tests/custom_cluster/test_show_views_statements.py
+++ b/tests/custom_cluster/test_show_views_statements.py
@@ -28,10 +28,6 @@ PULL_TABLE_TYPES_FLAG = "--pull_table_types_and_comments=true"
 
 class TestShowViewsStatements(CustomClusterTestSuite):
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @CustomClusterTestSuite.with_args(
     catalogd_args=PULL_TABLE_TYPES_FLAG)
   def test_show_views(self, vector):
diff --git a/tests/custom_cluster/test_statestored_ha.py b/tests/custom_cluster/test_statestored_ha.py
index d4b9c499b..665ba4d57 100644
--- a/tests/custom_cluster/test_statestored_ha.py
+++ b/tests/custom_cluster/test_statestored_ha.py
@@ -44,9 +44,6 @@ class TestStatestoredHA(CustomClusterTestSuite):
   All cluster components are started with starting flag FLAGS_enable_statestored_ha
   as true."""
 
-  def get_workload(self):
-    return 'functional-query'
-
   def __disable_statestored_network(self,
       service_port=DEFAULT_STATESTORE_SERVICE_PORT, disable_network=False):
     request = Subscriber.TSetStatestoreDebugActionRequest(
@@ -817,10 +814,6 @@ class TestStatestoredHAStartupDelay(CustomClusterTestSuite):
   expected to be able to tolerate this delay with FLAGS_tolerate_statestore_startup_delay
   set as true. This is not testing anything beyond successful startup."""
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     if cls.exploration_strategy() != 'exhaustive':
diff --git a/tests/custom_cluster/test_stats_extrapolation.py b/tests/custom_cluster/test_stats_extrapolation.py
index f16b566f1..cd0af1f38 100644
--- a/tests/custom_cluster/test_stats_extrapolation.py
+++ b/tests/custom_cluster/test_stats_extrapolation.py
@@ -28,10 +28,6 @@ class TestStatsExtrapolation(CustomClusterTestSuite):
   primarly checks that the flag is propagated to the FE. More testing is done in FE unit
   tests and metadata/test_stats_extrapolation.py."""
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestStatsExtrapolation, cls).add_test_dimensions()
diff --git a/tests/custom_cluster/test_thrift_socket.py b/tests/custom_cluster/test_thrift_socket.py
index 857f78925..aa3658d1a 100644
--- a/tests/custom_cluster/test_thrift_socket.py
+++ b/tests/custom_cluster/test_thrift_socket.py
@@ -72,10 +72,6 @@ class TestThriftSocket(CustomClusterTestSuite):
       pytest.skip("Python version does not support tls 1.2")
     super(TestThriftSocket, cls).setup_class()
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @pytest.mark.execute_serially
   @CustomClusterTestSuite.with_args(
       impalad_args=IDLE_ARGS, cluster_size=1, disable_log_buffering=True)
diff --git a/tests/custom_cluster/test_tuple_cache.py b/tests/custom_cluster/test_tuple_cache.py
index 2f2523496..b392e30a1 100644
--- a/tests/custom_cluster/test_tuple_cache.py
+++ b/tests/custom_cluster/test_tuple_cache.py
@@ -119,10 +119,6 @@ class TestTupleCacheBase(CustomClusterTestSuite):
       os.environ["TUPLE_CACHE_DIR"] = cls.org_tuple_cache_dir
     super(TestTupleCacheBase, cls).teardown_class()
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestTupleCacheBase, cls).add_test_dimensions()
diff --git a/tests/custom_cluster/test_udf_concurrency.py b/tests/custom_cluster/test_udf_concurrency.py
index 3fd9aa837..d6ee5c13d 100644
--- a/tests/custom_cluster/test_udf_concurrency.py
+++ b/tests/custom_cluster/test_udf_concurrency.py
@@ -35,10 +35,6 @@ from tests.util.filesystem_utils import get_fs_path
 
 class TestUdfConcurrency(CustomClusterTestSuite):
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     if cls.exploration_strategy() != 'exhaustive':
diff --git a/tests/custom_cluster/test_web_pages.py b/tests/custom_cluster/test_web_pages.py
index 681f1929a..76c3cca6c 100644
--- a/tests/custom_cluster/test_web_pages.py
+++ b/tests/custom_cluster/test_web_pages.py
@@ -36,10 +36,6 @@ CATALOG_URL = "http://localhost:25020/catalog"
 
 
 class TestWebPage(CustomClusterTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     if cls.exploration_strategy() != 'exhaustive':
diff --git a/tests/custom_cluster/test_wide_table_operations.py b/tests/custom_cluster/test_wide_table_operations.py
index 85657dcea..5d2401282 100644
--- a/tests/custom_cluster/test_wide_table_operations.py
+++ b/tests/custom_cluster/test_wide_table_operations.py
@@ -29,10 +29,6 @@ NUM_PARTS = 50000
 
 @SkipIf.not_hdfs
 class TestWideTableOperations(CustomClusterTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     if cls.exploration_strategy() != 'exhaustive':
diff --git a/tests/custom_cluster/test_workload_mgmt_init.py b/tests/custom_cluster/test_workload_mgmt_init.py
index 531fdfd9f..7991dcd32 100644
--- a/tests/custom_cluster/test_workload_mgmt_init.py
+++ b/tests/custom_cluster/test_workload_mgmt_init.py
@@ -49,10 +49,6 @@ class TestWorkloadManagementInitBase(CustomClusterTestSuite):
   This test class does not extend WorkloadManagementTestSuite because its subclasses
   define its own setup_method and teardown_method."""
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def default_test_protocol(cls):
     return HS2
diff --git a/tests/data_errors/test_data_errors.py b/tests/data_errors/test_data_errors.py
index cd701141b..3da719e7a 100644
--- a/tests/data_errors/test_data_errors.py
+++ b/tests/data_errors/test_data_errors.py
@@ -42,10 +42,6 @@ class TestDataErrors(ImpalaTestSuite):
     cls.ImpalaTestMatrix.add_dimension(
         create_exec_option_dimension(batch_sizes=cls.BATCH_SIZES))
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
 
 # Regression test for IMP-633. Added as a part of IMPALA-5198.
 @SkipIf.not_dfs
@@ -156,9 +152,6 @@ class TestHdfsRcFileScanNodeErrors(TestHdfsScanNodeErrors):
 
 
 class TestBinaryTypeInText(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
 
   @classmethod
   def add_test_dimensions(cls):
diff --git a/tests/failure/test_failpoints.py b/tests/failure/test_failpoints.py
index 4e690f45e..8ef2c29f9 100644
--- a/tests/failure/test_failpoints.py
+++ b/tests/failure/test_failpoints.py
@@ -64,10 +64,6 @@ QUERIES = [
 @SkipIf.skip_hbase  # -skip_hbase argument specified
 @SkipIfFS.hbase  # missing coverage: failures
 class TestFailpoints(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestFailpoints, cls).add_test_dimensions()
diff --git a/tests/infra/test_stress_infra.py b/tests/infra/test_stress_infra.py
index 8dd90457d..ffbe599a4 100644
--- a/tests/infra/test_stress_infra.py
+++ b/tests/infra/test_stress_infra.py
@@ -36,10 +36,6 @@ from tests.util.filesystem_utils import IS_LOCAL
 
 class TestStressInfra(ImpalaTestSuite):
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   def test_stress_binary_search_start_point(self):
     """
     Test that the stress test can use EXPLAIN to find the start point for its binary
diff --git a/tests/metadata/test_column_unicode.py b/tests/metadata/test_column_unicode.py
index 223d1c239..b905ba8b9 100644
--- a/tests/metadata/test_column_unicode.py
+++ b/tests/metadata/test_column_unicode.py
@@ -25,10 +25,6 @@ from tests.common.test_dimensions import create_client_protocol_dimension
 
 class TestColumnUnicode(ImpalaTestSuite):
 
-    @classmethod
-    def get_workload(cls):
-        return 'functional-query'
-
     @classmethod
     def add_test_dimensions(cls):
         super(TestColumnUnicode, cls).add_test_dimensions()
diff --git a/tests/metadata/test_compute_stats.py b/tests/metadata/test_compute_stats.py
index 5c094184c..62b91c587 100644
--- a/tests/metadata/test_compute_stats.py
+++ b/tests/metadata/test_compute_stats.py
@@ -39,10 +39,6 @@ IMPALA_TEST_CLUSTER_PROPERTIES = ImpalaTestClusterProperties.get_instance()
 
 # Tests the COMPUTE STATS command for gathering table and column stats.
 class TestComputeStats(ImpalaTestSuite):
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestComputeStats, cls).add_test_dimensions()
@@ -333,10 +329,6 @@ class TestComputeStats(ImpalaTestSuite):
 # because we want to use the existing machanism to disable running tests on hbase/none
 # based on the filesystem type (S3, Isilon, etc.).
 class TestHbaseComputeStats(ImpalaTestSuite):
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestHbaseComputeStats, cls).add_test_dimensions()
@@ -359,10 +351,6 @@ class TestHbaseComputeStats(ImpalaTestSuite):
 
 
 class TestCorruptTableStats(ImpalaTestSuite):
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestCorruptTableStats, cls).add_test_dimensions()
@@ -379,10 +367,6 @@ class TestCorruptTableStats(ImpalaTestSuite):
 
 
 class TestIncompatibleColStats(ImpalaTestSuite):
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestIncompatibleColStats, cls).add_test_dimensions()
@@ -425,10 +409,6 @@ class TestIncompatibleColStats(ImpalaTestSuite):
 
 # Test column min/max stats currently enabled for Parquet tables.
 class TestParquetComputeColumnMinMax(ImpalaTestSuite):
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestParquetComputeColumnMinMax, cls).add_test_dimensions()
@@ -441,10 +421,6 @@ class TestParquetComputeColumnMinMax(ImpalaTestSuite):
 
 
 class TestInvalidStatsFromHms(ImpalaTestSuite):
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestInvalidStatsFromHms, cls).add_test_dimensions()
diff --git a/tests/metadata/test_ddl.py b/tests/metadata/test_ddl.py
index dcd9842a7..b2a5b7682 100644
--- a/tests/metadata/test_ddl.py
+++ b/tests/metadata/test_ddl.py
@@ -933,10 +933,6 @@ class TestDdlStatements(TestDdlBase):
 # IMPALA-10811: RPC to submit query getting stuck for AWS NLB forever
 # Test HS2, Beeswax and HS2-HTTP three clients.
 class TestAsyncDDL(TestDdlBase):
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestAsyncDDL, cls).add_test_dimensions()
@@ -1010,10 +1006,6 @@ class TestAsyncDDL(TestDdlBase):
 
 
 class TestAsyncDDLTiming(TestDdlBase):
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestAsyncDDLTiming, cls).add_test_dimensions()
@@ -1156,10 +1148,6 @@ class TestDdlLogs(TestDdlBase):
 
 # IMPALA-2002: Tests repeated adding/dropping of .jar and .so in the lib cache.
 class TestLibCache(TestDdlBase):
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestLibCache, cls).add_test_dimensions()
diff --git a/tests/metadata/test_ddl_base.py b/tests/metadata/test_ddl_base.py
index 98ab26ca1..f35a7c7da 100644
--- a/tests/metadata/test_ddl_base.py
+++ b/tests/metadata/test_ddl_base.py
@@ -26,10 +26,6 @@ from tests.util.filesystem_utils import WAREHOUSE
 # Base class that most DDL tests inherit from. The tests have a few common functions,
 # as well as test dimensions and setup/teardown.
 class TestDdlBase(ImpalaTestSuite):
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestDdlBase, cls).add_test_dimensions()
diff --git a/tests/metadata/test_explain.py b/tests/metadata/test_explain.py
index c42f485dc..799e022d1 100644
--- a/tests/metadata/test_explain.py
+++ b/tests/metadata/test_explain.py
@@ -32,10 +32,6 @@ class TestExplain(ImpalaTestSuite):
   # scan nodes are consistent even when run on machines with different numbers of cores.
   NUM_SCANNER_THREADS = 1
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestExplain, cls).add_test_dimensions()
diff --git a/tests/metadata/test_hdfs_encryption.py b/tests/metadata/test_hdfs_encryption.py
index ff3706d0f..5ff1dd68b 100644
--- a/tests/metadata/test_hdfs_encryption.py
+++ b/tests/metadata/test_hdfs_encryption.py
@@ -44,10 +44,6 @@ class TestHdfsEncryption(ImpalaTestSuite):
       zones with different keys, and the LOAD DATA command is executed. The
       tests operate on both partitioned and non-partitioned tables.
   '''
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestHdfsEncryption, cls).add_test_dimensions()
diff --git a/tests/metadata/test_hdfs_permissions.py b/tests/metadata/test_hdfs_permissions.py
index b840154b1..985cd55c9 100644
--- a/tests/metadata/test_hdfs_permissions.py
+++ b/tests/metadata/test_hdfs_permissions.py
@@ -31,10 +31,6 @@ TBL_LOC = '%s/%s' % (WAREHOUSE, TEST_TBL)
 @SkipIfFS.hdfs_acls
 @SkipIfLocal.hdfs_client
 class TestHdfsPermissions(ImpalaTestSuite):
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestHdfsPermissions, cls).add_test_dimensions()
diff --git a/tests/metadata/test_hidden_files.py b/tests/metadata/test_hidden_files.py
index d6775d27f..0e71e8d93 100644
--- a/tests/metadata/test_hidden_files.py
+++ b/tests/metadata/test_hidden_files.py
@@ -33,10 +33,6 @@ class TestHiddenFiles(ImpalaTestSuite):
   # The .test file run in these tests relies this table name.
   TBL_NAME = "test_hidden_files"
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestHiddenFiles, cls).add_test_dimensions()
diff --git a/tests/metadata/test_hms_integration.py b/tests/metadata/test_hms_integration.py
index e7fe4e141..d5ca12fdb 100644
--- a/tests/metadata/test_hms_integration.py
+++ b/tests/metadata/test_hms_integration.py
@@ -42,10 +42,6 @@ from tests.util.hive_utils import HiveDbWrapper, HiveTableWrapper
 
 @SkipIfFS.hive
 class TestHmsIntegrationSanity(ImpalaTestSuite):
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestHmsIntegrationSanity, cls).add_test_dimensions()
@@ -136,10 +132,6 @@ class TestHmsIntegrationSanity(ImpalaTestSuite):
 @SkipIfFS.hive
 class TestHmsIntegration(ImpalaTestSuite):
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestHmsIntegration, cls).add_test_dimensions()
diff --git a/tests/metadata/test_last_ddl_time_update.py b/tests/metadata/test_last_ddl_time_update.py
index f9bc6e139..6b202933f 100644
--- a/tests/metadata/test_last_ddl_time_update.py
+++ b/tests/metadata/test_last_ddl_time_update.py
@@ -26,10 +26,6 @@ from tests.util.filesystem_utils import WAREHOUSE, IS_S3
 # Checks different statements' effect on last DDL time and last compute stats time.
 class TestLastDdlTimeUpdate(ImpalaTestSuite):
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestLastDdlTimeUpdate, cls).add_test_dimensions()
diff --git a/tests/metadata/test_load.py b/tests/metadata/test_load.py
index d78dce08b..729eb7ba8 100644
--- a/tests/metadata/test_load.py
+++ b/tests/metadata/test_load.py
@@ -47,10 +47,6 @@ TMP_STAGING_PATH = get_fs_path('/tmp/test_load_staging')
 @SkipIfLocal.hdfs_client
 class TestLoadData(ImpalaTestSuite):
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestLoadData, cls).add_test_dimensions()
@@ -116,10 +112,6 @@ class TestLoadData(ImpalaTestSuite):
 @SkipIfLocal.hdfs_client
 class TestLoadDataExternal(ImpalaTestSuite):
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestLoadDataExternal, cls).add_test_dimensions()
@@ -155,10 +147,6 @@ class TestLoadDataExternal(ImpalaTestSuite):
 @SkipIfLocal.hdfs_client
 class TestAsyncLoadData(ImpalaTestSuite):
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestAsyncLoadData, cls).add_test_dimensions()
diff --git a/tests/metadata/test_metadata_query_statements.py b/tests/metadata/test_metadata_query_statements.py
index d31d169d4..c7c284cc4 100644
--- a/tests/metadata/test_metadata_query_statements.py
+++ b/tests/metadata/test_metadata_query_statements.py
@@ -40,10 +40,6 @@ class TestMetadataQueryStatements(ImpalaTestSuite):
   TEST_DATA_SRC_NAMES = ["show_test_ds1", "show_test_ds2"]
   AVRO_SCHEMA_LOC = get_fs_path("/test-warehouse/avro_schemas/functional/alltypes.json")
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestMetadataQueryStatements, cls).add_test_dimensions()
diff --git a/tests/metadata/test_partition_metadata.py b/tests/metadata/test_partition_metadata.py
index 0f571fc1a..757468d96 100644
--- a/tests/metadata/test_partition_metadata.py
+++ b/tests/metadata/test_partition_metadata.py
@@ -27,10 +27,6 @@ from tests.util.filesystem_utils import WAREHOUSE, FILESYSTEM_PREFIX
 # TODO: Split up the DDL tests and move some of the partition-specific tests
 # here.
 class TestPartitionMetadata(ImpalaTestSuite):
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestPartitionMetadata, cls).add_test_dimensions()
@@ -119,10 +115,6 @@ class TestPartitionMetadata(ImpalaTestSuite):
 
 
 class TestMixedPartitions(ImpalaTestSuite):
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestMixedPartitions, cls).add_test_dimensions()
@@ -144,10 +136,6 @@ class TestMixedPartitions(ImpalaTestSuite):
 
 
 class TestPartitionMetadataUncompressedTextOnly(ImpalaTestSuite):
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestPartitionMetadataUncompressedTextOnly, cls).add_test_dimensions()
diff --git a/tests/metadata/test_recover_partitions.py b/tests/metadata/test_recover_partitions.py
index a23d5f084..3da4c54b7 100644
--- a/tests/metadata/test_recover_partitions.py
+++ b/tests/metadata/test_recover_partitions.py
@@ -36,10 +36,6 @@ from tests.common.test_dimensions import create_uncompressed_text_dimension
 class TestRecoverPartitions(ImpalaTestSuite):
   DEF_NULL_PART_KEY = "__HIVE_DEFAULT_PARTITION__"
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestRecoverPartitions, cls).add_test_dimensions()
diff --git a/tests/metadata/test_recursive_listing.py b/tests/metadata/test_recursive_listing.py
index fdb4d398c..698013364 100644
--- a/tests/metadata/test_recursive_listing.py
+++ b/tests/metadata/test_recursive_listing.py
@@ -33,10 +33,6 @@ class TestRecursiveListing(ImpalaTestSuite):
                           "class=org.apache.impala.common.FileSystemUtil&level=trace"
   reset_log_level_url = "http://localhost:25020/reset_java_loglevel"
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestRecursiveListing, cls).add_test_dimensions()
diff --git a/tests/metadata/test_refresh_partition.py b/tests/metadata/test_refresh_partition.py
index a8f30b57b..64ab9b144 100644
--- a/tests/metadata/test_refresh_partition.py
+++ b/tests/metadata/test_refresh_partition.py
@@ -29,10 +29,6 @@ class TestRefreshPartition(ImpalaTestSuite):
   for a table in HDFS
   """
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestRefreshPartition, cls).add_test_dimensions()
diff --git a/tests/metadata/test_reuse_partitions.py b/tests/metadata/test_reuse_partitions.py
index 815683056..0b32d2401 100644
--- a/tests/metadata/test_reuse_partitions.py
+++ b/tests/metadata/test_reuse_partitions.py
@@ -25,10 +25,6 @@ from tests.common.test_dimensions import create_uncompressed_text_dimension
 class TestReusePartitions(ImpalaTestSuite):
   """Tests for catalogd reusing unchanged partition instances for DDL/DMLs"""
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestReusePartitions, cls).add_test_dimensions()
diff --git a/tests/metadata/test_set.py b/tests/metadata/test_set.py
index bbfa71f3a..e45ced494 100644
--- a/tests/metadata/test_set.py
+++ b/tests/metadata/test_set.py
@@ -24,10 +24,6 @@ from tests.common.test_dimensions import (
     create_uncompressed_text_dimension)
 
 class TestSet(ImpalaTestSuite):
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestSet, cls).add_test_dimensions()
diff --git a/tests/metadata/test_show_create_table.py b/tests/metadata/test_show_create_table.py
index 0bab6038b..01eaf5bb9 100644
--- a/tests/metadata/test_show_create_table.py
+++ b/tests/metadata/test_show_create_table.py
@@ -61,10 +61,6 @@ class TestShowCreateTable(ImpalaTestSuite):
   # Properties to filter before comparing results
   FILTER_TBL_PROPERTIES = ["bucketing_version", "OBJCAPABILITIES"]
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestShowCreateTable, cls).add_test_dimensions()
@@ -348,10 +344,6 @@ class TestShowCreateTableIcebergProperties(ImpalaTestSuite):
   table properties.
   """
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestShowCreateTableIcebergProperties, cls).add_test_dimensions()
diff --git a/tests/metadata/test_stale_metadata.py b/tests/metadata/test_stale_metadata.py
index c6b3ae352..0040b1068 100644
--- a/tests/metadata/test_stale_metadata.py
+++ b/tests/metadata/test_stale_metadata.py
@@ -39,10 +39,6 @@ class TestRewrittenFile(ImpalaTestSuite):
       "day=9/*.parq")
   LONG_FILE_NUM_ROWS = 1000
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestRewrittenFile, cls).add_test_dimensions()
diff --git a/tests/metadata/test_stats_extrapolation.py b/tests/metadata/test_stats_extrapolation.py
index 88352d4dc..10a12daa9 100644
--- a/tests/metadata/test_stats_extrapolation.py
+++ b/tests/metadata/test_stats_extrapolation.py
@@ -30,10 +30,6 @@ class TestStatsExtrapolation(ImpalaTestSuite):
   enabled via table property and not via the impalad startup flag so these tests can be
   run as regular tests (non-custom-cluster) and in parallel with other tests."""
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestStatsExtrapolation, cls).add_test_dimensions()
diff --git a/tests/metadata/test_testcase_builder.py b/tests/metadata/test_testcase_builder.py
index d3050b19d..0c4111b52 100644
--- a/tests/metadata/test_testcase_builder.py
+++ b/tests/metadata/test_testcase_builder.py
@@ -26,10 +26,6 @@ from tests.util.filesystem_utils import get_fs_path
 
 class TestTestcaseBuilder(ImpalaTestSuite):
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestTestcaseBuilder, cls).add_test_dimensions()
diff --git a/tests/metadata/test_views_compatibility.py b/tests/metadata/test_views_compatibility.py
index ced54f738..ec34c1ef7 100644
--- a/tests/metadata/test_views_compatibility.py
+++ b/tests/metadata/test_views_compatibility.py
@@ -57,10 +57,6 @@ class TestViewCompatibility(ImpalaTestSuite):
   VALID_SECTION_NAMES = ["CREATE_VIEW", "CREATE_VIEW_RESULTS",
                          "QUERY_HIVE_VIEW_RESULTS", "QUERY_IMPALA_VIEW_RESULTS"]
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestViewCompatibility, cls).add_test_dimensions()
diff --git a/tests/query_test/test_acid.py b/tests/query_test/test_acid.py
index 860aee168..a25cb3867 100644
--- a/tests/query_test/test_acid.py
+++ b/tests/query_test/test_acid.py
@@ -31,10 +31,6 @@ from tests.util.acid_txn import AcidTxn
 
 
 class TestAcid(ImpalaTestSuite):
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestAcid, cls).add_test_dimensions()
diff --git a/tests/query_test/test_acid_row_validation.py b/tests/query_test/test_acid_row_validation.py
index 21880391f..fe21705c4 100644
--- a/tests/query_test/test_acid_row_validation.py
+++ b/tests/query_test/test_acid_row_validation.py
@@ -28,10 +28,6 @@ from tests.util.filesystem_utils import IS_HDFS
 
 # Tests that Impala validates rows against a validWriteIdList correctly.
 class TestAcidRowValidation(ImpalaTestSuite):
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     super(TestAcidRowValidation, cls).setup_class()
diff --git a/tests/query_test/test_aggregation.py b/tests/query_test/test_aggregation.py
index bb5711a53..9e75084d8 100644
--- a/tests/query_test/test_aggregation.py
+++ b/tests/query_test/test_aggregation.py
@@ -105,10 +105,6 @@ result_lut = {
 
 
 class TestAggregation(ImpalaTestSuite):
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestAggregation, cls).add_test_dimensions()
@@ -195,10 +191,6 @@ class TestAggregation(ImpalaTestSuite):
 class TestAggregationQueries(ImpalaTestSuite):
   """Run the aggregation test suite, with codegen enabled and disabled, to exercise our
   non-codegen code"""
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestAggregationQueries, cls).add_test_dimensions()
@@ -359,10 +351,6 @@ class TestAggregationQueriesSingleFormat(ImpalaTestSuite):
   may not necessarily target uncompressed text table format. This also run with codegen
   enabled and disabled to exercise our non-codegen code, default batch_size,
   and batch_size=1."""
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestAggregationQueriesSingleFormat, cls).add_test_dimensions()
@@ -447,10 +435,6 @@ class TestAggregationQueriesSingleFormat(ImpalaTestSuite):
 class TestDistinctAggregation(ImpalaTestSuite):
   """Run the distinct aggregation test suite, with codegen and shuffle_distinct_exprs
   enabled and disabled."""
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestDistinctAggregation, cls).add_test_dimensions()
@@ -481,10 +465,6 @@ class TestDistinctAggregation(ImpalaTestSuite):
 
 class TestWideAggregationQueries(ImpalaTestSuite):
   """Test that aggregations with many grouping columns work"""
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestWideAggregationQueries, cls).add_test_dimensions()
diff --git a/tests/query_test/test_analytic_tpcds.py b/tests/query_test/test_analytic_tpcds.py
index 1cdc7f861..baa6cf7e7 100644
--- a/tests/query_test/test_analytic_tpcds.py
+++ b/tests/query_test/test_analytic_tpcds.py
@@ -26,10 +26,6 @@ class TestAnalyticTpcds(ImpalaTestSuite):
 
   Batch size parameter is varied if the exploration strategy is exhaustive.
   """
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestAnalyticTpcds, cls).add_test_dimensions()
diff --git a/tests/query_test/test_async_codegen.py b/tests/query_test/test_async_codegen.py
index 80e1612e9..e504665b1 100644
--- a/tests/query_test/test_async_codegen.py
+++ b/tests/query_test/test_async_codegen.py
@@ -75,10 +75,6 @@ limit 10;
       DEBUG_ACTION_EXEC_FINISH_BEFORE_CODEGEN: 0
   }
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestAsyncCodegen, cls).add_test_dimensions()
diff --git a/tests/query_test/test_avro_schema_resolution.py b/tests/query_test/test_avro_schema_resolution.py
index e9a6a66f5..d0def600b 100644
--- a/tests/query_test/test_avro_schema_resolution.py
+++ b/tests/query_test/test_avro_schema_resolution.py
@@ -22,10 +22,6 @@ from tests.common.skip import SkipIfCatalogV2
 
 # This test requires that testdata/avro_schema_resolution/create_table.sql has been run
 class TestAvroSchemaResolution(ImpalaTestSuite):
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestAvroSchemaResolution, cls).add_test_dimensions()
diff --git a/tests/query_test/test_cast_with_format.py b/tests/query_test/test_cast_with_format.py
index 80eee2642..eba33eba1 100644
--- a/tests/query_test/test_cast_with_format.py
+++ b/tests/query_test/test_cast_with_format.py
@@ -22,9 +22,6 @@ from tests.common.test_dimensions import create_client_protocol_dimension
 
 
 class TestCastWithFormat(ImpalaTestSuite):
-  @classmethod
-  def get_workload(self):
-    return "functional-query"
 
   # Run the basic tests once for Beeaswax and once for HS2. The underlying functionality
   # is independent of the file format so make sense to pick one format for testing.
diff --git a/tests/query_test/test_chars.py b/tests/query_test/test_chars.py
index 25d06c9ac..7eba22f42 100644
--- a/tests/query_test/test_chars.py
+++ b/tests/query_test/test_chars.py
@@ -26,10 +26,6 @@ from tests.common.test_dimensions import (create_exec_option_dimension,
 from tests.util.filesystem_utils import get_fs_path
 
 class TestStringQueries(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestStringQueries, cls).add_test_dimensions()
@@ -66,10 +62,6 @@ class TestStringQueries(ImpalaTestSuite):
         vector, unique_database)
 
 class TestCharFormats(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestCharFormats, cls).add_test_dimensions()
diff --git a/tests/query_test/test_codegen.py b/tests/query_test/test_codegen.py
index 3ef4ad9c9..2903181d5 100644
--- a/tests/query_test/test_codegen.py
+++ b/tests/query_test/test_codegen.py
@@ -25,10 +25,6 @@ from tests.common.test_result_verifier import get_node_exec_options,\
     assert_codegen_enabled
 
 class TestCodegen(ImpalaTestSuite):
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestCodegen, cls).add_test_dimensions()
diff --git a/tests/query_test/test_compressed_formats.py b/tests/query_test/test_compressed_formats.py
index 342b68091..3ef0cef15 100644
--- a/tests/query_test/test_compressed_formats.py
+++ b/tests/query_test/test_compressed_formats.py
@@ -50,10 +50,6 @@ class TestCompressedFormatsBase(ImpalaTestSuite):
   Base class to provide utility functions for testing support for compressed
   data files.
   """
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestCompressedFormatsBase, cls).add_test_dimensions()
@@ -180,10 +176,6 @@ class TestCompressedText(TestCompressedFormatsBase):
 
 
 class TestUnsupportedTableWriters(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestUnsupportedTableWriters, cls).add_test_dimensions()
@@ -220,10 +212,6 @@ class TestLargeCompressedFile(ImpalaTestSuite):
   # size beyond maximum 32-bit signed value.
   MAX_FILE_SIZE = 2 * CHUNK_SIZE
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestLargeCompressedFile, cls).add_test_dimensions()
@@ -299,10 +287,6 @@ class TestLargeCompressedFile(ImpalaTestSuite):
 class TestBzip2Streaming(ImpalaTestSuite):
   MAX_SCAN_RANGE_LENGTHS = [0, 5]
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestBzip2Streaming, cls).add_test_dimensions()
@@ -332,10 +316,6 @@ class TestReadZtsdLibCompressedFile(ImpalaTestSuite):
 
   IMPALA_HOME = os.environ['IMPALA_HOME']
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestReadZtsdLibCompressedFile, cls).add_test_dimensions()
diff --git a/tests/query_test/test_datasketches.py b/tests/query_test/test_datasketches.py
index b8925133d..44b628d1e 100644
--- a/tests/query_test/test_datasketches.py
+++ b/tests/query_test/test_datasketches.py
@@ -22,10 +22,6 @@ from tests.common.test_dimensions import create_single_exec_option_dimension
 
 
 class TestDatasketches(ImpalaTestSuite):
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestDatasketches, cls).add_test_dimensions()
diff --git a/tests/query_test/test_date_queries.py b/tests/query_test/test_date_queries.py
index c69392cd3..ccb20514f 100644
--- a/tests/query_test/test_date_queries.py
+++ b/tests/query_test/test_date_queries.py
@@ -28,10 +28,6 @@ from tests.shell.util import create_impala_shell_executable_dimension
 
 
 class TestDateQueries(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestDateQueries, cls).add_test_dimensions()
diff --git a/tests/query_test/test_decimal_casting.py b/tests/query_test/test_decimal_casting.py
index 43e587094..61d2b1161 100644
--- a/tests/query_test/test_decimal_casting.py
+++ b/tests/query_test/test_decimal_casting.py
@@ -43,10 +43,6 @@ class TestDecimalCastingBase(ImpalaTestSuite):
   # Represents a 0 in decimal
   DECIMAL_ZERO = Decimal('0')
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     cls.ImpalaTestMatrix = ImpalaTestMatrix()
diff --git a/tests/query_test/test_decimal_fuzz.py b/tests/query_test/test_decimal_fuzz.py
index 0fc20ef46..93eb858df 100644
--- a/tests/query_test/test_decimal_fuzz.py
+++ b/tests/query_test/test_decimal_fuzz.py
@@ -37,10 +37,6 @@ class TestDecimalFuzz(ImpalaTestSuite):
   # Impala's max precision for decimals is 38, so we should have the same in the tests
   decimal.getcontext().prec = 38
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     cls.ImpalaTestMatrix = ImpalaTestMatrix()
diff --git a/tests/query_test/test_decimal_queries.py b/tests/query_test/test_decimal_queries.py
index 7320b2749..dd2c4ef15 100644
--- a/tests/query_test/test_decimal_queries.py
+++ b/tests/query_test/test_decimal_queries.py
@@ -28,10 +28,6 @@ from tests.util.filesystem_utils import IS_S3
 
 
 class TestDecimalQueries(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestDecimalQueries, cls).add_test_dimensions()
@@ -62,10 +58,6 @@ class TestDecimalQueries(ImpalaTestSuite):
 # version 1 or version 2 are enabled, so the .test file itself toggles the DECIMAL_V2
 # query option.
 class TestDecimalExprs(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestDecimalExprs, cls).add_test_dimensions()
@@ -79,10 +71,6 @@ class TestDecimalExprs(ImpalaTestSuite):
 # TODO: when we have a good way to produce Avro decimal data (e.g. upgrade Hive), we can
 # run Avro through the same tests as above instead of using avro_decimal_tbl.
 class TestAvroDecimalQueries(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestAvroDecimalQueries, cls).add_test_dimensions()
@@ -99,10 +87,6 @@ class TestAvroDecimalQueries(ImpalaTestSuite):
 # query option.
 @pytest.mark.execute_serially
 class TestDecimalOverflowExprs(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestDecimalOverflowExprs, cls).add_test_dimensions()
diff --git a/tests/query_test/test_delimited_text.py b/tests/query_test/test_delimited_text.py
index 8fb5b3d4b..70e2ae0c6 100644
--- a/tests/query_test/test_delimited_text.py
+++ b/tests/query_test/test_delimited_text.py
@@ -32,10 +32,6 @@ class TestDelimitedText(ImpalaTestSuite):
   and escape characters.
   """
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestDelimitedText, cls).add_test_dimensions()
diff --git a/tests/query_test/test_errorlog.py b/tests/query_test/test_errorlog.py
index ac7f28a8f..7d2efe230 100644
--- a/tests/query_test/test_errorlog.py
+++ b/tests/query_test/test_errorlog.py
@@ -30,10 +30,6 @@ from time import sleep
 # Test injecting error logs in prepare phase and status::OK(). This tests one of race
 # conditions in error reporting (IMPALA-3385).
 class TestErrorLogs(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestErrorLogs, cls).add_test_dimensions()
diff --git a/tests/query_test/test_exprs.py b/tests/query_test/test_exprs.py
index 46946d2f9..55aace3c5 100644
--- a/tests/query_test/test_exprs.py
+++ b/tests/query_test/test_exprs.py
@@ -34,10 +34,6 @@ EXPR_REWRITE_OPTIONS = [0, 1]
 
 
 class TestExprs(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestExprs, cls).add_test_dimensions()
@@ -151,10 +147,6 @@ class TestExprLimits(ImpalaTestSuite):
   EXPR_CHILDREN_LIMIT = 10000
   EXPR_DEPTH_LIMIT = 1000
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestExprLimits, cls).add_test_dimensions()
@@ -314,10 +306,6 @@ class TestUtcTimestampFunctions(ImpalaTestSuite):
           v.get_value('table_format').file_format == 'text'
           and v.get_value('table_format').compression_codec == 'none')
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   def test_utc_functions(self, vector):
     self.run_test_case('QueryTest/utc-timestamp-functions', vector)
 
@@ -325,10 +313,6 @@ class TestUtcTimestampFunctions(ImpalaTestSuite):
 class TestConstantFoldingNoTypeLoss(ImpalaTestSuite):
   """"Regression tests for IMPALA-11462."""
 
-  @classmethod
-  def get_workload(self):
-    return "functional-query"
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestConstantFoldingNoTypeLoss, cls).add_test_dimensions()
@@ -375,10 +359,6 @@ class TestNonConstPatternILike(ImpalaTestSuite):
     cls.ImpalaTestMatrix.add_dimension(
         create_uncompressed_text_dimension(cls.get_workload()))
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   def test_non_const_pattern_ilike(self, vector, unique_database):
     with self.create_impala_client_from_vector(vector) as client:
       tbl_name = '`{0}`.`ilike_test`'.format(unique_database)
diff --git a/tests/query_test/test_ext_data_sources.py b/tests/query_test/test_ext_data_sources.py
index 3161c290f..d0d0024d3 100644
--- a/tests/query_test/test_ext_data_sources.py
+++ b/tests/query_test/test_ext_data_sources.py
@@ -27,10 +27,6 @@ from tests.common.test_dimensions import (create_uncompressed_text_dimension,
 class TestExtDataSources(ImpalaTestSuite):
   """Impala query tests for external data sources."""
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestExtDataSources, cls).add_test_dimensions()
diff --git a/tests/query_test/test_fetch.py b/tests/query_test/test_fetch.py
index 49a4ed2c7..390f0aa4f 100644
--- a/tests/query_test/test_fetch.py
+++ b/tests/query_test/test_fetch.py
@@ -37,10 +37,6 @@ class TestFetch(ImpalaTestSuite):
     cls.ImpalaTestMatrix.add_constraint(lambda v:
         v.get_value('table_format').file_format == 'parquet')
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   def test_rows_sent_counters(self, vector):
     """Validate that ClientFetchWaitTimer, NumRowsFetched, RowMaterializationRate,
     and RowMaterializationTimer are set to valid values in the ImpalaServer section
@@ -168,10 +164,6 @@ class TestFetchAndSpooling(ImpalaTestSuite):
     # spool_query_results is set as true by default.
     extend_exec_option_dimension(cls, 'spool_query_results', 'false')
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   def test_rows_sent_counters(self, vector):
     """Validate that RowsSent and RowsSentRate are set to valid values in
     the PLAN_ROOT_SINK section of the runtime profile."""
@@ -206,10 +198,6 @@ class TestFetchTimeout(ImpalaTestSuite):
         v.get_value('table_format').file_format == 'parquet')
     extend_exec_option_dimension(cls, 'spool_query_results', 'true')
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   def test_fetch_timeout(self, vector):
     """A simple test that runs a query with a low timeout and introduces delays in
     RowBatch production. Asserts that the query succeeds and returns the expected number
diff --git a/tests/query_test/test_geospatial_functions.py b/tests/query_test/test_geospatial_functions.py
index 2b34e8f1e..2ae9ae649 100644
--- a/tests/query_test/test_geospatial_functions.py
+++ b/tests/query_test/test_geospatial_functions.py
@@ -22,10 +22,6 @@ from tests.common.skip import SkipIfApacheHive
 
 class TestGeospatialFuctions(ImpalaTestSuite):
   """Tests the geospatial builtin functions"""
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @SkipIfApacheHive.feature_not_supported
   def test_esri_geospatial_functions(self, vector):
     self.run_test_case('QueryTest/geospatial-esri', vector)
diff --git a/tests/query_test/test_hash_join_timer.py b/tests/query_test/test_hash_join_timer.py
index 7deddd5e4..f23fd1bd3 100644
--- a/tests/query_test/test_hash_join_timer.py
+++ b/tests/query_test/test_hash_join_timer.py
@@ -77,10 +77,6 @@ class TestHashJoinTimer(ImpalaTestSuite):
   # Constant of nanoseconds per millisecond
   NANOS_PER_MILLI = 1000000
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestHashJoinTimer, cls).add_test_dimensions()
diff --git a/tests/query_test/test_hbase_queries.py b/tests/query_test/test_hbase_queries.py
index 15e715dae..7da915542 100644
--- a/tests/query_test/test_hbase_queries.py
+++ b/tests/query_test/test_hbase_queries.py
@@ -24,10 +24,6 @@ from tests.common.impala_test_suite import ImpalaTestSuite
 from tests.common.skip import SkipIfFS
 
 class TestHBaseQueries(ImpalaTestSuite):
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestHBaseQueries, cls).add_test_dimensions()
diff --git a/tests/query_test/test_hdfs_caching.py b/tests/query_test/test_hdfs_caching.py
index c960e30bf..5769224ad 100644
--- a/tests/query_test/test_hdfs_caching.py
+++ b/tests/query_test/test_hdfs_caching.py
@@ -114,10 +114,6 @@ class TestHdfsCaching(ImpalaTestSuite):
 # TODO: Move this to TestHdfsCaching once we make exhaustive tests run for other workloads
 @SkipIfFS.hdfs_caching
 class TestHdfsCachingFallbackPath(ImpalaTestSuite):
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @SkipIfFS.hdfs_encryption
   def test_hdfs_caching_fallback_path(self, vector, unique_database, testid_checksum):
     """ This tests the code path of the query execution where the hdfs cache read fails
@@ -168,10 +164,6 @@ class TestHdfsCachingFallbackPath(ImpalaTestSuite):
 
 @SkipIfFS.hdfs_caching
 class TestHdfsCachingDdl(ImpalaTestSuite):
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestHdfsCachingDdl, cls).add_test_dimensions()
diff --git a/tests/query_test/test_hdfs_file_mods.py b/tests/query_test/test_hdfs_file_mods.py
index 73856a207..3f1df7fa4 100644
--- a/tests/query_test/test_hdfs_file_mods.py
+++ b/tests/query_test/test_hdfs_file_mods.py
@@ -49,10 +49,6 @@ class TestHdfsFileMods(ImpalaTestSuite):
         *MODIFICATION_TYPES))
     cls.ImpalaTestMatrix.add_constraint(cls.file_format_constraint)
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   def setup_ext_table(self, unique_database, new_table_location):
     # Use HDFS commands to clone the table's files at the hdfs level
     old_table_location = "{0}/test-warehouse/tinytable".format(FILESYSTEM_PREFIX)
diff --git a/tests/query_test/test_hive_codec_interop.py b/tests/query_test/test_hive_codec_interop.py
index 9d245aeb6..4f9a4d43a 100644
--- a/tests/query_test/test_hive_codec_interop.py
+++ b/tests/query_test/test_hive_codec_interop.py
@@ -37,10 +37,6 @@ SEQUENCE_CODECS.remove("ZStandard")
 
 
 class TestFileCodecInterop(ImpalaTestSuite):
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def setup_class(cls):
     if cls.exploration_strategy() != 'exhaustive':
diff --git a/tests/query_test/test_hive_timestamp_conversion.py b/tests/query_test/test_hive_timestamp_conversion.py
index 2d594f144..d6f08354c 100644
--- a/tests/query_test/test_hive_timestamp_conversion.py
+++ b/tests/query_test/test_hive_timestamp_conversion.py
@@ -26,10 +26,6 @@ class TestHiveParquetTimestampConversion(ImpalaTestSuite):
   Hive legacy conversion enabled. Tests use convert_legacy_hive_parquet_utc_timestamps,
   use_legacy_hive_timestamp_conversion, and timezone to test conversion."""
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestHiveParquetTimestampConversion, cls).add_test_dimensions()
diff --git a/tests/query_test/test_iceberg.py b/tests/query_test/test_iceberg.py
index 959f41d5c..c41e5162d 100644
--- a/tests/query_test/test_iceberg.py
+++ b/tests/query_test/test_iceberg.py
@@ -54,10 +54,6 @@ LOG = logging.getLogger(__name__)
 class TestIcebergTable(IcebergTestSuite):
   """Tests related to Iceberg tables."""
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestIcebergTable, cls).add_test_dimensions()
@@ -1501,10 +1497,6 @@ class TestIcebergTable(IcebergTestSuite):
 class TestIcebergV2Table(IcebergTestSuite):
   """Tests related to Iceberg V2 tables."""
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestIcebergV2Table, cls).add_test_dimensions()
@@ -2132,10 +2124,6 @@ class TestIcebergV2Table(IcebergTestSuite):
 class TestIcebergDirectedMode(IcebergTestSuite):
   """Tests related to Iceberg DIRECTED distribution mode."""
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestIcebergDirectedMode, cls).add_test_dimensions()
diff --git a/tests/query_test/test_insert.py b/tests/query_test/test_insert.py
index 4db607d8d..aab02f329 100644
--- a/tests/query_test/test_insert.py
+++ b/tests/query_test/test_insert.py
@@ -47,10 +47,6 @@ PARQUET_CODECS = ['none', 'snappy', 'gzip', 'zstd', 'lz4']
 class TestInsertBase(ImpalaTestSuite):
   """All tests based on this class should run with 'unique_database' fixture."""
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestInsertBase, cls).add_test_dimensions()
@@ -216,10 +212,6 @@ class TestInsertQueriesWithDefaultFormat(TestInsertBase):
 
 
 class TestInsertWideTable(ImpalaTestSuite):
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestInsertWideTable, cls).add_test_dimensions()
@@ -277,10 +269,6 @@ class TestInsertWideTable(ImpalaTestSuite):
 
 class TestInsertPartKey(ImpalaTestSuite):
   """Regression test for IMPALA-875"""
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestInsertPartKey, cls).add_test_dimensions()
@@ -364,10 +352,6 @@ class TestInsertPartKey(ImpalaTestSuite):
 
 
 class TestInsertNullQueries(ImpalaTestSuite):
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestInsertNullQueries, cls).add_test_dimensions()
@@ -399,10 +383,6 @@ class TestInsertFileExtension(ImpalaTestSuite):
   """Tests that files written to a table have the correct file extension. Asserts that
   Parquet files end with .parq and text files end with .txt."""
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestInsertFileExtension, cls).add_test_dimensions()
@@ -435,10 +415,6 @@ class TestInsertHdfsWriterLimit(ImpalaTestSuite):
   """Test to make sure writer fragment instances are distributed evenly when using max
       hdfs_writers query option."""
   @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
-  @classmethod
   def default_test_protocol(cls):
     return HS2
 
@@ -567,10 +543,6 @@ class TestInsertHdfsWriterLimit(ImpalaTestSuite):
 
 
 class TestInsertNonPartitionedTable(ImpalaTestSuite):
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestInsertNonPartitionedTable, cls).add_test_dimensions()
@@ -612,10 +584,6 @@ class TestInsertNonPartitionedTable(ImpalaTestSuite):
 
 class TestUnsafeImplicitCasts(ImpalaTestSuite):
   """Test to check 'allow_unsafe_casts' query-option behaviour on insert statements."""
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestUnsafeImplicitCasts, cls).add_test_dimensions()
diff --git a/tests/query_test/test_insert_behaviour.py b/tests/query_test/test_insert_behaviour.py
index 3864bca3f..88d5446d9 100644
--- a/tests/query_test/test_insert_behaviour.py
+++ b/tests/query_test/test_insert_behaviour.py
@@ -34,10 +34,6 @@ from tests.util.filesystem_utils import WAREHOUSE, IS_S3
 @SkipIfLocal.hdfs_client
 class TestInsertBehaviour(ImpalaTestSuite):
   """Tests for INSERT behaviour that isn't covered by checking query results"""
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   TEST_DB_NAME = "insert_empty_result_db"
 
   def setup_method(self, method):
diff --git a/tests/query_test/test_insert_parquet.py b/tests/query_test/test_insert_parquet.py
index 058a09127..a90f456f7 100644
--- a/tests/query_test/test_insert_parquet.py
+++ b/tests/query_test/test_insert_parquet.py
@@ -133,10 +133,6 @@ class TestInsertParquetQueries(ImpalaTestSuite):
 
 class TestParquetQueriesMultiCodecs(ImpalaTestSuite):
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestParquetQueriesMultiCodecs, cls).add_test_dimensions()
@@ -162,10 +158,6 @@ class TestParquetQueriesMultiCodecs(ImpalaTestSuite):
 
 class TestInsertParquetInvalidCodec(ImpalaTestSuite):
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestInsertParquetInvalidCodec, cls).add_test_dimensions()
@@ -238,10 +230,6 @@ class TestInsertParquetVerifySize(ImpalaTestSuite):
 
 class TestHdfsParquetTableWriter(ImpalaTestSuite):
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestHdfsParquetTableWriter, cls).add_test_dimensions()
@@ -558,10 +546,6 @@ class TestHdfsParquetTableWriter(ImpalaTestSuite):
 # TODO: Should we move this to test_parquet_stats.py?
 class TestHdfsParquetTableStatsWriter(ImpalaTestSuite):
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestHdfsParquetTableStatsWriter, cls).add_test_dimensions()
diff --git a/tests/query_test/test_insert_permutation.py b/tests/query_test/test_insert_permutation.py
index 14cf638a0..b61c84856 100644
--- a/tests/query_test/test_insert_permutation.py
+++ b/tests/query_test/test_insert_permutation.py
@@ -28,10 +28,6 @@ class TestInsertQueriesWithPermutation(ImpalaTestSuite):
   """
   Tests for the column permutation feature of INSERT statements
   """
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestInsertQueriesWithPermutation, cls).add_test_dimensions()
diff --git a/tests/query_test/test_invalid_test_header.py b/tests/query_test/test_invalid_test_header.py
index 886972e04..df46efeec 100644
--- a/tests/query_test/test_invalid_test_header.py
+++ b/tests/query_test/test_invalid_test_header.py
@@ -30,10 +30,6 @@ class TestInvalidTestHeader(ImpalaTestSuite):
         v.get_value('table_format').file_format == 'text' and\
         v.get_value('table_format').compression_codec == 'none')
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   def test_invalid_test_header(self, vector):
     """Test that running a test file with an invalid header results in the right exception
     being thrown."""
diff --git a/tests/query_test/test_join_queries.py b/tests/query_test/test_join_queries.py
index 007de058c..9ac732aa5 100644
--- a/tests/query_test/test_join_queries.py
+++ b/tests/query_test/test_join_queries.py
@@ -54,10 +54,6 @@ class TestJoinBase(ImpalaTestSuite):
   and constraints through add_test_dimensions() both in core and
   exhaustive exploration."""
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestJoinBase, cls).add_test_dimensions()
@@ -230,10 +226,6 @@ class TestSemiJoinQueriesExhaustive(TestJoinBase):
 
 class TestSpillingHashJoin(ImpalaTestSuite):
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestSpillingHashJoin, cls).add_test_dimensions()
diff --git a/tests/query_test/test_limit_pushdown_analytic.py b/tests/query_test/test_limit_pushdown_analytic.py
index 7864a0614..47fcfcc82 100644
--- a/tests/query_test/test_limit_pushdown_analytic.py
+++ b/tests/query_test/test_limit_pushdown_analytic.py
@@ -40,10 +40,6 @@ class TestLimitPushdownAnalyticTpch(ImpalaTestSuite):
 
 
 class TestLimitPushdownAnalyticFunctional(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestLimitPushdownAnalyticFunctional, cls).add_test_dimensions()
diff --git a/tests/query_test/test_local_fs.py b/tests/query_test/test_local_fs.py
index a6468fbbd..3989db1e6 100644
--- a/tests/query_test/test_local_fs.py
+++ b/tests/query_test/test_local_fs.py
@@ -23,10 +23,6 @@ from tests.common.skip import SkipIfDockerizedCluster
 from tests.common.test_dimensions import create_single_exec_option_dimension
 
 class TestLocalFileSystem(ImpalaTestSuite):
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestLocalFileSystem, cls).add_test_dimensions()
diff --git a/tests/query_test/test_mem_usage_scaling.py b/tests/query_test/test_mem_usage_scaling.py
index d5151a1ba..18c0d21db 100644
--- a/tests/query_test/test_mem_usage_scaling.py
+++ b/tests/query_test/test_mem_usage_scaling.py
@@ -317,10 +317,6 @@ class TestTpcdsMemLimitError(TestLowMemoryLimits):
 class TestScanMemLimit(ImpalaTestSuite):
   """Targeted test for scan memory limits."""
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestScanMemLimit, cls).add_test_dimensions()
@@ -422,10 +418,6 @@ class TestHashJoinMemLimit(ImpalaTestSuite):
 class TestExchangeMemUsage(ImpalaTestSuite):
   """Targeted test for exchange memory limits."""
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestExchangeMemUsage, cls).add_test_dimensions()
diff --git a/tests/query_test/test_mt_dop.py b/tests/query_test/test_mt_dop.py
index dc8ff9347..8684f6eef 100644
--- a/tests/query_test/test_mt_dop.py
+++ b/tests/query_test/test_mt_dop.py
@@ -47,10 +47,6 @@ class TestMtDop(ImpalaTestSuite):
     super(TestMtDop, cls).add_test_dimensions()
     add_exec_option_dimension(cls, 'mt_dop', MT_DOP_VALUES)
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   def test_mt_dop(self, vector):
     new_vector = deepcopy(vector)
     del new_vector.get_value('exec_option')['batch_size']  # .test file sets batch_size
@@ -101,10 +97,6 @@ class TestMtDop(ImpalaTestSuite):
 
 
 class TestMtDopParquet(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestMtDopParquet, cls).add_test_dimensions()
@@ -132,10 +124,6 @@ class TestMtDopParquet(ImpalaTestSuite):
 class TestMtDopNonZeroParquet(ImpalaTestSuite):
   """Test against parquet and MT_DOP > 0."""
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestMtDopNonZeroParquet, cls).add_test_dimensions()
@@ -178,10 +166,6 @@ class TestMtDopScheduling(ImpalaTestSuite):
   for different queries. This is always at most mt_dop per host, but is less where there
   are fewer fragment instances per host. The mt_dop scheduling and slot calculation is
   orthogonal to file format, so we only need to test on one format."""
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestMtDopScheduling, cls).add_test_dimensions()
diff --git a/tests/query_test/test_multiple_filesystems.py b/tests/query_test/test_multiple_filesystems.py
index 628baa79a..d0bdf86e7 100644
--- a/tests/query_test/test_multiple_filesystems.py
+++ b/tests/query_test/test_multiple_filesystems.py
@@ -32,10 +32,6 @@ class TestMultipleFilesystems(ImpalaTestSuite):
   Tests that tables and queries can span multiple filesystems.
   """
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestMultipleFilesystems, cls).add_test_dimensions()
diff --git a/tests/query_test/test_nested_types.py b/tests/query_test/test_nested_types.py
index 21a459933..6d21bac0f 100644
--- a/tests/query_test/test_nested_types.py
+++ b/tests/query_test/test_nested_types.py
@@ -37,10 +37,6 @@ ORC_RESOLUTION_DIMS = [0, 1]
 class TestNestedTypes(ImpalaTestSuite):
   """Functional tests for nested types, run for all file formats that support nested
   types."""
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestNestedTypes, cls).add_test_dimensions()
@@ -115,10 +111,6 @@ class TestNestedTypesSingleNode(ImpalaTestSuite):
 
 class TestNestedStructsInSelectList(ImpalaTestSuite):
   """Functional tests for nested structs provided in the select list."""
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestNestedStructsInSelectList, cls).add_test_dimensions()
@@ -175,10 +167,6 @@ class TestNestedStructsInSelectList(ImpalaTestSuite):
 
 class TestNestedCollectionsInSelectList(ImpalaTestSuite):
   """Functional tests for nested arrays provided in the select list."""
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestNestedCollectionsInSelectList, cls).add_test_dimensions()
@@ -210,10 +198,6 @@ class TestNestedCollectionsInSelectList(ImpalaTestSuite):
 class TestMixedCollectionsAndStructsInSelectList(ImpalaTestSuite):
   """Functional tests for the case where collections and structs are embedded into one
   another and they are provided in the select list."""
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestMixedCollectionsAndStructsInSelectList, cls).add_test_dimensions()
@@ -241,10 +225,6 @@ class TestMixedCollectionsAndStructsInSelectList(ImpalaTestSuite):
 class TestComputeStatsWithNestedTypes(ImpalaTestSuite):
   """Functional tests for running compute stats on tables that have nested types in the
   columns."""
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestComputeStatsWithNestedTypes, cls).add_test_dimensions()
@@ -273,10 +253,6 @@ class TestComputeStatsWithNestedTypes(ImpalaTestSuite):
 
 class TestZippingUnnest(ImpalaTestSuite):
   """Functional tests for zipping unnest functionality."""
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestZippingUnnest, cls).add_test_dimensions()
@@ -297,10 +273,6 @@ class TestZippingUnnest(ImpalaTestSuite):
 
 
 class TestZippingUnnestFromView(ImpalaTestSuite):
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestZippingUnnestFromView, cls).add_test_dimensions()
@@ -315,10 +287,6 @@ class TestZippingUnnestFromView(ImpalaTestSuite):
 
 class TestNestedTypesNoMtDop(ImpalaTestSuite):
   """Functional tests for nested types that do not need to be run with mt_dop > 0."""
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestNestedTypesNoMtDop, cls).add_test_dimensions()
@@ -409,10 +377,6 @@ class TestNestedTypesNoMtDop(ImpalaTestSuite):
 class TestNestedTypesNoMtDopOrc(ImpalaTestSuite):
   """Functional tests for nested types against ORC format only and not need to be run
   with mt_dop > 0."""
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestNestedTypesNoMtDopOrc, cls).add_test_dimensions()
@@ -465,10 +429,6 @@ class TestNestedTypesNoMtDopOrc(ImpalaTestSuite):
 class TestNestedTypesNoMtDopParquet(ImpalaTestSuite):
   """Functional tests for nested types against Parquet format only and not need
   to be run with mt_dop > 0."""
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestNestedTypesNoMtDopParquet, cls).add_test_dimensions()
@@ -486,10 +446,6 @@ class TestParquetArrayEncodingsBase(ImpalaTestSuite):
 
   ARRAY_RESOLUTION_POLICIES = ["three_level", "two_level", "two_level_then_three_level"]
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestParquetArrayEncodingsBase, cls).add_test_dimensions()
@@ -902,10 +858,6 @@ class TestMaxNestingDepth(ImpalaTestSuite):
   MAX_NESTING_DEPTH = 100
   TABLES = ['struct', 'int_array', 'struct_array', 'int_map', 'struct_map']
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestMaxNestingDepth, cls).add_test_dimensions()
@@ -972,10 +924,6 @@ class TestNestedTypesStarExpansion(ImpalaTestSuite):
   option (EXPAND_COMPLEX_TYPES) is enabled/disabled, run for all file formats that
   support nested types."""
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestNestedTypesStarExpansion, cls).add_test_dimensions()
diff --git a/tests/query_test/test_observability.py b/tests/query_test/test_observability.py
index 47f375c1f..0a6fac365 100644
--- a/tests/query_test/test_observability.py
+++ b/tests/query_test/test_observability.py
@@ -32,10 +32,6 @@ import re
 
 
 class TestObservability(ImpalaTestSuite):
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def default_test_protocol(cls):
     return HS2
@@ -1032,10 +1028,6 @@ class TestQueryStates(ImpalaTestSuite):
   """Test that the 'Query State' and 'Impala Query State' are set correctly in the
   runtime profile."""
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   def test_query_states(self):
     """Tests that the query profile shows expected query states."""
     query = "select count(*) from functional.alltypes where bool_col = sleep(10)"
diff --git a/tests/query_test/test_orc_stats.py b/tests/query_test/test_orc_stats.py
index 3237ac8d0..437f5d767 100644
--- a/tests/query_test/test_orc_stats.py
+++ b/tests/query_test/test_orc_stats.py
@@ -24,10 +24,6 @@ class TestOrcStats(ImpalaTestSuite):
   This suite tests runtime optimizations based on ORC statistics.
   """
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestOrcStats, cls).add_test_dimensions()
diff --git a/tests/query_test/test_parquet_bloom_filter.py b/tests/query_test/test_parquet_bloom_filter.py
index 216e6db37..1db10efe5 100644
--- a/tests/query_test/test_parquet_bloom_filter.py
+++ b/tests/query_test/test_parquet_bloom_filter.py
@@ -67,10 +67,6 @@ class TestParquetBloomFilter(ImpalaTestSuite):
                        'string_col : 512,'                                  \
                        '");'
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestParquetBloomFilter, cls).add_test_dimensions()
diff --git a/tests/query_test/test_parquet_byte_stream_split_encoding.py b/tests/query_test/test_parquet_byte_stream_split_encoding.py
index 7bf8aec58..eb3bf9beb 100644
--- a/tests/query_test/test_parquet_byte_stream_split_encoding.py
+++ b/tests/query_test/test_parquet_byte_stream_split_encoding.py
@@ -27,10 +27,6 @@ class TestParquetEncodings(ImpalaTestSuite):
 
   TEST_FILE_DIRECTORY = "testdata/parquet_byte_stream_split_encoding"
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestParquetEncodings, cls).add_test_dimensions()
diff --git a/tests/query_test/test_parquet_late_materialization.py b/tests/query_test/test_parquet_late_materialization.py
index aa1fb3b13..10acdbf1d 100644
--- a/tests/query_test/test_parquet_late_materialization.py
+++ b/tests/query_test/test_parquet_late_materialization.py
@@ -24,10 +24,6 @@ class TestParquetLateMaterialization(ImpalaTestSuite):
   This suite tests late materialization optimization for parquet.
   """
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestParquetLateMaterialization, cls).add_test_dimensions()
diff --git a/tests/query_test/test_parquet_page_index.py b/tests/query_test/test_parquet_page_index.py
index 64607f055..1d0f1f6b4 100644
--- a/tests/query_test/test_parquet_page_index.py
+++ b/tests/query_test/test_parquet_page_index.py
@@ -48,10 +48,6 @@ class TestHdfsParquetTableIndexWriter(ImpalaTestSuite):
   TODO: IMPALA-5843 Once Impala is able to read the page index and also write it by
   default, this test suite should be moved back to query tests.
   """
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestHdfsParquetTableIndexWriter, cls).add_test_dimensions()
diff --git a/tests/query_test/test_parquet_stats.py b/tests/query_test/test_parquet_stats.py
index 707df8e2c..9a2f4570a 100644
--- a/tests/query_test/test_parquet_stats.py
+++ b/tests/query_test/test_parquet_stats.py
@@ -33,10 +33,6 @@ class TestParquetStatsSingleNode(ImpalaTestSuite):
   This suite tests runtime optimizations based on Parquet statistics with num_nodes=1.
   """
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestParquetStatsSingleNode, cls).add_test_dimensions()
@@ -72,10 +68,6 @@ class TestParquetStats(ImpalaTestSuite):
   This suite tests runtime optimizations based on Parquet statistics.
   """
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestParquetStats, cls).add_test_dimensions()
diff --git a/tests/query_test/test_partitioning.py b/tests/query_test/test_partitioning.py
index f3ba5f2d4..5a6c52843 100644
--- a/tests/query_test/test_partitioning.py
+++ b/tests/query_test/test_partitioning.py
@@ -26,10 +26,6 @@ from tests.common.test_dimensions import create_single_exec_option_dimension
 
 # Tests to validate HDFS partitioning.
 class TestPartitioning(ImpalaTestSuite):
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestPartitioning, cls).add_test_dimensions()
diff --git a/tests/query_test/test_prettyprint_bytes.py b/tests/query_test/test_prettyprint_bytes.py
index 119c88bfe..4529b52d0 100644
--- a/tests/query_test/test_prettyprint_bytes.py
+++ b/tests/query_test/test_prettyprint_bytes.py
@@ -23,10 +23,6 @@ import pytest
 class TestPrettyPrintBytes(ImpalaTestSuite):
   """Tests the built-in function prettyprint_bytes."""
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   def test_prettyprint_bytes(self, vector):
     if (vector.get_value('table_format').file_format != 'text'
         or vector.get_value('table_format').compression_codec != 'none'):
diff --git a/tests/query_test/test_processing_cost.py b/tests/query_test/test_processing_cost.py
index d2e942a79..96a5b72bd 100644
--- a/tests/query_test/test_processing_cost.py
+++ b/tests/query_test/test_processing_cost.py
@@ -28,10 +28,6 @@ from tests.common.test_dimensions import (
 class TestProcessingCost(ImpalaTestSuite):
   """Test processing cost in non-dedicated coordinator environment."""
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestProcessingCost, cls).add_test_dimensions()
diff --git a/tests/query_test/test_queries.py b/tests/query_test/test_queries.py
index 3d2ef4d5d..b712bdeb8 100644
--- a/tests/query_test/test_queries.py
+++ b/tests/query_test/test_queries.py
@@ -87,10 +87,6 @@ class TestQueries(ImpalaTestSuite):
         and vector.get_value('protocol') == 'hs2'
         and vector.get_value('exec_option')["exec_single_node_rows_threshold"] == 0)
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   def test_analytic_fns(self, vector):
     # TODO: Enable some of these tests for Avro if possible
     # Don't attempt to evaluate timestamp expressions with Avro tables which don't
@@ -225,10 +221,6 @@ class TestQueriesTextTables(ImpalaTestSuite):
     cls.ImpalaTestMatrix.add_dimension(
         create_uncompressed_text_dimension(cls.get_workload()))
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   def test_overflow(self, vector):
     self.run_test_case('QueryTest/overflow', vector)
 
@@ -269,10 +261,6 @@ class TestQueriesJsonTables(ImpalaTestSuite):
         create_uncompressed_json_dimension(cls.get_workload()))
     add_exec_option_dimension(cls, 'disable_optimized_json_count_star', [0, 1])
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   def test_complex(self, vector):
     vector.get_value('exec_option')['abort_on_error'] = 0
     self.run_test_case('QueryTest/complex_json', vector)
@@ -298,10 +286,6 @@ class TestQueriesParquetTables(ImpalaTestSuite):
     cls.ImpalaTestMatrix.add_constraint(lambda v:
         v.get_value('table_format').file_format == 'parquet')
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @pytest.mark.execute_serially
   def test_very_large_strings(self, vector):
     """Regression test for IMPALA-1619. Doesn't need to be run on all file formats.
@@ -334,10 +318,6 @@ class TestHdfsQueries(ImpalaTestSuite):
     cls.ImpalaTestMatrix.add_constraint(lambda v:
         v.get_value('table_format').file_format != 'kudu')
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   def test_hdfs_scan_node(self, vector):
     self.run_test_case('QueryTest/hdfs-scan-node', vector)
 
@@ -358,10 +338,6 @@ class TestPartitionKeyScans(ImpalaTestSuite):
     cls.ImpalaTestMatrix.add_dimension(create_exec_option_dimension_from_dict({
       'mt_dop': [0, 1], 'exec_single_node_rows_threshold': [0]}))
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   def test_partition_key_scans(self, vector):
     self.run_test_case('QueryTest/partition-key-scans', vector)
 
@@ -383,10 +359,6 @@ class TestPartitionKeyScansWithMultipleBlocks(ImpalaTestSuite):
     cls.ImpalaTestMatrix.add_constraint(lambda v:
         v.get_value('table_format').file_format not in ('kudu', 'hbase'))
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   def _build_alltypes_multiblocks_table(self, vector, unique_database):
     file_format = vector.get_value('table_format').file_format
     db_suffix = vector.get_value('table_format').db_suffix()
diff --git a/tests/query_test/test_query_concurrency.py b/tests/query_test/test_query_concurrency.py
index 97e2d0c97..431c46d19 100644
--- a/tests/query_test/test_query_concurrency.py
+++ b/tests/query_test/test_query_concurrency.py
@@ -38,10 +38,6 @@ class TestQueryConcurrency(ImpalaTestSuite):
   TEST_QUERY = "select count(*) from tpch.supplier"
   POLLING_TIMEOUT_S = 15
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   def poll_query_page(self, impalad, query_id):
     """Polls the debug plan page of a given query id in a loop till the timeout
     of POLLING_TIMEOUT_S is hit."""
diff --git a/tests/query_test/test_query_mem_limit.py b/tests/query_test/test_query_mem_limit.py
index f14dbe9b8..4e8c7f7cc 100644
--- a/tests/query_test/test_query_mem_limit.py
+++ b/tests/query_test/test_query_mem_limit.py
@@ -119,10 +119,6 @@ class TestQueryMemLimit(ImpalaTestSuite):
 
 class TestCodegenMemLimit(ImpalaTestSuite):
   """Tests that memory limit applies to codegen """
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestCodegenMemLimit, cls).add_test_dimensions()
diff --git a/tests/query_test/test_query_opts.py b/tests/query_test/test_query_opts.py
index 93f925d40..71a0b73f2 100644
--- a/tests/query_test/test_query_opts.py
+++ b/tests/query_test/test_query_opts.py
@@ -28,10 +28,6 @@ from tests.common.test_dimensions import create_exec_option_dimension
 from tests.hs2.hs2_test_suite import HS2TestSuite, needs_session
 
 class TestQueryOptions(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestQueryOptions, cls).add_test_dimensions()
diff --git a/tests/query_test/test_resource_limits.py b/tests/query_test/test_resource_limits.py
index 9f95b4eb8..02bd5952b 100644
--- a/tests/query_test/test_resource_limits.py
+++ b/tests/query_test/test_resource_limits.py
@@ -24,10 +24,6 @@ from tests.common.test_dimensions import create_parquet_dimension
 class TestResourceLimits(ImpalaTestSuite):
   """Test resource limit functionality."""
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestResourceLimits, cls).add_test_dimensions()
diff --git a/tests/query_test/test_result_spooling.py b/tests/query_test/test_result_spooling.py
index 834d2f600..ba1c9ba77 100644
--- a/tests/query_test/test_result_spooling.py
+++ b/tests/query_test/test_result_spooling.py
@@ -40,10 +40,6 @@ class TestResultSpooling(ImpalaTestSuite):
     cls.ImpalaTestMatrix.add_constraint(lambda v:
         v.get_value('table_format').file_format == 'parquet')
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   def test_result_spooling(self, vector):
     self.run_test_case('QueryTest/result-spooling', vector)
 
@@ -246,10 +242,6 @@ class TestResultSpoolingFetchSize(ImpalaTestSuite):
   # The query that 'test_fetch' will run.
   _query = "select id from functional_parquet.alltypes order by id"
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestResultSpoolingFetchSize, cls).add_test_dimensions()
@@ -395,10 +387,6 @@ class TestResultSpoolingFailpoints(ImpalaTestSuite):
 
   _query = "select * from functional.alltypes"
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestResultSpoolingFailpoints, cls).add_test_dimensions()
@@ -428,10 +416,6 @@ class TestResultSpoolingMaxReservation(ImpalaTestSuite):
   # memory requirement.
   DEBUG_ACTION_VALUES = [None, '-1:OPEN:SET_DENY_RESERVATION_PROBABILITY@1.0']
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestResultSpoolingMaxReservation, cls).add_test_dimensions()
diff --git a/tests/query_test/test_rows_availability.py b/tests/query_test/test_rows_availability.py
index e68f95618..62836aaeb 100644
--- a/tests/query_test/test_rows_availability.py
+++ b/tests/query_test/test_rows_availability.py
@@ -46,10 +46,6 @@ class TestRowsAvailability(ImpalaTestSuite):
              'select count(*) over () from %s %s' % (TABLE, WHERE_CLAUSE)]
   ROWS_AVAIL_LOWER_BOUND_MS = 2000
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestRowsAvailability, cls).add_test_dimensions()
diff --git a/tests/query_test/test_runtime_filters.py b/tests/query_test/test_runtime_filters.py
index 6e5b4d394..ba4169ff6 100644
--- a/tests/query_test/test_runtime_filters.py
+++ b/tests/query_test/test_runtime_filters.py
@@ -57,10 +57,6 @@ build_runs_slowly = ImpalaTestClusterProperties.get_instance().runs_slowly()
 @SkipIfLocal.multiple_impalad
 @SkipIfFS.late_filters
 class TestRuntimeFilters(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestRuntimeFilters, cls).add_test_dimensions()
@@ -195,10 +191,6 @@ class TestRuntimeFilters(ImpalaTestSuite):
 
 @SkipIfLocal.multiple_impalad
 class TestBloomFilters(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestBloomFilters, cls).add_test_dimensions()
@@ -222,10 +214,6 @@ class TestBloomFilters(ImpalaTestSuite):
 
 @SkipIfLocal.multiple_impalad
 class TestBloomFiltersOnParquet(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestBloomFiltersOnParquet, cls).add_test_dimensions()
@@ -257,10 +245,6 @@ class TestBloomFiltersOnParquet(ImpalaTestSuite):
 
 @SkipIfLocal.multiple_impalad
 class TestMinMaxFilters(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestMinMaxFilters, cls).add_test_dimensions()
@@ -333,10 +317,6 @@ class TestMinMaxFilters(ImpalaTestSuite):
 @SkipIfEC.different_scan_split
 @SkipIfLocal.multiple_impalad
 class TestOverlapMinMaxFilters(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestOverlapMinMaxFilters, cls).add_test_dimensions()
@@ -385,10 +365,6 @@ class TestOverlapMinMaxFilters(ImpalaTestSuite):
 
 
 class TestInListFilters(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestInListFilters, cls).add_test_dimensions()
@@ -407,10 +383,6 @@ class TestInListFilters(ImpalaTestSuite):
 
 # Apply Bloom filter, Minmax filter and IN-list filters
 class TestAllRuntimeFilters(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestAllRuntimeFilters, cls).add_test_dimensions()
@@ -437,10 +409,6 @@ class TestAllRuntimeFilters(ImpalaTestSuite):
 
 @SkipIfLocal.multiple_impalad
 class TestRuntimeRowFilters(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestRuntimeRowFilters, cls).add_test_dimensions()
@@ -474,10 +442,6 @@ class TestRuntimeRowFilters(ImpalaTestSuite):
 
 @SkipIfLocal.multiple_impalad
 class TestRuntimeRowFilterReservation(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestRuntimeRowFilterReservation, cls).add_test_dimensions()
@@ -497,10 +461,6 @@ class TestRuntimeFiltersLateRemoteUpdate(ImpalaTestSuite):
   """Test that distributed runtime filter aggregation still works
   when remote filter update is late to reach the intermediate aggregator."""
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestRuntimeFiltersLateRemoteUpdate, cls).add_test_dimensions()
diff --git a/tests/query_test/test_scanners.py b/tests/query_test/test_scanners.py
index 825cb09fa..ad4bdbe15 100644
--- a/tests/query_test/test_scanners.py
+++ b/tests/query_test/test_scanners.py
@@ -88,10 +88,6 @@ def scan_multithread_constraint(vector):
 
 class TestScannersAllTableFormats(ImpalaTestSuite):
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestScannersAllTableFormats, cls).add_test_dimensions()
@@ -117,10 +113,6 @@ class TestScannersAllTableFormats(ImpalaTestSuite):
 
 class TestScannersAllTableFormatsDefaultOptions(ImpalaTestSuite):
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestScannersAllTableFormatsDefaultOptions, cls).add_test_dimensions()
@@ -146,10 +138,6 @@ class TestScannersAllTableFormatsDefaultOptions(ImpalaTestSuite):
 
 class TestScannersVirtualColumns(ImpalaTestSuite):
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestScannersVirtualColumns, cls).add_test_dimensions()
@@ -191,10 +179,6 @@ class TestScannersVirtualColumns(ImpalaTestSuite):
 
 
 class TestScannersVirtualColumnsNegative(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestScannersVirtualColumnsNegative, cls).add_test_dimensions()
@@ -209,10 +193,6 @@ class TestScannersVirtualColumnsNegative(ImpalaTestSuite):
 
 class TestIcebergVirtualColumns(ImpalaTestSuite):
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestIcebergVirtualColumns, cls).add_test_dimensions()
@@ -231,10 +211,6 @@ class TestIcebergVirtualColumns(ImpalaTestSuite):
 # Test all the scanners with a simple limit clause. The limit clause triggers
 # cancellation in the scanner code paths.
 class TestScannersAllTableFormatsWithLimit(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestScannersAllTableFormatsWithLimit, cls).add_test_dimensions()
@@ -268,10 +244,6 @@ class TestScannersAllTableFormatsWithLimit(ImpalaTestSuite):
 
 class TestScannersMixedTableFormats(ImpalaTestSuite):
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestScannersMixedTableFormats, cls).add_test_dimensions()
@@ -290,10 +262,6 @@ class TestScannersMixedTableFormats(ImpalaTestSuite):
 # Test case to verify the scanners work properly when the table metadata (specifically the
 # number of columns in the table) does not match the number of columns in the data file.
 class TestUnmatchedSchema(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestUnmatchedSchema, cls).add_test_dimensions()
@@ -349,10 +317,6 @@ class TestUnmatchedSchema(ImpalaTestSuite):
 
 # Tests that scanners can read a single-column, single-row, 10MB table
 class TestWideRow(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestWideRow, cls).add_test_dimensions()
@@ -387,10 +351,6 @@ class TestWideTable(ImpalaTestSuite):
   # TODO: expand this to more rows when we have the capability
   NUM_COLS = [250, 500, 1000]
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestWideTable, cls).add_test_dimensions()
@@ -431,10 +391,6 @@ class TestWideTable(ImpalaTestSuite):
 
 
 class TestHdfsScannerSkew(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestHdfsScannerSkew, cls).add_test_dimensions()
@@ -507,10 +463,6 @@ class TestHdfsScannerSkew(ImpalaTestSuite):
 
 
 class TestHudiParquet(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestHudiParquet, cls).add_test_dimensions()
@@ -524,10 +476,6 @@ class TestHudiParquet(ImpalaTestSuite):
 
 
 class TestIceberg(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestIceberg, cls).add_test_dimensions()
@@ -555,10 +503,6 @@ class TestIceberg(ImpalaTestSuite):
 
 
 class TestParquet(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestParquet, cls).add_test_dimensions()
@@ -1379,10 +1323,6 @@ MAX_SCAN_RANGE_LENGTHS = [0, 1, 2, 5, 16, 17, 32, 512]
 
 class TestScanRangeLengths(ImpalaTestSuite):
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestScanRangeLengths, cls).add_test_dimensions()
@@ -1478,10 +1418,6 @@ class TestTextScanRangeLengths1(ImpalaTestSuite):
       "testescape_17_lf", "testescape_17_crlf",
       "testescape_32_lf", "testescape_32_crlf"]
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestTextScanRangeLengths1, cls).add_test_dimensions()
@@ -1511,10 +1447,6 @@ class TestTextScanRangeLengths1(ImpalaTestSuite):
 # Tests behavior of split "\r\n" delimiters.
 class TestTextSplitDelimiters(ImpalaTestSuite):
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestTextSplitDelimiters, cls).add_test_dimensions()
@@ -1589,10 +1521,6 @@ class TestTextSplitDelimiters(ImpalaTestSuite):
 
 # Test for IMPALA-1740: Support for skip.header.line.count
 class TestTextScanRangeLengths2(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestTextScanRangeLengths2, cls).add_test_dimensions()
@@ -1623,10 +1551,6 @@ class TestTextScanRangeLengths2(ImpalaTestSuite):
 # Missing Coverage: No coverage for truncated files errors or scans.
 @SkipIfFS.hive
 class TestScanTruncatedFiles(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestScanTruncatedFiles, cls).add_test_dimensions()
@@ -1672,10 +1596,6 @@ class TestScanTruncatedFiles(ImpalaTestSuite):
 
 
 class TestUncompressedText(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestUncompressedText, cls).add_test_dimensions()
@@ -1691,10 +1611,6 @@ class TestUncompressedText(ImpalaTestSuite):
 
 
 class TestOrc(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestOrc, cls).add_test_dimensions()
@@ -2005,10 +1921,6 @@ class TestOrc(ImpalaTestSuite):
 
 
 class TestScannerReservation(ImpalaTestSuite):
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestScannerReservation, cls).add_test_dimensions()
@@ -2023,20 +1935,12 @@ class TestScannerReservation(ImpalaTestSuite):
 
 
 class TestErasureCoding(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @SkipIf.not_ec
   def test_erasure_coding(self, vector):
     self.run_test_case('QueryTest/hdfs-erasure-coding', vector)
 
 
 class TestBinaryType(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestBinaryType, cls).add_test_dimensions()
@@ -2048,10 +1952,6 @@ class TestBinaryType(ImpalaTestSuite):
 
 
 class TestBinaryInComplexType(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestBinaryInComplexType, cls).add_test_dimensions()
@@ -2063,10 +1963,6 @@ class TestBinaryInComplexType(ImpalaTestSuite):
 
 
 class TestParquetV2(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestParquetV2, cls).add_test_dimensions()
@@ -2082,10 +1978,6 @@ class TestSingleFileTable(ImpalaTestSuite):
   point to a file instead of a directory. Expect SELECT and SHOW FILES to still work in
   that case."""
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestSingleFileTable, cls).add_test_dimensions()
diff --git a/tests/query_test/test_scanners_fuzz.py b/tests/query_test/test_scanners_fuzz.py
index 539d4ed87..8b10a4d5b 100644
--- a/tests/query_test/test_scanners_fuzz.py
+++ b/tests/query_test/test_scanners_fuzz.py
@@ -61,10 +61,6 @@ class TestScannersFuzzing(ImpalaTestSuite):
     '-1:OPEN:SET_DENY_RESERVATION_PROBABILITY@0.5',
     '-1:OPEN:SET_DENY_RESERVATION_PROBABILITY@1.0']
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestScannersFuzzing, cls).add_test_dimensions()
diff --git a/tests/query_test/test_scratch_limit.py b/tests/query_test/test_scratch_limit.py
index edf1d5a53..c118164ae 100644
--- a/tests/query_test/test_scratch_limit.py
+++ b/tests/query_test/test_scratch_limit.py
@@ -53,10 +53,6 @@ class TestScratchLimit(ImpalaTestSuite):
   # spill_query.
   buffer_pool_limit = "32m"
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestScratchLimit, cls).add_test_dimensions()
diff --git a/tests/query_test/test_sfs.py b/tests/query_test/test_sfs.py
index cc4a602ac..b36488398 100644
--- a/tests/query_test/test_sfs.py
+++ b/tests/query_test/test_sfs.py
@@ -27,10 +27,6 @@ from tests.util.filesystem_utils import WAREHOUSE
 
 @SkipIf.sfs_unsupported
 class TestSFS(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestSFS, cls).add_test_dimensions()
diff --git a/tests/query_test/test_sort.py b/tests/query_test/test_sort.py
index b6df5087c..0251c2eff 100644
--- a/tests/query_test/test_sort.py
+++ b/tests/query_test/test_sort.py
@@ -253,10 +253,6 @@ class TestQueryFullSort(ImpalaTestSuite):
 
 
 class TestRandomSort(ImpalaTestSuite):
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestRandomSort, cls).add_test_dimensions()
@@ -364,10 +360,6 @@ class TestArraySort(ImpalaTestSuite):
   """Tests where there are arrays in the sorting tuple.
   These tests run with num_nodes=1."""
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestArraySort, cls).add_test_dimensions()
diff --git a/tests/query_test/test_spilling.py b/tests/query_test/test_spilling.py
index ea49fb47f..caf335287 100644
--- a/tests/query_test/test_spilling.py
+++ b/tests/query_test/test_spilling.py
@@ -44,10 +44,6 @@ EXHAUSTIVE_DEBUG_ACTION_DIMS = [
 @pytest.mark.xfail(IMPALA_TEST_CLUSTER_PROPERTIES.is_remote_cluster(),
                    reason='Queries may not spill on larger clusters')
 class TestSpillingDebugActionDimensions(ImpalaTestSuite):
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestSpillingDebugActionDimensions, cls).add_test_dimensions()
@@ -103,10 +99,6 @@ class TestSpillingDebugActionDimensions(ImpalaTestSuite):
                    reason='Queries may not spill on larger clusters')
 class TestSpillingNoDebugActionDimensions(ImpalaTestSuite):
   """Spilling tests to which we don't want to apply the debug_action dimension."""
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestSpillingNoDebugActionDimensions, cls).add_test_dimensions()
@@ -139,10 +131,6 @@ class TestSpillingNoDebugActionDimensions(ImpalaTestSuite):
                    reason='Queries may not spill on larger clusters')
 class TestSpillingBroadcastJoins(ImpalaTestSuite):
   """Tests specifically targeted at shared broadcast joins for mt_dop."""
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestSpillingBroadcastJoins, cls).add_test_dimensions()
diff --git a/tests/query_test/test_tablesample.py b/tests/query_test/test_tablesample.py
index 3cab33be3..97a9adb01 100644
--- a/tests/query_test/test_tablesample.py
+++ b/tests/query_test/test_tablesample.py
@@ -25,10 +25,6 @@ from tests.common.test_vector import ImpalaTestDimension
 
 
 class TestTableSample(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestTableSample, cls).add_test_dimensions()
diff --git a/tests/query_test/test_udfs.py b/tests/query_test/test_udfs.py
index c2d228dbd..43c08f1aa 100644
--- a/tests/query_test/test_udfs.py
+++ b/tests/query_test/test_udfs.py
@@ -282,10 +282,6 @@ location '{location}' symbol='TwentyOneArgs';
 
 class TestUdfExecution(TestUdfBase):
   """Test execution of UDFs with a combination of different query options."""
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestUdfExecution, cls).add_test_dimensions()
@@ -441,10 +437,6 @@ class TestUdfExecution(TestUdfBase):
 class TestUdfTargeted(TestUdfBase):
   """Targeted UDF tests that don't need to be run under the full combination of
   exec options."""
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestUdfTargeted, cls).add_test_dimensions()
diff --git a/tests/query_test/test_utf8_strings.py b/tests/query_test/test_utf8_strings.py
index 8d583d884..768da848e 100644
--- a/tests/query_test/test_utf8_strings.py
+++ b/tests/query_test/test_utf8_strings.py
@@ -22,10 +22,6 @@ from tests.common.test_dimensions import (create_exec_option_dimension,
 
 
 class TestUtf8StringFunctions(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestUtf8StringFunctions, cls).add_test_dimensions()
diff --git a/tests/shell/test_shell_client.py b/tests/shell/test_shell_client.py
index 949608613..d3068f9ad 100644
--- a/tests/shell/test_shell_client.py
+++ b/tests/shell/test_shell_client.py
@@ -30,10 +30,6 @@ from tests.shell.util import get_impalad_host_port
 class TestShellClient(ImpalaTestSuite):
   """Tests for the Impala Shell clients: ImpalaBeeswaxClient and ImpalaHS2Client."""
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestShellClient, cls).add_test_dimensions()
diff --git a/tests/shell/test_shell_commandline.py b/tests/shell/test_shell_commandline.py
index 79669421f..d1350c5bf 100644
--- a/tests/shell/test_shell_commandline.py
+++ b/tests/shell/test_shell_commandline.py
@@ -146,10 +146,6 @@ class TestImpalaShell(ImpalaTestSuite):
      * Add a test for a kerberized impala.
   """
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestImpalaShell, cls).add_test_dimensions()
diff --git a/tests/shell/test_shell_commandline_jwt_auth.py b/tests/shell/test_shell_commandline_jwt_auth.py
index a685a9641..d21fe10a2 100644
--- a/tests/shell/test_shell_commandline_jwt_auth.py
+++ b/tests/shell/test_shell_commandline_jwt_auth.py
@@ -26,10 +26,6 @@ from tests.shell.util import run_impala_shell_cmd
 
 class TestImpalaShellJwtAuth(ImpalaTestSuite):
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     """Overrides all other add_dimension methods in super classes up the entire class
diff --git a/tests/shell/test_shell_commandline_kerberos_auth.py b/tests/shell/test_shell_commandline_kerberos_auth.py
index 3c302cfa5..af6c47fcb 100644
--- a/tests/shell/test_shell_commandline_kerberos_auth.py
+++ b/tests/shell/test_shell_commandline_kerberos_auth.py
@@ -30,10 +30,6 @@ from k5test import K5Realm
 
 class TestImpalaShellKerberosAuth(ImpalaTestSuite):
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     """Overrides all other add_dimension methods in super classes up the entire class
diff --git a/tests/shell/test_shell_interactive.py b/tests/shell/test_shell_interactive.py
index 87649ae66..5114b02f4 100755
--- a/tests/shell/test_shell_interactive.py
+++ b/tests/shell/test_shell_interactive.py
@@ -161,10 +161,6 @@ def http_503_server_extra():
 class TestImpalaShellInteractive(ImpalaTestSuite):
   """Test the impala shell interactively"""
 
-  @classmethod
-  def get_workload(self):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestImpalaShellInteractive, cls).add_test_dimensions()
diff --git a/tests/stress/test_update_stress.py b/tests/stress/test_update_stress.py
index 35b6b4135..06579f7b8 100644
--- a/tests/stress/test_update_stress.py
+++ b/tests/stress/test_update_stress.py
@@ -39,10 +39,6 @@ class TestIcebergV2UpdateStress(ImpalaTestSuite):
   BATCH_SIZES = [0, 32]
   EXHAUSTIVE_BATCH_SIZES = [0, 1, 11, 32]
 
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestIcebergV2UpdateStress, cls).add_test_dimensions()
diff --git a/tests/unittests/test_result_verifier.py b/tests/unittests/test_result_verifier.py
index 0663fc164..957084971 100644
--- a/tests/unittests/test_result_verifier.py
+++ b/tests/unittests/test_result_verifier.py
@@ -23,10 +23,6 @@ from tests.common.test_result_verifier import compute_aggregation
 
 # Unittest class for the test_result_verifier module.
 class TestResultVerifier(ImpalaTestSuite):
-  @classmethod
-  def get_workload(cls):
-    return 'functional-query'
-
   @classmethod
   def add_test_dimensions(cls):
     super(TestResultVerifier, cls).add_test_dimensions()