greenplum_schedule 12.9 KB
Newer Older
1
# Greenplum-specific tests
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
#
# The order of the tests is fairly random, but there are a couple of things
# to consider when placing a new test:
#
# * Keep long-running tests in the same group with other tests with a similar
#   runtime. That way, on a multi-processor system, the tests will finish
#   roughly at the same time, which maximizes parallelism.
# * Keep tests together with other tests for similar functionality.
# * There are some dependencies between tests, and some tests cannot run
#   in parallel with other tests.
# * The maximum size of a group is about 20, like in the Postgres
#   parallel_schedule. However, some queries can dispatch a lot of workers
#   to the segments, and therefore has to run in smaller groups to avoid
#   hitting max_connections limit on segments.
#
17
# test reshuffle
18
test: reshuffle_helper
19
test: reshuffle reshuffle_ao reshuffle_aoco
W
Wang Hao 已提交
20 21 22 23 24 25

# enable query metrics cluster GUC
test: instr_in_shmem_setup
# run separately - because slot counter may influenced by other parallel queries
test: instr_in_shmem

H
Heikki Linnakangas 已提交
26
test: gp_tablespace gp_aggregates gp_metadata variadic_parameters default_parameters function_extensions spi gp_xml shared_scan update_gp returning_gp resource_queue_with_rule gp_types
27
test: spi_processed64bit
28
test: python_processed64bit
29

30
test: leastsquares opr_sanity_gp decode_expr bitmapscan bitmapscan_ao case_gp limit_gp notin percentile join_gp union_gp gpcopy gp_create_table gp_create_view window_views namespace_gp
31 32 33 34 35

# GPDB_94_MERGE_FIXME: explain_format test was dropped for below group. It's
# failing without asserts but passing with asserts. Need investigation for the
# reason, fixed and added back.
test: filter gpctas gpdist matrix toast sublink table_functions olap_setup complex opclass_ddl information_schema guc_env_var guc_gp gp_explain distributed_transactions
W
Wang Hao 已提交
36

X
xiong-gang 已提交
37 38 39
# bitmap_index triggers recovery, run it seperately
test: bitmap_index
test: gp_dump_query_oids analyze gp_owner_permission incremental_analyze
40
test: indexjoin as_alias regex_gp gpparams with_clause transient_types gp_rules
41
# dispatch should always run seperately from other cases.
42 43
test: dispatch

44 45 46
# interconnect tests
test: icudp/gp_interconnect_queue_depth icudp/gp_interconnect_queue_depth_longtime icudp/gp_interconnect_snd_queue_depth icudp/gp_interconnect_snd_queue_depth_longtime icudp/gp_interconnect_min_retries_before_timeout icudp/gp_interconnect_transmit_timeout icudp/gp_interconnect_cache_future_packets icudp/gp_interconnect_default_rtt icudp/gp_interconnect_fc_method icudp/gp_interconnect_hash_multiplier icudp/gp_interconnect_min_rto icudp/gp_interconnect_timer_checking_period icudp/gp_interconnect_timer_period icudp/queue_depth_combination_loss icudp/queue_depth_combination_capacity

47 48 49
# event triggers cannot run concurrently with any test that runs DDL
test: event_trigger_gp

50 51 52
# test partially distributed tables
test: partial_table

53 54 55
# deadlock tests run separately - because we don't know which one gets stuck.
test: deadlock

56
# test workfiles
57
test: workfile/hashagg_spill workfile/hashjoin_spill workfile/materialize_spill workfile/sisc_mat_sort workfile/sisc_sort_spill workfile/sort_spill workfile/spilltodisk
58 59 60 61
# test workfiles compressed using zlib
# 'zlib' utilizes fault injectors so it needs to be in a group by itself
test: zlib

W
Wang Hao 已提交
62 63 64
# Check for shmem leak for instrumentation slots before gpdb restart
test: instr_in_shmem_verify

65 66 67
# This test will change the gp_workfile_limit_per_segment and will need to restart the DB.
# It will also use faultinjector - so it needs to be in a group by itself.
test: segspace_setup
68
test: segspace
69
test: segspace_cleanup
70
test: cursor
71

72
# 'query_finish_pending' sets QueryFinishPending flag to true during query execution using fault injectors
73
# so it needs to be in a group by itself
74
test: query_finish_pending
75

76
test: gpdiffcheck gptokencheck gp_hashagg sequence_gp tidscan co_nestloop_idxscan dml_in_udf gpdtm_plpgsql
77

78 79 80 81
# The test must be run by itself as it injects a fault on QE to fail
# at the 2nd phase of 2PC.
test: dtm_retry

82 83
# The appendonly test cannot be run concurrently with tests that have
# serializable transactions (may conflict with AO vacuum operations).
84
test: rangefuncs_cdb gp_dqa subselect_gp subselect_gp2 gp_transactions olap_group olap_window_seq sirv_functions appendonly create_table_distpol alter_distpol_dropped query_finish
85

86
# 'partition' runs for a long time, so try to keep it together with other
87
# long-running tests.
88
test: partition partition1 partition_indexing parruleord partition_storage partition_ddl partition_with_user_defined_function
89 90 91
# 'partition_locking' gets confused if other backends run concurrently and
# hold locks.
test: partition_locking
92 93
test: vacuum_gp

A
Adam Lee 已提交
94
test: sreh
95 96 97 98 99

# Disabled tests. XXX: Why are these disabled?
#test: olap_window
#test: tpch500GB

B
Bhuvnesh Chaudhary 已提交
100 101 102 103 104
# gp_toolkit performs a vacuum and checks that it truncated the relation. That
# might not happen if other backends are holding transactions open, preventing
# vacuum from removing dead tuples.
test: gp_toolkit

105 106
test: db_size_functions

107 108 109 110 111
# FIXME: These tests no longer work, because they try to set
# gp_interconnect_type, which doesn't work:
# ERROR:  parameter "gp_interconnect_type" cannot be set after connection start

ignore: gp_portal_error
112
test: external_table external_table_create_privs column_compression eagerfree alter_table_aocs alter_table_aocs2 alter_distribution_policy aoco_privileges aocs
113
test: alter_table_set alter_table_gp alter_table_ao ao_create_alter_valid_table subtransaction_visibility oid_consistency udf_exception_blocks
114
test: ic
115

116 117
test: resource_queue
test: resource_queue_function
118
test: resource_queue_stat
119
test: resource_group
J
Jialun 已提交
120
test: resource_group_cpuset
121
test: resource_group_gucs
122
test: wrkloadadmin
123

124
test: gp_toolkit_ao_funcs trig auth_constraint role portals_updatable plpgsql_cache timeseries pg_stat_last_operation pg_stat_last_shoperation gp_numeric_agg partindex_test partition_pruning runtime_stats
125
test: rle rle_delta dsp not_out_of_shmem_exit_slots
126

127
# direct dispatch tests
128
test: direct_dispatch bfv_dd bfv_dd_multicolumn bfv_dd_types
129

130 131 132 133 134 135 136 137 138 139 140 141
# catalog test uses pg_get_constraintdef which may report ERROR when executed
# concurrently with other tests. Cause pg_get_constraintdef() looks up
# information on the constraint from the syscache, which uses SnapshotNow to
# fetch the information. But the query itself uses an MVCC snapshot. If the
# query's MVCC snapshot sees a constraint that is concurrently dropped so that
# it's not visible to SnapshotNow, you get error.
#
# This has been fixed in PostgreSQL 9.4, as part of a larger patch that relaxed
# locking requirements of ALTER TABLE
# (https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=e5550d5fec66aa74caad1f79b79826ec64898688)
test: catalog

142 143 144
test: bfv_catalog bfv_index bfv_olap bfv_aggregate bfv_partition bfv_partition_plans DML_over_joins gporca bfv_statistic
# NOTE: gporca_faults uses gp_fault_injector - so do not add to a parallel group
test: gporca_faults
145

146
test: aggregate_with_groupingsets 
147

148
test: nested_case_null sort bb_mpph
149
test: bb_memory_quota memconsumption
150

151
test: tuple_serialization
P
Pengzhou Tang 已提交
152
# Tests for replicated table
153
test: rpt rpt_joins rpt_tpch rpt_returning
154

155 156 157
# NOTE: The bfv_temp test assumes that there are no temporary tables in
# other sessions. Therefore the other tests in this group mustn't create
# temp tables
158
test: bfv_cte bfv_joins bfv_subquery bfv_planner bfv_legacy bfv_temp bfv_dml
159

160
test: qp_olap_mdqa qp_misc gp_recursive_cte qp_dml_joins qp_dml_oids trigger_sets_oid
161

162
test: qp_misc_jiras qp_with_clause qp_executor qp_olap_windowerr qp_olap_window qp_derived_table qp_bitmapscan qp_dropped_cols
163
test: qp_with_functional_inlining qp_with_functional_noinlining
164
test: qp_functions_in_contexts_setup
165
test: qp_misc_rio_join_small qp_misc_rio qp_correlated_query qp_targeted_dispatch qp_gist_indexes2 qp_gist_indexes3 qp_gist_indexes4 qp_query_execution qp_functions_in_from qp_functions_in_select qp_functions_in_subquery qp_functions_in_subquery_column qp_functions_in_subquery_constant qp_functions_in_with
166 167

test: dpe qp_dpe qp_subquery qp_left_anti_semi_join qp_union_intersect qp_functions qp_functions_idf qp_regexp qp_resource_queue qp_orca_fallback
168

169
test: olap_setup
170
test: qp_olap_group qp_olap_group2
171

172
test: hooktest partition_rank
173

W
Wang Hao 已提交
174 175 176
# Test query_info_collect_hook are called in expected sequence on normal query, query error/abort
test: query_info_hook_test

177
ignore: tpch500GB_orca
178

179
# Tests for "compaction", i.e. VACUUM, of updatable append-only tables
180
test: uao_compaction/full uao_compaction/outdated_partialindex uao_compaction/drop_column_update uao_compaction/eof_truncate uao_compaction/basic uao_compaction/outdatedindex uao_compaction/update_toast uao_compaction/outdatedindex_abort uao_compaction/delete_toast uao_compaction/alter_table_analyze uao_compaction/full_eof_truncate uao_compaction/full_threshold
181
# TODO find why these tests fail in parallel, for now keeping them sequential
182
test: uao_compaction/full_stats
183 184
test: uao_compaction/stats
test: uao_compaction/threshold
185 186 187
test: uao_compaction/index_stats
test: uao_compaction/index
test: uao_compaction/drop_column
188
test: uao_compaction/index2
189

190 191
# Tests for "compaction", i.e. VACUUM, of updatable append-only column oriented tables
test: uaocs_compaction/alter_table_analyze uaocs_compaction/basic uaocs_compaction/drop_column_update uaocs_compaction/eof_truncate uaocs_compaction/full uaocs_compaction/full_eof_truncate uaocs_compaction/full_threshold uaocs_compaction/outdated_partialindex uaocs_compaction/outdatedindex uaocs_compaction/outdatedindex_abort
192
# TODO find why these tests fail in parallel, for now keeping them sequential
193 194 195 196 197 198
test: uaocs_compaction/full_stats
test: uaocs_compaction/stats
test: uaocs_compaction/threshold
test: uaocs_compaction/index_stats
test: uaocs_compaction/index
test: uaocs_compaction/drop_column
199

200
test: uao_ddl/cursor_row uao_ddl/cursor_column uao_ddl/alter_ao_table_statistics_row uao_ddl/analyze_ao_table_every_dml_row uao_ddl/analyze_ao_table_every_dml_column uao_ddl/alter_ao_table_statistics_column uao_ddl/alter_ao_table_setdefault_row uao_ddl/alter_ao_table_index_row uao_ddl/alter_ao_table_owner_column
201
test: uao_ddl/alter_ao_table_owner_row uao_ddl/alter_ao_table_setstorage_row uao_ddl/alter_ao_table_constraint_row uao_ddl/alter_ao_table_constraint_column uao_ddl/alter_ao_table_index_column uao_ddl/blocksize_row uao_ddl/compresstype_column uao_ddl/alter_ao_table_setdefault_column uao_ddl/blocksize_column uao_ddl/temp_on_commit_delete_rows_row uao_ddl/temp_on_commit_delete_rows_column
202 203 204 205
# Do not add the two uao*_catalog_tables tests to a group that runs
# serializable transactions.  They run VACUUM FULL on append-optimized
# tables and assume that no AWAITING_DROP segfiles exist at the end of
# VACUUM FULL.
206 207
test: uao_catalog_tables uaocs_catalog_tables uao_ddl/alter_ao_table_setstorage_column uao_ddl/alter_ao_table_col_ddl_row uao_ddl/compresstype_row uao_ddl/alter_ao_table_col_ddl_column uao_ddl/alter_ao_part_tables_splitpartition_row uao_ddl/alter_ao_part_tables_splitpartition_column uao_ddl/create_ao_tables_row uao_ddl/create_ao_table_500cols_row uao_ddl/create_ao_tables_column uao_ddl/alter_ao_part_exch_row
test: uao_ddl/alter_ao_part_exch_column uao_ddl/alter_ao_part_tables_row uao_ddl/create_ao_table_500cols_column uao_ddl/alter_ao_part_tables_column
208

209
test: uao_ddl/alter_drop_allcol_row uao_ddl/alter_drop_allcol_column uao_ddl/alter_rollback_row uao_ddl/alter_rollback_column uao_ddl/uao_allalter_row uao_ddl/uao_allalter_column uao_col/alter_ao_table_oid_column uao_row/alter_ao_table_oid_row
210

211 212 213 214 215 216
# These tests use gp_select_invisible and VACUUM, and will get confused if there are
# concurrent transactions holding back the global xmin.
test: uao_dml/uao_dml_row
test: uao_dml/uao_dml_column
test: uao_dml/uao_dml_cursor_row uao_dml/uao_dml_select_row uao_dml/uao_dml_cursor_column uao_dml/uao_dml_select_column

217
test: ao_locks
218
test: freeze_aux_tables
219

220 221 222 223 224 225 226 227
# These cannot run in parallel, because they check that VACUUM FULL shrinks table size.
# A concurrent session could hold back the xid horizon and prevent old tuples from being
# removed.
test: vacuum_full_ao
test: vacuum_full_freeze_heap
test: vacuum_full_heap
test: vacuum_full_heap_bitmapindex

228
test: ao_checksum_corruption AOCO_Compression2 table_statistics fts_error
229
test: metadata_track
230
test: workfile_mgr_test
231
test: session_reset
232

233
test: psql_gp_commands pg_resetxlog dropdb_check_shared_buffer_cache
234

W
Wang Hao 已提交
235 236 237
# Check for shmem leak for instrumentation slots
test: instr_in_shmem_verify

238 239 240 241 242
# This cannot run in parallel because other tests could increment the Oid
# counters and make the Oid counter observations hardcoded in the answer file
# incorrect.
test: oid_wraparound

243 244 245
# fts_recovery_in_progresss uses fault injectors to simulate FTS fault states,
# hence it should be run in isolation.
test: fts_recovery_in_progress
246 247
test: autovacuum-template0

248 249
# Online expand introduce the partial tables, check them if they can run correctly
test: gangsize
250 251 252 253 254 255
# This test uses fault injectors in abort transaction workflow.  It
# may be run in parallel with other tests as long as they don't abort
# a transaction where mult-slice query was executed and the writer was
# assigned a transaction ID.
test: writer_aborts_reader

256
# end of tests