Skip to content

Commit 765cacd

Browse files
author
Commitfest Bot
committed
[CF 7313] v2 - Row contention in regress/parallel_schedule, adding multi-line test groups
This branch was automatically generated by a robot using patches from an email thread registered at: https://commitfest.postgresql.org/patch/7313 The branch will be overwritten each time a new patch version is posted to the thread, and also periodically to check for bitrot caused by changes on the master branch. Patch(es): https://www.postgresql.org/message-id/CAE8JnxPycpY5mk7C-rNa4jeMQQXG1H5mobB10Oa_CaQs1nBvUg@mail.gmail.com Author(s): Alexandre Felipe
2 parents 9e17d25 + f377661 commit 765cacd

2 files changed

Lines changed: 345 additions & 36 deletions

File tree

src/test/regress/parallel_schedule

Lines changed: 248 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -14,41 +14,135 @@ test: test_setup
1414
# ----------
1515
# The first group of parallel tests
1616
# ----------
17-
test: boolean char name varchar text int2 int4 int8 oid float4 float8 bit numeric txid uuid enum money rangetypes pg_lsn regproc
17+
test:
18+
boolean
19+
char
20+
name
21+
varchar
22+
text
23+
int2
24+
int4
25+
int8
26+
oid
27+
float4
28+
float8
29+
bit
30+
numeric
31+
txid
32+
uuid
33+
enum
34+
money
35+
rangetypes
36+
pg_lsn
37+
regproc
1838

1939
# ----------
2040
# The second group of parallel tests
2141
# multirangetypes depends on rangetypes
2242
# multirangetypes shouldn't run concurrently with type_sanity
2343
# ----------
24-
test: strings md5 numerology point lseg line box path polygon circle date time timetz timestamp timestamptz interval inet macaddr macaddr8 multirangetypes
44+
test:
45+
strings
46+
md5
47+
numerology
48+
point
49+
lseg
50+
line
51+
box
52+
path
53+
polygon
54+
circle
55+
date
56+
time
57+
timetz
58+
timestamp
59+
timestamptz
60+
interval
61+
inet
62+
macaddr
63+
macaddr8
64+
multirangetypes
2565

2666
# ----------
2767
# Another group of parallel tests
2868
# geometry depends on point, lseg, line, box, path, polygon, circle
2969
# horology depends on date, time, timetz, timestamp, timestamptz, interval
3070
# ----------
31-
test: geometry horology tstypes regex type_sanity opr_sanity misc_sanity comments expressions unicode xid mvcc database stats_import pg_ndistinct pg_dependencies oid8 encoding euc_kr
71+
test:
72+
geometry
73+
horology
74+
tstypes
75+
regex
76+
type_sanity
77+
opr_sanity
78+
misc_sanity
79+
comments
80+
expressions
81+
unicode
82+
xid
83+
mvcc
84+
database
85+
stats_import
86+
pg_ndistinct
87+
pg_dependencies
88+
oid8
89+
encoding
90+
euc_kr
3291

3392
# ----------
3493
# Load huge amounts of data
3594
# We should split the data files into single files and then
3695
# execute two copy tests in parallel, to check that copy itself
3796
# is concurrent safe.
3897
# ----------
39-
test: copy copyselect copydml copyencoding insert insert_conflict
98+
test:
99+
copy
100+
copyselect
101+
copydml
102+
copyencoding
103+
insert
104+
insert_conflict
40105

41106
# ----------
42107
# More groups of parallel tests
43108
# Note: many of the tests in later groups depend on create_index
44109
# ----------
45-
test: create_function_c create_misc create_operator create_procedure create_table create_type create_schema
46-
test: create_index create_index_spgist create_view index_including index_including_gist
110+
test:
111+
create_function_c
112+
create_misc
113+
create_operator
114+
create_procedure
115+
create_table
116+
create_type
117+
create_schema
118+
119+
test:
120+
create_index
121+
create_index_spgist
122+
create_view
123+
index_including
124+
index_including_gist
47125

48126
# ----------
49127
# Another group of parallel tests
50128
# ----------
51-
test: create_aggregate create_function_sql create_cast constraints triggers select inherit typed_table vacuum drop_if_exists updatable_views roleattributes create_am hash_func errors infinite_recurse
129+
test:
130+
create_aggregate
131+
create_function_sql
132+
create_cast
133+
constraints
134+
triggers
135+
select
136+
inherit
137+
typed_table
138+
vacuum
139+
drop_if_exists
140+
updatable_views
141+
roleattributes
142+
create_am
143+
hash_func
144+
errors
145+
infinite_recurse
52146

53147
# ----------
54148
# sanity_check does a vacuum, affecting the sort order of SELECT *
@@ -61,27 +155,89 @@ test: sanity_check
61155
# aggregates depends on create_aggregate
62156
# join depends on create_misc
63157
# ----------
64-
test: select_into select_distinct select_distinct_on select_implicit select_having subselect union case join aggregates transactions random portals arrays btree_index hash_index update delete namespace prepared_xacts
158+
test:
159+
select_into
160+
select_distinct
161+
select_distinct_on
162+
select_implicit
163+
select_having
164+
subselect
165+
union
166+
case
167+
join
168+
aggregates
169+
transactions
170+
random
171+
portals
172+
arrays
173+
btree_index
174+
hash_index
175+
update
176+
delete
177+
namespace
178+
prepared_xacts
65179

66180
# ----------
67181
# Another group of parallel tests
68182
# ----------
69-
test: brin gin gist spgist privileges init_privs security_label collate matview lock replica_identity rowsecurity object_address tablesample groupingsets drop_operator password identity generated_stored join_hash
183+
test:
184+
brin
185+
gin
186+
gist
187+
spgist
188+
privileges
189+
init_privs
190+
security_label
191+
collate
192+
matview
193+
lock
194+
replica_identity
195+
rowsecurity
196+
object_address
197+
tablesample
198+
groupingsets
199+
drop_operator
200+
password
201+
identity
202+
generated_stored
203+
join_hash
70204

71205
# ----------
72206
# Additional BRIN tests
73207
# ----------
74-
test: brin_bloom brin_multi
208+
test:
209+
brin_bloom
210+
brin_multi
75211

76212
# ----------
77213
# Another group of parallel tests
78214
# ----------
79-
test: create_table_like alter_generic alter_operator misc async dbsize merge misc_functions nls sysviews tsrf tid tidscan tidrangescan collate.utf8 collate.icu.utf8 incremental_sort create_role without_overlaps generated_virtual
215+
test:
216+
alter_generic alter_operator
217+
create_table_like
218+
create_role
219+
misc misc_functions
220+
async
221+
dbsize
222+
merge
223+
nls
224+
sysviews
225+
tsrf
226+
tid tidscan tidrangescan
227+
collate.utf8 collate.icu.utf8
228+
incremental_sort
229+
without_overlaps
230+
generated_virtual
80231

81232
# collate.linux.utf8 and collate.icu.utf8 tests cannot be run in parallel with each other
82233
# psql depends on create_am
83234
# amutils depends on geometry, create_index_spgist, hash_index, brin
84-
test: rules psql psql_crosstab psql_pipeline amutils stats_ext collate.linux.utf8 collate.windows.win1252
235+
test:
236+
amutils
237+
psql psql_crosstab psql_pipeline
238+
collate.linux.utf8 collate.windows.win1252
239+
rules
240+
stats_ext
85241

86242
# ----------
87243
# Run these alone so they don't run out of parallel workers
@@ -96,53 +252,123 @@ test: vacuum_parallel
96252
test: maintain_every
97253

98254
# no relation related tests can be put in this group
99-
test: publication subscription
255+
test:
256+
publication
257+
subscription
100258

101259
# ----------
102260
# Another group of parallel tests
103261
# select_views depends on create_view
104262
# ----------
105-
test: select_views portals_p2 foreign_key dependency guc bitmapops combocid tsearch tsdicts foreign_data window xmlmap functional_deps advisory_lock indirect_toast equivclass stats_rewrite
263+
test:
264+
select_views
265+
portals_p2
266+
foreign_key
267+
dependency
268+
guc
269+
bitmapops
270+
combocid
271+
tsearch
272+
tsdicts
273+
foreign_data
274+
window
275+
xmlmap
276+
functional_deps
277+
advisory_lock
278+
indirect_toast
279+
equivclass
280+
stats_rewrite
106281

107282
# ----------
108283
# Another group of parallel tests (JSON related)
109284
# ----------
110-
test: json jsonb json_encoding jsonpath jsonpath_encoding jsonb_jsonpath sqljson sqljson_queryfuncs sqljson_jsontable
285+
test:
286+
json
287+
jsonb
288+
json_encoding
289+
jsonpath
290+
jsonpath_encoding
291+
jsonb_jsonpath
292+
sqljson
293+
sqljson_queryfuncs
294+
sqljson_jsontable
111295

112296
# ----------
113297
# Another group of parallel tests
114298
# with depends on create_misc
115299
# NB: temp.sql does reconnects which transiently uses 2 connections,
116300
# so keep this parallel group to at most 19 tests
117301
# ----------
118-
test: plancache limit plpgsql copy2 temp domain rangefuncs prepare conversion truncate alter_table sequence polymorphism rowtypes returning largeobject with xml
302+
test:
303+
plancache
304+
limit
305+
plpgsql
306+
copy2
307+
temp
308+
domain
309+
rangefuncs
310+
prepare
311+
conversion
312+
truncate
313+
alter_table
314+
sequence
315+
polymorphism
316+
rowtypes
317+
returning
318+
largeobject
319+
with
320+
xml
119321

120322
# ----------
121323
# Another group of parallel tests
122324
#
123325
# The stats test resets stats, so nothing else needing stats access can be in
124326
# this group.
125327
# ----------
126-
test: partition_join partition_prune reloptions hash_part indexing partition_aggregate partition_info tuplesort explain memoize stats predicate numa eager_aggregate planner_est
328+
test:
329+
partition_join
330+
partition_prune
331+
reloptions
332+
hash_part
333+
indexing
334+
partition_aggregate
335+
partition_info
336+
tuplesort
337+
explain
338+
memoize
339+
stats
340+
predicate
341+
numa
342+
eager_aggregate
343+
planner_est
127344

128345
# ----------
129346
# Another group of parallel tests (compression)
130347
# ----------
131-
test: compression compression_lz4 compression_pglz cluster
348+
test:
349+
compression
350+
compression_lz4
351+
compression_pglz
352+
cluster
132353

133354
# event_trigger depends on create_am and cannot run concurrently with
134355
# any test that runs DDL
135356
# oidjoins is read-only, though, and should run late for best coverage
136-
test: oidjoins event_trigger
357+
test:
358+
oidjoins
359+
event_trigger
137360

138361

139362
# event_trigger_login cannot run concurrently with any other tests because
140363
# on-login event handling could catch connection of a concurrent test.
141-
test: event_trigger_login
364+
test:
365+
event_trigger_login
142366

143367
# this test also uses event triggers, so likewise run it by itself
144-
test: fast_default
368+
test:
369+
fast_default
145370

146371
# run tablespace test at the end because it drops the tablespace created during
147372
# setup that other tests may use.
148-
test: tablespace
373+
test:
374+
tablespace

0 commit comments

Comments
 (0)