Riza Suminto created IMPALA-14078:
-------------------------------------

             Summary: Reorganize test_ranger.py to share minicluster
                 Key: IMPALA-14078
                 URL: https://issues.apache.org/jira/browse/IMPALA-14078
             Project: IMPALA
          Issue Type: Task
            Reporter: Riza Suminto


test_ranger.py is a custom cluster test consisting of 41 test methods. Each 
method will require minicluster restart. With IMPALA-13503, we can reorganize 
TestRanger class into 3 separate test class: TestRangerIndependent, 
TestRangerLegacyCatalog, and TestRangerLocalCatalog. Both 
TestRangerLegacyCatalog and TestRangerLocalCatalog can maintain the same 
minicluster without restarting it in between.

The following is the new organization that I propose:
{noformat}
collected 41 items
<Module 'authorization/test_ranger.py'>
  <Class 'TestRangerIndependent'>
    <Instance '()'>
      <Function 'test_xff_ranger_audit'>
      <Function 'test_show_grant_hive_privilege'>
      <Function 'test_grant_multiple_columns'>
      <Function 'test_grant_multiple_columns_consolidate_grant_revoke_requests'>
      <Function 'test_alter_owner_hms_event_sync'>
      <Function 'test_allow_metadata_update'>
      <Function 'test_allow_metadata_update_local_catalog'>
      <Function "test_hive_with_ranger_setup[protocol: hs2 | table_format: 
text/none | exec_option: {'test_replan': 1, 'batch_size': 0, 'num_nodes': 0, 
'disable_codegen_rows_threshold': 0, 'disable_codegen': False, 
'abort_on_error': 1, 'exec_single_node_rows_threshold': 0}]">
      <Function "test_grant_revoke_with_role[protocol: hs2 | table_format: 
text/none | exec_option: {'test_replan': 1, 'batch_size': 0, 'num_nodes': 0, 
'disable_codegen_rows_threshold': 0, 'disable_codegen': False, 
'abort_on_error': 1, 'exec_single_node_rows_threshold': 0}]">
      <Function 'test_no_exception_in_show_roles_if_no_roles_in_ranger'>
  <Class 'TestRangerLegacyCatalog'>
    <Instance '()'>
      <Function 'test_grant_revoke_with_catalog_v1'>
      <Function 'test_insert_with_catalog_v1'>
      <Function 'test_load_data_with_catalog_v1'>
      <Function 'test_grant_option'>
      <Function 'test_show_grant'>
      <Function 'test_grant_revoke_ranger_api'>
      <Function 'test_legacy_catalog_ownership'>
      <Function 'test_grant_revoke_by_owner_legacy_catalog'>
      <Function 'test_unsupported_sql'>
      <Function 'test_grant_revoke_invalid_principal'>
      <Function 'test_show_functions'>
      <Function 'test_select_function'>
      <Function 'test_select_function_with_fallback_db'>
      <Function "test_column_masking[protocol: hs2 | table_format: text/none | 
exec_option: {'test_replan': 1, 'batch_size': 0, 'num_nodes': 0, 
'disable_codegen_rows_threshold': 0, 'disable_codegen': False, 
'abort_on_error': 1, 'exec_single_node_rows_threshold': 0}]">
      <Function 'test_block_metadata_update'>
      <Function "test_masking_overload_coverage[protocol: hs2 | table_format: 
text/none | exec_option: {'test_replan': 1, 'batch_size': 0, 'num_nodes': 0, 
'disable_codegen_rows_threshold': 0, 'disable_codegen': False, 
'abort_on_error': 1, 'exec_single_node_rows_threshold': 0}]">
      <Function "test_row_filtering[protocol: hs2 | table_format: text/none | 
exec_option: {'test_replan': 1, 'batch_size': 0, 'num_nodes': 0, 
'disable_codegen_rows_threshold': 0, 'disable_codegen': False, 
'abort_on_error': 1, 'exec_single_node_rows_threshold': 0}]">
      <Function "test_column_masking_and_row_filtering[protocol: hs2 | 
table_format: text/none | exec_option: {'test_replan': 1, 'batch_size': 0, 
'num_nodes': 0, 'disable_codegen_rows_threshold': 0, 'disable_codegen': False, 
'abort_on_error': 1, 'exec_single_node_rows_threshold': 0}]">
      <Function 'test_iceberg_time_travel_with_masking'>
      <Function 'test_convert_table_to_iceberg'>
      <Function 'test_iceberg_metadata_table_privileges'>
      <Function 'test_profile_protection'>
      <Function 'test_select_view_created_by_non_superuser_with_catalog_v1'>
  <Class 'TestRangerLocalCatalog'>
    <Instance '()'>
      <Function 'test_grant_revoke_with_local_catalog'>
      <Function 'test_local_catalog_ownership'>
      <Function 'test_grant_revoke_by_owner_local_catalog'>
      <Function 'test_select_view_created_by_non_superuser_with_local_catalog'>
  <Class 'TestRangerColumnMaskingTpchNested'>
    <Instance '()'>
      <Function "test_tpch_nested_column_masking[protocol: hs2 | table_format: 
parquet/none | exec_option: {'test_replan': 1, 'batch_size': 0, 'num_nodes': 0, 
'disable_codegen_rows_threshold': 0, 'disable_codegen': True, 'abort_on_error': 
1, 'exec_single_node_rows_threshold': 0}]">
      <Function "test_tpch_nested_column_masking[protocol: hs2 | table_format: 
parquet/none | exec_option: {'test_replan': 1, 'batch_size': 0, 'num_nodes': 0, 
'disable_codegen_rows_threshold': 0, 'disable_codegen': False, 
'abort_on_error': 1, 'exec_single_node_rows_threshold': 0}]">
  <Class 'TestRangerColumnMaskingComplexTypesInSelectList'>
    <Instance '()'>
      <Function "test_column_masking_with_structs_in_select_list[protocol: hs2 
| table_format: orc/def/block | exec_option: {'test_replan': 1, 'batch_size': 
0, 'num_nodes': 0, 'disable_codegen_rows_threshold': 0, 'disable_codegen': 
True, 'abort_on_error': 1, 'exec_single_node_rows_threshold': 0}]">
      <Function "test_column_masking_with_structs_in_select_list[protocol: hs2 
| table_format: orc/def/block | exec_option: {'test_replan': 1, 'batch_size': 
0, 'num_nodes': 0, 'disable_codegen_rows_threshold': 0, 'disable_codegen': 
False, 'abort_on_error': 1, 'exec_single_node_rows_threshold': 0}]">{noformat}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to