Thread
Commits
-
Clean up duplicate table and function names in regression tests.
- b15a8c963268 10.4 landed
- 2cf8c7aa4855 11.0 landed
-
Clean up duplicate role and schema names in regression tests.
- fb7db40ad26c 11.0 landed
- c484134a53d3 10.4 landed
-
Instability in parallel regression tests
Tom Lane <tgl@sss.pgh.pa.us> — 2018-03-14T23:31:08Z
guaibasaurus just failed in a way I'd not seen before: https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=guaibasaurus&dt=2018-03-14%2006%3A33%3A01 Inspection of the diffs makes it depressingly obvious what happened: the concurrently-executing "alter_table" and "with" scripts both create short-lived tables named "test". Given the right timing, those tests stomp on each other. This seems to have been there a long time; surprising we'd not noticed it before. Moral: choose names less generic than "test" for globally-visible objects. I wonder if there's some way we could check for such conflicts automatically? regards, tom lane
-
Re: Instability in parallel regression tests
Thomas Munro <thomas.munro@enterprisedb.com> — 2018-03-15T01:57:47Z
On Thu, Mar 15, 2018 at 12:31 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > guaibasaurus just failed in a way I'd not seen before: > > https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=guaibasaurus&dt=2018-03-14%2006%3A33%3A01 > > Inspection of the diffs makes it depressingly obvious what happened: > the concurrently-executing "alter_table" and "with" scripts both create > short-lived tables named "test". Given the right timing, those tests > stomp on each other. This seems to have been there a long time; > surprising we'd not noticed it before. > > Moral: choose names less generic than "test" for globally-visible > objects. I wonder if there's some way we could check for such > conflicts automatically? Ugh. Yeah. Non-temporary table and view names used in more than one .sql file: $ ( for F in src/test/regress/sql/*.sql ; do perl -ne '/create *(table|view) ([^ (]+)/i && print "$2\n";' < $F | sort | uniq ; done ) | sort | uniq -d IF abc as bar bmscantest c1 child collate_dep_test1 collate_dep_test3 collate_dep_test4t collate_test1 collate_test10 collate_test2 collate_test3 collate_test4 collate_test5 collate_test6 collate_test_fail collate_test_like collview1 collview2 collview3 fail_part foo foo2 hash_parted hpart1 hpart2 hpart3 hpart_1 hpart_2 list_parted list_parted2 list_parted2_def mcrparted mcrparted0 mcrparted1 mcrparted2 mcrparted3 mcrparted4 mcrparted5 num_data num_exp_add num_exp_div num_exp_ln num_exp_log10 num_exp_mul num_exp_power_10_ln num_exp_sqrt num_exp_sub num_result p1 p2 parent part1 part2 part3 part4 part_1 part_2 part_def part_default part_null partitioned pt1 range_parted range_parted2 t1 t2 t3 table1 table2 tbl1 test test1 test_u tmp toasttest tt1 tt2 tt3 tt4 tt5 tt6 tt7 tt8 tx1 unparted v1 v2 -- Thomas Munro http://www.enterprisedb.com
-
Re: Instability in parallel regression tests
Tom Lane <tgl@sss.pgh.pa.us> — 2018-03-15T02:32:10Z
Thomas Munro <thomas.munro@enterprisedb.com> writes: > On Thu, Mar 15, 2018 at 12:31 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: >> Moral: choose names less generic than "test" for globally-visible >> objects. I wonder if there's some way we could check for such >> conflicts automatically? > Ugh. Yeah. Non-temporary table and view names used in more than one .sql file: > $ ( for F in src/test/regress/sql/*.sql ; do perl -ne '/create > *(table|view) ([^ (]+)/i && print "$2\n";' < $F | sort | uniq ; done ) > | sort | uniq -d I've just been investigating this a different way, which is to insert some quick-hack logging (patch attached for amusement). I manually filtered out a bunch of non-problems, in particular discarding names that are in per-test schemas; I think it's all right to allow tests that are taking that precaution to do what they like name-wise. I'm still left with a bunch of stuff that looks ill-considered. It's worth singling out the partitioned-table work, in particular, as deserving of an F on this test. Those patches have shown no hesitation about using the same public-schema table names in three or four different test scripts. It happens that most of that is in create_table, alter_table, insert, and update, which happen not to run concurrently; but I don't think those tests have any business depending on that. Other thoughts: * We should simply ban the use of "foo", "bar", "baz", "test...", and "tmp..." as names; at least, don't do that without adding a prefix or suffix that is unique to the particular test script. * The prefix "my_" is not yours. * We have a project policy that role names created during the tests should start with "regress_". Obey that, but don't imagine that doing so is enough to make your name unique. Actual or potential trouble spots according to my filtering: [alter_table] LOG: CREATING FUNCTION 2200/dummy_hashint4 [insert] LOG: CREATING FUNCTION 2200/dummy_hashint4 [update] LOG: CREATING FUNCTION 2200/dummy_hashint4 [rangefuncs] LOG: CREATING FUNCTION 2200/foo [rangefuncs] LOG: CREATING FUNCTION 2200/foo [rangefuncs] LOG: CREATING FUNCTION 2200/foo [rangefuncs] LOG: CREATING FUNCTION 2200/foo [rangefuncs] LOG: CREATING FUNCTION 2200/foo1 [rangefuncs] LOG: CREATING FUNCTION 2200/foo_mat [rangefuncs] LOG: CREATING FUNCTION 2200/foo_sql [rangefuncs] LOG: CREATING FUNCTION 2200/foob [rangefuncs] LOG: CREATING FUNCTION 2200/foobar [rangefuncs] LOG: CREATING FUNCTION 2200/foobar [select_parallel] LOG: CREATING FUNCTION 2200/foobar [rangefuncs] LOG: CREATING FUNCTION 2200/foor [rangefuncs] LOG: CREATING FUNCTION 2200/foot [plpgsql] LOG: CREATING FUNCTION 2200/footest [plpgsql] LOG: CREATING FUNCTION 2200/footest [plpgsql] LOG: CREATING FUNCTION 2200/simple_func [select_parallel] LOG: CREATING FUNCTION 2200/simple_func [create_aggregate] LOG: CREATING FUNCTION 2200/sum3 [polymorphism] LOG: CREATING FUNCTION 2200/sum3 [create_function_1] LOG: CREATING FUNCTION 2200/test1 [create_function_1] LOG: CREATING FUNCTION 2200/test1 [create_function_1] LOG: CREATING FUNCTION 2200/test1 [create_function_1] LOG: CREATING FUNCTION 2200/test1 [create_function_1] LOG: CREATING FUNCTION 2200/test1 [create_function_1] LOG: CREATING FUNCTION 2200/test1 [create_function_1] LOG: CREATING FUNCTION 2200/test1 [privileges] LOG: CREATING FUNCTION 2200/testagg1 [rolenames] LOG: CREATING FUNCTION 2200/testagg1 [privileges] LOG: CREATING FUNCTION 2200/testagg1b [rolenames] LOG: CREATING FUNCTION 2200/testagg2 [rolenames] LOG: CREATING FUNCTION 2200/testagg3 [rolenames] LOG: CREATING FUNCTION 2200/testagg4 [rolenames] LOG: CREATING FUNCTION 2200/testagg5 [rolenames] LOG: CREATING FUNCTION 2200/testagg6 [rolenames] LOG: CREATING FUNCTION 2200/testagg7 [rolenames] LOG: CREATING FUNCTION 2200/testagg8 [rolenames] LOG: CREATING FUNCTION 2200/testagg9 would be a live hazard, except the functions have different arguments: [polymorphism] LOG: CREATING FUNCTION 2200/testfoo [polymorphism] LOG: CREATING FUNCTION 2200/testfoo [rangefuncs] LOG: CREATING FUNCTION 2200/testfoo [rangefuncs] LOG: CREATING FUNCTION 2200/testfoo [create_procedure] LOG: CREATING FUNCTION 2200/testfunc1 [privileges] LOG: CREATING FUNCTION 2200/testfunc1 [privileges] LOG: CREATING FUNCTION 2200/testfunc2 [privileges] LOG: CREATING FUNCTION 2200/testfunc4 [privileges] LOG: CREATING FUNCTION 2200/testfunc5b [privileges] LOG: CREATING FUNCTION 2200/testfunc6b [select_into] LOG: CREATING RELATION 102018/tmp1 [select_into] LOG: CREATING RELATION 102018/tmp1 [select_into] LOG: CREATING RELATION 102018/tmp2 [select_into] LOG: CREATING RELATION 102018/tmp2 [select_into] LOG: CREATING RELATION 102018/tmp3 [select_into] LOG: CREATING RELATION 102018/tmp3 [alter_table] LOG: CREATING RELATION 2200/atacc1 [constraints] LOG: CREATING RELATION 2200/atacc1 [constraints] LOG: CREATING RELATION 2200/atacc1 [alter_table] LOG: CREATING RELATION 2200/atacc1_id_seq [constraints] LOG: CREATING RELATION 2200/atacc2 [constraints] LOG: CREATING RELATION 2200/atacc2 [alter_table] LOG: CREATING RELATION 2200/atacc2_id_key live hazard: [join] LOG: CREATING RELATION 2200/bar [transactions] LOG: CREATING RELATION 2200/bar [transactions] LOG: CREATING RELATION 2200/barbaz [transactions] LOG: CREATING RELATION 2200/baz [bitmapops] LOG: CREATING RELATION 2200/bmscantest [select_parallel] LOG: CREATING RELATION 2200/bmscantest [alter_table] LOG: CREATING RELATION 2200/c1 [alter_table] LOG: CREATING RELATION 2200/c1 [alter_table] LOG: CREATING RELATION 2200/c1 [alter_table] LOG: CREATING RELATION 2200/c1 [alter_table] LOG: CREATING RELATION 2200/c1 [inherit] LOG: CREATING RELATION 2200/c1 [inherit] LOG: CREATING RELATION 2200/c1 [inherit] LOG: CREATING RELATION 2200/c1 [inherit] LOG: CREATING RELATION 2200/c2 [inherit] LOG: CREATING RELATION 2200/c2 [inherit] LOG: CREATING RELATION 2200/c3 [alter_table] LOG: CREATING RELATION 2200/child [alter_table] LOG: CREATING RELATION 2200/child [alter_table] LOG: CREATING RELATION 2200/child [triggers] LOG: CREATING RELATION 2200/child [triggers] LOG: CREATING RELATION 2200/child [triggers] LOG: CREATING RELATION 2200/child1 [triggers] LOG: CREATING RELATION 2200/child1 [triggers] LOG: CREATING RELATION 2200/child2 [triggers] LOG: CREATING RELATION 2200/child2 [triggers] LOG: CREATING RELATION 2200/child3 [triggers] LOG: CREATING RELATION 2200/child3 [alter_table] LOG: CREATING RELATION 2200/child_noinh_convalid [arrays] LOG: CREATING RELATION 2200/comptable [arrays] LOG: CREATING RELATION 2200/comptype [domain] LOG: CREATING RELATION 2200/comptype [domain] LOG: CREATING RELATION 2200/comptype [domain] LOG: CREATING RELATION 2200/comptype [alter_table] LOG: CREATING RELATION 2200/fail_part [alter_table] LOG: CREATING RELATION 2200/fail_part [create_table] LOG: CREATING RELATION 2200/fail_part [create_table] LOG: CREATING RELATION 2200/fail_part [create_table] LOG: CREATING RELATION 2200/fail_part_col_not_found live hazard join vs transactions: [join] LOG: CREATING RELATION 2200/foo [rangefuncs] LOG: CREATING RELATION 2200/foo [rules] LOG: CREATING RELATION 2200/foo [transactions] LOG: CREATING RELATION 2200/foo [rangefuncs] LOG: CREATING RELATION 2200/foo2 [rangefuncs] LOG: CREATING RELATION 2200/foo2 [rules] LOG: CREATING RELATION 2200/foo2 [rangefuncs] LOG: CREATING RELATION 2200/foo_pkey [rangefuncs] LOG: CREATING RELATION 2200/foo_rescan_t [sequence] LOG: CREATING RELATION 2200/foo_seq [transactions] LOG: CREATING RELATION 2200/foobar [rules] LOG: CREATING RELATION 2200/fooview [rules] LOG: CREATING RELATION 2200/fooview [rules] LOG: CREATING RELATION 2200/fooview [rules] LOG: CREATING RELATION 2200/fooview_part [alter_table] LOG: CREATING RELATION 2200/hash_parted [create_table] LOG: CREATING RELATION 2200/hash_parted [insert] LOG: CREATING RELATION 2200/hash_parted [update] LOG: CREATING RELATION 2200/hash_parted [create_table] LOG: CREATING RELATION 2200/hash_parted2 [insert] LOG: CREATING RELATION 2200/hpart0 [insert] LOG: CREATING RELATION 2200/hpart1 [update] LOG: CREATING RELATION 2200/hpart1 [insert] LOG: CREATING RELATION 2200/hpart2 [update] LOG: CREATING RELATION 2200/hpart2 [insert] LOG: CREATING RELATION 2200/hpart3 [update] LOG: CREATING RELATION 2200/hpart3 [update] LOG: CREATING RELATION 2200/hpart4 [alter_table] LOG: CREATING RELATION 2200/hpart_1 [create_table] LOG: CREATING RELATION 2200/hpart_1 [alter_table] LOG: CREATING RELATION 2200/hpart_2 [create_table] LOG: CREATING RELATION 2200/hpart_2 [create_table] LOG: CREATING RELATION 2200/hpart_3 [alter_table] LOG: CREATING RELATION 2200/hpart_5 [alter_table] LOG: CREATING RELATION 2200/hpart_5_a [update] LOG: CREATING RELATION 2200/list_part1 [update] LOG: CREATING RELATION 2200/list_part1 [plancache] LOG: CREATING RELATION 2200/list_part_1 [plancache] LOG: CREATING RELATION 2200/list_part_2 [plancache] LOG: CREATING RELATION 2200/list_part_def [plancache] LOG: CREATING RELATION 2200/list_part_null [alter_table] LOG: CREATING RELATION 2200/list_parted [create_table] LOG: CREATING RELATION 2200/list_parted [inherit] LOG: CREATING RELATION 2200/list_parted [insert] LOG: CREATING RELATION 2200/list_parted [insert] LOG: CREATING RELATION 2200/list_parted [plancache] LOG: CREATING RELATION 2200/list_parted [update] LOG: CREATING RELATION 2200/list_parted [update] LOG: CREATING RELATION 2200/list_parted [alter_table] LOG: CREATING RELATION 2200/list_parted2 [create_table] LOG: CREATING RELATION 2200/list_parted2 [alter_table] LOG: CREATING RELATION 2200/list_parted2_def [create_table] LOG: CREATING RELATION 2200/list_parted2_def [inherit] LOG: CREATING RELATION 2200/mcrparted [insert] LOG: CREATING RELATION 2200/mcrparted [insert] LOG: CREATING RELATION 2200/mcrparted [inherit] LOG: CREATING RELATION 2200/mcrparted0 [insert] LOG: CREATING RELATION 2200/mcrparted0 [insert] LOG: CREATING RELATION 2200/mcrparted0 [inherit] LOG: CREATING RELATION 2200/mcrparted1 [insert] LOG: CREATING RELATION 2200/mcrparted1 [insert] LOG: CREATING RELATION 2200/mcrparted1_lt_b [inherit] LOG: CREATING RELATION 2200/mcrparted2 [insert] LOG: CREATING RELATION 2200/mcrparted2 [insert] LOG: CREATING RELATION 2200/mcrparted2 [insert] LOG: CREATING RELATION 2200/mcrparted2_b [inherit] LOG: CREATING RELATION 2200/mcrparted3 [insert] LOG: CREATING RELATION 2200/mcrparted3 [insert] LOG: CREATING RELATION 2200/mcrparted3_c_to_common [inherit] LOG: CREATING RELATION 2200/mcrparted4 [insert] LOG: CREATING RELATION 2200/mcrparted4 [insert] LOG: CREATING RELATION 2200/mcrparted4 [insert] LOG: CREATING RELATION 2200/mcrparted4_common_lt_0 [inherit] LOG: CREATING RELATION 2200/mcrparted5 [insert] LOG: CREATING RELATION 2200/mcrparted5 [insert] LOG: CREATING RELATION 2200/mcrparted5_common_0_to_10 [insert] LOG: CREATING RELATION 2200/mcrparted6_common_ge_10 [insert] LOG: CREATING RELATION 2200/mcrparted7_gt_common_lt_d [insert] LOG: CREATING RELATION 2200/mcrparted8_ge_d [inherit] LOG: CREATING RELATION 2200/mcrparted_def [insert] LOG: CREATING RELATION 2200/mlparted [insert] LOG: CREATING RELATION 2200/mlparted1 [insert] LOG: CREATING RELATION 2200/mlparted11 [insert] LOG: CREATING RELATION 2200/mlparted12 [insert] LOG: CREATING RELATION 2200/mlparted2 [insert] LOG: CREATING RELATION 2200/mlparted3 [insert] LOG: CREATING RELATION 2200/mlparted4 [insert] LOG: CREATING RELATION 2200/mlparted5 [insert] LOG: CREATING RELATION 2200/mlparted5a [insert] LOG: CREATING RELATION 2200/mlparted_def [insert] LOG: CREATING RELATION 2200/mlparted_def1 [insert] LOG: CREATING RELATION 2200/mlparted_def2 [insert] LOG: CREATING RELATION 2200/mlparted_defd [inherit] LOG: CREATING RELATION 2200/mlparted_tab [inherit] LOG: CREATING RELATION 2200/mlparted_tab_part1 [inherit] LOG: CREATING RELATION 2200/mlparted_tab_part2 [inherit] LOG: CREATING RELATION 2200/mlparted_tab_part2a [inherit] LOG: CREATING RELATION 2200/mlparted_tab_part2b [inherit] LOG: CREATING RELATION 2200/mlparted_tab_part3 [alter_table] LOG: CREATING RELATION 2200/p [alter_table] LOG: CREATING RELATION 2200/p1 [alter_table] LOG: CREATING RELATION 2200/p1 [alter_table] LOG: CREATING RELATION 2200/p1 [alter_table] LOG: CREATING RELATION 2200/p1 [alter_table] LOG: CREATING RELATION 2200/p1 [alter_table] LOG: CREATING RELATION 2200/p1 [alter_table] LOG: CREATING RELATION 2200/p1 [inherit] LOG: CREATING RELATION 2200/p1 [inherit] LOG: CREATING RELATION 2200/p1 [inherit] LOG: CREATING RELATION 2200/p1 [inherit] LOG: CREATING RELATION 2200/p1 [alter_table] LOG: CREATING RELATION 2200/p11 [inherit] LOG: CREATING RELATION 2200/p1_c1 [alter_table] LOG: CREATING RELATION 2200/p2 [inherit] LOG: CREATING RELATION 2200/p2 [inherit] LOG: CREATING RELATION 2200/p2 [alter_table] LOG: CREATING RELATION 2200/parent [alter_table] LOG: CREATING RELATION 2200/parent [alter_table] LOG: CREATING RELATION 2200/parent [alter_table] LOG: CREATING RELATION 2200/parent [triggers] LOG: CREATING RELATION 2200/parent [triggers] LOG: CREATING RELATION 2200/parent [triggers] LOG: CREATING RELATION 2200/parent [triggers] LOG: CREATING RELATION 2200/parent [triggers] LOG: CREATING RELATION 2200/parent_b_idx [alter_table] LOG: CREATING RELATION 2200/parent_noinh_convalid [create_table] LOG: CREATING RELATION 2200/part0 [create_table] LOG: CREATING RELATION 2200/part00 [alter_table] LOG: CREATING RELATION 2200/part1 [create_table] LOG: CREATING RELATION 2200/part1 [insert] LOG: CREATING RELATION 2200/part1 [create_table] LOG: CREATING RELATION 2200/part10 [create_table] LOG: CREATING RELATION 2200/part11 [create_table] LOG: CREATING RELATION 2200/part12 [alter_table] LOG: CREATING RELATION 2200/part2 [create_table] LOG: CREATING RELATION 2200/part2 [insert] LOG: CREATING RELATION 2200/part2 [create_table] LOG: CREATING RELATION 2200/part2_1 [alter_table] LOG: CREATING RELATION 2200/part3 [create_table] LOG: CREATING RELATION 2200/part3 [insert] LOG: CREATING RELATION 2200/part3 [create_table] LOG: CREATING RELATION 2200/part4 [insert] LOG: CREATING RELATION 2200/part4 [alter_table] LOG: CREATING RELATION 2200/part5_def [alter_table] LOG: CREATING RELATION 2200/part5_def_p1 [alter_table] LOG: CREATING RELATION 2200/part5_p1 [alter_table] LOG: CREATING RELATION 2200/part_1 [create_table] LOG: CREATING RELATION 2200/part_1 [inherit] LOG: CREATING RELATION 2200/part_10_20 [inherit] LOG: CREATING RELATION 2200/part_10_20_ab [inherit] LOG: CREATING RELATION 2200/part_10_20_cd [inherit] LOG: CREATING RELATION 2200/part_1_10 [inherit] LOG: CREATING RELATION 2200/part_1_10_ab [inherit] LOG: CREATING RELATION 2200/part_1_10_cd [alter_table] LOG: CREATING RELATION 2200/part_2 [create_table] LOG: CREATING RELATION 2200/part_2 [inherit] LOG: CREATING RELATION 2200/part_21_30 [inherit] LOG: CREATING RELATION 2200/part_21_30_ab [inherit] LOG: CREATING RELATION 2200/part_21_30_cd [alter_table] LOG: CREATING RELATION 2200/part_3 [alter_table] LOG: CREATING RELATION 2200/part_3_4 [inherit] LOG: CREATING RELATION 2200/part_40_inf [inherit] LOG: CREATING RELATION 2200/part_40_inf_ab [inherit] LOG: CREATING RELATION 2200/part_40_inf_cd [inherit] LOG: CREATING RELATION 2200/part_40_inf_null [alter_table] LOG: CREATING RELATION 2200/part_5 [alter_table] LOG: CREATING RELATION 2200/part_55_66 [alter_table] LOG: CREATING RELATION 2200/part_5_a [alter_table] LOG: CREATING RELATION 2200/part_6 [alter_table] LOG: CREATING RELATION 2200/part_7 [alter_table] LOG: CREATING RELATION 2200/part_7_a_null [create_table] LOG: CREATING RELATION 2200/part_a [update] LOG: CREATING RELATION 2200/part_a_10_a_20 [update] LOG: CREATING RELATION 2200/part_a_1_a_10 [insert] LOG: CREATING RELATION 2200/part_aa_bb [create_table] LOG: CREATING RELATION 2200/part_ab [inherit] LOG: CREATING RELATION 2200/part_ab_cd [create_table] LOG: CREATING RELATION 2200/part_b [update] LOG: CREATING RELATION 2200/part_b_10_b_20 [update] LOG: CREATING RELATION 2200/part_b_1_b_10 [update] LOG: CREATING RELATION 2200/part_b_20_b_30 [create_table] LOG: CREATING RELATION 2200/part_c [update] LOG: CREATING RELATION 2200/part_c_100_200 [create_table] LOG: CREATING RELATION 2200/part_c_1_10 [update] LOG: CREATING RELATION 2200/part_c_1_100 [insert] LOG: CREATING RELATION 2200/part_cc_dd [insert_conflict] LOG: CREATING RELATION 2200/part_comp_key_index [update] LOG: CREATING RELATION 2200/part_d_15_20 [update] LOG: CREATING RELATION 2200/part_d_1_15 [insert] LOG: CREATING RELATION 2200/part_def [update] LOG: CREATING RELATION 2200/part_def [create_table] LOG: CREATING RELATION 2200/part_default [insert] LOG: CREATING RELATION 2200/part_default [insert] LOG: CREATING RELATION 2200/part_default [insert] LOG: CREATING RELATION 2200/part_default [insert] LOG: CREATING RELATION 2200/part_default_p1 [insert] LOG: CREATING RELATION 2200/part_default_p2 [insert] LOG: CREATING RELATION 2200/part_ee_ff [insert] LOG: CREATING RELATION 2200/part_ee_ff1 [insert] LOG: CREATING RELATION 2200/part_ee_ff2 [insert] LOG: CREATING RELATION 2200/part_ee_ff3 [insert] LOG: CREATING RELATION 2200/part_ee_ff3_1 [insert] LOG: CREATING RELATION 2200/part_ee_ff3_2 [inherit] LOG: CREATING RELATION 2200/part_ef_gh [create_table] LOG: CREATING RELATION 2200/part_forced_oids [insert] LOG: CREATING RELATION 2200/part_gg [insert] LOG: CREATING RELATION 2200/part_gg1 [insert] LOG: CREATING RELATION 2200/part_gg2 [insert] LOG: CREATING RELATION 2200/part_gg2_1 [insert] LOG: CREATING RELATION 2200/part_gg2_2 [create_table] LOG: CREATING RELATION 2200/part_null [insert] LOG: CREATING RELATION 2200/part_null [inherit] LOG: CREATING RELATION 2200/part_null_xy [create_table] LOG: CREATING RELATION 2200/part_null_z [alter_table] LOG: CREATING RELATION 2200/part_rp [insert] LOG: CREATING RELATION 2200/part_xx_yy [insert] LOG: CREATING RELATION 2200/part_xx_yy_defpart [insert] LOG: CREATING RELATION 2200/part_xx_yy_p1 [create_table] LOG: CREATING RELATION 2200/parted [triggers] LOG: CREATING RELATION 2200/parted2_stmt_trig [triggers] LOG: CREATING RELATION 2200/parted2_stmt_trig1 [triggers] LOG: CREATING RELATION 2200/parted2_stmt_trig2 [create_table] LOG: CREATING RELATION 2200/parted_col_comment [insert_conflict] LOG: CREATING RELATION 2200/parted_conflict_test [insert_conflict] LOG: CREATING RELATION 2200/parted_conflict_test_1 [insert_conflict] LOG: CREATING RELATION 2200/parted_conflict_test_1_b_key [inherit] LOG: CREATING RELATION 2200/parted_minmax [inherit] LOG: CREATING RELATION 2200/parted_minmax1 [inherit] LOG: CREATING RELATION 2200/parted_minmax1i [alter_table] LOG: CREATING RELATION 2200/parted_no_parts [tablesample] LOG: CREATING RELATION 2200/parted_sample [tablesample] LOG: CREATING RELATION 2200/parted_sample_1 [tablesample] LOG: CREATING RELATION 2200/parted_sample_2 [triggers] LOG: CREATING RELATION 2200/parted_stmt_trig [triggers] LOG: CREATING RELATION 2200/parted_stmt_trig1 [triggers] LOG: CREATING RELATION 2200/parted_stmt_trig2 [inherit] LOG: CREATING RELATION 2200/parted_tab [inherit] LOG: CREATING RELATION 2200/parted_tab_part1 [inherit] LOG: CREATING RELATION 2200/parted_tab_part2 [inherit] LOG: CREATING RELATION 2200/parted_tab_part3 [rules] LOG: CREATING RELATION 2200/parted_table [rules] LOG: CREATING RELATION 2200/parted_table_1 [alter_table] LOG: CREATING RELATION 2200/parted_validate_test [alter_table] LOG: CREATING RELATION 2200/parted_validate_test_1 [insert_conflict] LOG: CREATING RELATION 2200/partial_key_index [alter_table] LOG: CREATING RELATION 2200/partitioned [create_table] LOG: CREATING RELATION 2200/partitioned [create_table] LOG: CREATING RELATION 2200/partitioned [create_table] LOG: CREATING RELATION 2200/partitioned [create_table] LOG: CREATING RELATION 2200/partitioned [create_table] LOG: CREATING RELATION 2200/partitioned [create_table] LOG: CREATING RELATION 2200/partitioned [create_table] LOG: CREATING RELATION 2200/partitioned [create_table] LOG: CREATING RELATION 2200/partitioned [create_table] LOG: CREATING RELATION 2200/partitioned [create_table] LOG: CREATING RELATION 2200/partitioned [create_table] LOG: CREATING RELATION 2200/partitioned [create_table] LOG: CREATING RELATION 2200/partitioned [create_table] LOG: CREATING RELATION 2200/partitioned [create_table] LOG: CREATING RELATION 2200/partitioned [create_table] LOG: CREATING RELATION 2200/partitioned [create_table] LOG: CREATING RELATION 2200/partitioned [create_table] LOG: CREATING RELATION 2200/partitioned [create_table] LOG: CREATING RELATION 2200/partitioned [create_table] LOG: CREATING RELATION 2200/partitioned [create_table] LOG: CREATING RELATION 2200/partitioned2 [plpgsql] LOG: CREATING RELATION 2200/partitioned_table [updatable_views] LOG: CREATING RELATION 2200/pt [foreign_data] LOG: CREATING RELATION 2200/pt1 [join] LOG: CREATING RELATION 2200/pt1 [updatable_views] LOG: CREATING RELATION 2200/pt1 [updatable_views] LOG: CREATING RELATION 2200/pt11 [join] LOG: CREATING RELATION 2200/pt1p1 [join] LOG: CREATING RELATION 2200/pt1p1p1 [join] LOG: CREATING RELATION 2200/pt1p2 [foreign_data] LOG: CREATING RELATION 2200/pt2 [foreign_data] LOG: CREATING RELATION 2200/pt2_1 [foreign_data] LOG: CREATING RELATION 2200/pt2_1 [foreign_data] LOG: CREATING RELATION 2200/pt2_1 [plpgsql] LOG: CREATING RELATION 2200/pt_part1 [plpgsql] LOG: CREATING RELATION 2200/pt_part2 [inherit] LOG: CREATING RELATION 2200/range_list_parted [alter_table] LOG: CREATING RELATION 2200/range_parted [create_table] LOG: CREATING RELATION 2200/range_parted [insert] LOG: CREATING RELATION 2200/range_parted [update] LOG: CREATING RELATION 2200/range_parted [alter_table] LOG: CREATING RELATION 2200/range_parted2 [create_table] LOG: CREATING RELATION 2200/range_parted2 [create_table] LOG: CREATING RELATION 2200/range_parted3 [create_table] LOG: CREATING RELATION 2200/range_parted4 [create_table] LOG: CREATING RELATION 2200/range_parted4_1 [create_table] LOG: CREATING RELATION 2200/range_parted4_2 [create_table] LOG: CREATING RELATION 2200/range_parted4_3 [sequence] LOG: CREATING RELATION 2200/seq [updatable_views] LOG: CREATING RELATION 2200/seq [sequence] LOG: CREATING RELATION 2200/seq2 [sequence] LOG: CREATING RELATION 2200/seq3 [sequence] LOG: CREATING RELATION 2200/seq3 [sequence] LOG: CREATING RELATION 2200/seq3 [sequence] LOG: CREATING RELATION 2200/seq3 [sequence] LOG: CREATING RELATION 2200/seq3 [sequence] LOG: CREATING RELATION 2200/seq3 [sequence] LOG: CREATING RELATION 2200/seq3 [sequence] LOG: CREATING RELATION 2200/seq3 [sequence] LOG: CREATING RELATION 2200/seq3 [sequence] LOG: CREATING RELATION 2200/seq3 [join] LOG: CREATING RELATION 2200/t1 [privileges] LOG: CREATING RELATION 2200/t1 [updatable_views] LOG: CREATING RELATION 2200/t1 [updatable_views] LOG: CREATING RELATION 2200/t1 [updatable_views] LOG: CREATING RELATION 2200/t1 [updatable_views] LOG: CREATING RELATION 2200/t11 [updatable_views] LOG: CREATING RELATION 2200/t111 [updatable_views] LOG: CREATING RELATION 2200/t111_a_idx [updatable_views] LOG: CREATING RELATION 2200/t11_a_idx [updatable_views] LOG: CREATING RELATION 2200/t12 [updatable_views] LOG: CREATING RELATION 2200/t12_a_idx [updatable_views] LOG: CREATING RELATION 2200/t1_a_idx [privileges] LOG: CREATING RELATION 2200/t1_pkey [join] LOG: CREATING RELATION 2200/t2 [updatable_views] LOG: CREATING RELATION 2200/t2 [join] LOG: CREATING RELATION 2200/t3 [alter_table] LOG: CREATING RELATION 2200/tab1 [alter_table] LOG: CREATING RELATION 2200/tab2 [triggers] LOG: CREATING RELATION 2200/table1 [triggers] LOG: CREATING RELATION 2200/table2 [alter_table] LOG: CREATING RELATION 2200/test [with] LOG: CREATING RELATION 2200/test [alter_table] LOG: CREATING RELATION 2200/test1 [copyselect] LOG: CREATING RELATION 2200/test1 [privileges] LOG: CREATING RELATION 2200/test10b [privileges] LOG: CREATING RELATION 2200/test11b [copyselect] LOG: CREATING RELATION 2200/test1_id_seq [alter_table] LOG: CREATING RELATION 2200/test2 [copyselect] LOG: CREATING RELATION 2200/test2 [copyselect] LOG: CREATING RELATION 2200/test2_id_seq [copyselect] LOG: CREATING RELATION 2200/test3 [privileges] LOG: CREATING RELATION 2200/test5b [privileges] LOG: CREATING RELATION 2200/test6b [privileges] LOG: CREATING RELATION 2200/test7b [privileges] LOG: CREATING RELATION 2200/test8a [privileges] LOG: CREATING RELATION 2200/test8b [privileges] LOG: CREATING RELATION 2200/test9a [privileges] LOG: CREATING RELATION 2200/test9b [rules] LOG: CREATING RELATION 2200/test_1 [rules] LOG: CREATING RELATION 2200/test_1_pkey [rules] LOG: CREATING RELATION 2200/test_2 [rules] LOG: CREATING RELATION 2200/test_2_pkey [rules] LOG: CREATING RELATION 2200/test_3 [rules] LOG: CREATING RELATION 2200/test_3_pkey [alter_table] LOG: CREATING RELATION 2200/test_add_column [inherit] LOG: CREATING RELATION 2200/test_constraints [inherit] LOG: CREATING RELATION 2200/test_constraints_inh [inherit] LOG: CREATING RELATION 2200/test_constraints_val1_val2_key [alter_table] LOG: CREATING RELATION 2200/test_drop_constr_child [alter_table] LOG: CREATING RELATION 2200/test_drop_constr_parent [inherit] LOG: CREATING RELATION 2200/test_ex_constraints [inherit] LOG: CREATING RELATION 2200/test_ex_constraints_c_excl [inherit] LOG: CREATING RELATION 2200/test_ex_constraints_inh [drop_if_exists] LOG: CREATING RELATION 2200/test_exists [inherit] LOG: CREATING RELATION 2200/test_foreign_constraints [inherit] LOG: CREATING RELATION 2200/test_foreign_constraints_inh [select_having] LOG: CREATING RELATION 2200/test_having [drop_if_exists] LOG: CREATING RELATION 2200/test_index_exists [alter_table] LOG: CREATING RELATION 2200/test_inh_check [alter_table] LOG: CREATING RELATION 2200/test_inh_check_child [create_table_like] LOG: CREATING RELATION 2200/test_like_id_1 [create_table_like] LOG: CREATING RELATION 2200/test_like_id_1_a_seq [create_table_like] LOG: CREATING RELATION 2200/test_like_id_2 [create_table_like] LOG: CREATING RELATION 2200/test_like_id_3 [create_table_like] LOG: CREATING RELATION 2200/test_like_id_3_a_seq [select_implicit] LOG: CREATING RELATION 2200/test_missing_target [select_implicit] LOG: CREATING RELATION 2200/test_missing_target2 [select_implicit] LOG: CREATING RELATION 2200/test_missing_target3 [inherit] LOG: CREATING RELATION 2200/test_primary_constraints [inherit] LOG: CREATING RELATION 2200/test_primary_constraints_pkey [rangetypes] LOG: CREATING RELATION 2200/test_range_elem [rangetypes] LOG: CREATING RELATION 2200/test_range_elem_idx [rangetypes] LOG: CREATING RELATION 2200/test_range_excl [rangetypes] LOG: CREATING RELATION 2200/test_range_excl_room_during_excl [rangetypes] LOG: CREATING RELATION 2200/test_range_excl_speaker_during_excl [rangetypes] LOG: CREATING RELATION 2200/test_range_gist [rangetypes] LOG: CREATING RELATION 2200/test_range_gist_idx [rangetypes] LOG: CREATING RELATION 2200/test_range_gist_idx [rangetypes] LOG: CREATING RELATION 2200/test_range_spgist [rangetypes] LOG: CREATING RELATION 2200/test_range_spgist_idx [rangetypes] LOG: CREATING RELATION 2200/test_range_spgist_idx [sequence] LOG: CREATING RELATION 2200/test_seq1 [alter_table] LOG: CREATING RELATION 2200/test_storage [tablesample] LOG: CREATING RELATION 2200/test_tablesample [tablesample] LOG: CREATING RELATION 2200/test_tablesample_v1 [tablesample] LOG: CREATING RELATION 2200/test_tablesample_v2 [alter_table] LOG: CREATING RELATION 2200/test_tbl1 [alter_table] LOG: CREATING RELATION 2200/test_tbl2 [alter_table] LOG: CREATING RELATION 2200/test_tbl2_subclass [alter_table] LOG: CREATING RELATION 2200/test_tbl3 [alter_table] LOG: CREATING RELATION 2200/test_tblx [tsearch] LOG: CREATING RELATION 2200/test_tsquery [create_table] LOG: CREATING RELATION 2200/test_tsvector [alter_table] LOG: CREATING RELATION 2200/test_type [alter_table] LOG: CREATING RELATION 2200/test_type1 [alter_table] LOG: CREATING RELATION 2200/test_type2 [alter_table] LOG: CREATING RELATION 2200/test_type3 [alter_table] LOG: CREATING RELATION 2200/test_type_diff [alter_table] LOG: CREATING RELATION 2200/test_type_diff2 [alter_table] LOG: CREATING RELATION 2200/test_type_diff2_c1 [alter_table] LOG: CREATING RELATION 2200/test_type_diff2_c2 [alter_table] LOG: CREATING RELATION 2200/test_type_diff2_c3 [alter_table] LOG: CREATING RELATION 2200/test_type_diff_c [alter_table] LOG: CREATING RELATION 2200/test_type_empty [drop_if_exists] LOG: CREATING RELATION 2200/test_type_exists [alter_table] LOG: CREATING RELATION 2200/test_typex [drop_if_exists] LOG: CREATING RELATION 2200/test_view_exists [combocid] LOG: CREATING RELATION 2200/testcase [combocid] LOG: CREATING RELATION 2200/testcase_pkey [create_table] LOG: CREATING RELATION 2200/testjsonb [insert_conflict] LOG: CREATING RELATION 2200/testoids [insert_conflict] LOG: CREATING RELATION 2200/testoids_pkey [publication] LOG: CREATING RELATION 2200/testpub_parted [publication] LOG: CREATING RELATION 2200/testpub_tbl1 [publication] LOG: CREATING RELATION 2200/testpub_tbl1_id_seq [publication] LOG: CREATING RELATION 2200/testpub_tbl1_pkey [publication] LOG: CREATING RELATION 2200/testpub_tbl2 [publication] LOG: CREATING RELATION 2200/testpub_tbl2_id_seq [publication] LOG: CREATING RELATION 2200/testpub_tbl2_pkey [publication] LOG: CREATING RELATION 2200/testpub_tbl3 [publication] LOG: CREATING RELATION 2200/testpub_tbl3a [publication] LOG: CREATING RELATION 2200/testpub_view [rolenames] LOG: CREATING RELATION 2200/testtab1 [rolenames] LOG: CREATING RELATION 2200/testtab2 [rolenames] LOG: CREATING RELATION 2200/testtab3 [rolenames] LOG: CREATING RELATION 2200/testtab4 [rolenames] LOG: CREATING RELATION 2200/testtab5 [rolenames] LOG: CREATING RELATION 2200/testtab6 [privileges] LOG: CREATING RELATION 2200/testtype1 [rowtypes] LOG: CREATING RELATION 2200/testtype1 [rowtypes] LOG: CREATING RELATION 2200/testtype1 [rowtypes] LOG: CREATING RELATION 2200/testtype2 [rowtypes] LOG: CREATING RELATION 2200/testtype3 [rowtypes] LOG: CREATING RELATION 2200/testtype3 [rowtypes] LOG: CREATING RELATION 2200/testtype4 [rowtypes] LOG: CREATING RELATION 2200/testtype5 [rowtypes] LOG: CREATING RELATION 2200/testtype5 [rowtypes] LOG: CREATING RELATION 2200/testtype6 [rowtypes] LOG: CREATING RELATION 2200/testtype6 [alter_table] LOG: CREATING RELATION 2200/tmp [alter_table] LOG: CREATING RELATION 2200/tmp [alter_table] LOG: CREATING RELATION 2200/tmp [alter_table] LOG: CREATING RELATION 2200/tmp [constraints] LOG: CREATING RELATION 2200/tmp [select] LOG: CREATING RELATION 2200/tmp [select_into] LOG: CREATING RELATION 2200/tmp1 [select_into] LOG: CREATING RELATION 2200/tmp1 [alter_table] LOG: CREATING RELATION 2200/tmp2 [alter_table] LOG: CREATING RELATION 2200/tmp2_pkey [alter_table] LOG: CREATING RELATION 2200/tmp3 [alter_table] LOG: CREATING RELATION 2200/tmp4 [alter_table] LOG: CREATING RELATION 2200/tmp4_a_b_key [alter_table] LOG: CREATING RELATION 2200/tmp5 [alter_table] LOG: CREATING RELATION 2200/tmp6 [alter_table] LOG: CREATING RELATION 2200/tmp7 [alter_table] LOG: CREATING RELATION 2200/tmp_array [alter_table] LOG: CREATING RELATION 2200/tmp_array [alter_table] LOG: CREATING RELATION 2200/tmp_array2 [alter_table] LOG: CREATING RELATION 2200/tmp_idx [alter_table] LOG: CREATING RELATION 2200/tmp_view [indirect_toast] LOG: CREATING RELATION 2200/toasttest [strings] LOG: CREATING RELATION 2200/toasttest [strings] LOG: CREATING RELATION 2200/toasttest [strings] LOG: CREATING RELATION 2200/toasttest [alter_table] LOG: CREATING RELATION 2200/unlogged1 [create_table] LOG: CREATING RELATION 2200/unlogged1 [alter_table] LOG: CREATING RELATION 2200/unlogged1_f1_seq [alter_table] LOG: CREATING RELATION 2200/unlogged1_pkey [create_table] LOG: CREATING RELATION 2200/unlogged1_pkey [alter_table] LOG: CREATING RELATION 2200/unlogged2 [create_table] LOG: CREATING RELATION 2200/unlogged2 [alter_table] LOG: CREATING RELATION 2200/unlogged2_f1_seq [alter_table] LOG: CREATING RELATION 2200/unlogged2_pkey [create_table] LOG: CREATING RELATION 2200/unlogged2_pkey [alter_table] LOG: CREATING RELATION 2200/unlogged3 [alter_table] LOG: CREATING RELATION 2200/unlogged3_f1_seq [alter_table] LOG: CREATING RELATION 2200/unlogged3_pkey [create_index] LOG: CREATING RELATION 2200/unlogged_hash_index [create_index] LOG: CREATING RELATION 2200/unlogged_hash_table [alter_table] LOG: CREATING RELATION 2200/unparted [create_table] LOG: CREATING RELATION 2200/unparted [alter_table] LOG: CREATING RELATION 2200/xxx [with] LOG: CREATING RELATION 2200/z [with] LOG: CREATING RELATION 2200/z_k_key [alter_generic] LOG: CREATING ROLE regress_alter_user1 [alter_table] LOG: CREATING ROLE regress_alter_user1 [alter_generic] LOG: CREATING ROLE regress_alter_user2 [alter_generic] LOG: CREATING ROLE regress_alter_user3 [alter_generic] LOG: CREATING ROLE regress_alter_user5 [alter_generic] LOG: CREATING ROLE regress_alter_user6 [create_procedure] LOG: CREATING ROLE regress_user1 [identity] LOG: CREATING ROLE regress_user1 [privileges] LOG: CREATING ROLE regress_user1 [privileges] LOG: CREATING ROLE regress_user2 [privileges] LOG: CREATING ROLE regress_user3 [privileges] LOG: CREATING ROLE regress_user4 [privileges] LOG: CREATING ROLE regress_user5 [rolenames] LOG: CREATING ROLE session_user [insert] LOG: CREATING ROLE someone_else [rolenames] LOG: CREATING ROLE user [create_view] LOG: CREATING SCHEMA test_schema [rolenames] LOG: CREATING SCHEMA test_schema [namespace] LOG: CREATING SCHEMA test_schema_1 Some of these test pairs have enough conflicts that it may not be worth the work to eliminate them. Not sure just what to change here. regards, tom lane
-
Re: Instability in parallel regression tests
Thomas Munro <thomas.munro@enterprisedb.com> — 2018-03-15T02:42:02Z
On Thu, Mar 15, 2018 at 3:32 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > ... I manually filtered > out a bunch of non-problems, in particular discarding names that are in > per-test schemas; I think it's all right to allow tests that are taking > that precaution to do what they like name-wise. What if we always did that? That is, create a schema with a name corresponding to the .sql filename and make it default, as a convention? That might be a smaller and more localised change than renaming all these objects. It would also provide a convenient way to drop everything wholesale at the end. -- Thomas Munro http://www.enterprisedb.com
-
Re: Instability in parallel regression tests
Tom Lane <tgl@sss.pgh.pa.us> — 2018-03-15T02:51:14Z
Thomas Munro <thomas.munro@enterprisedb.com> writes: > On Thu, Mar 15, 2018 at 3:32 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: >> ... I manually filtered >> out a bunch of non-problems, in particular discarding names that are in >> per-test schemas; I think it's all right to allow tests that are taking >> that precaution to do what they like name-wise. > What if we always did that? That is, create a schema with a name > corresponding to the .sql filename and make it default, as a > convention? That might be a smaller and more localised change than > renaming all these objects. It would also provide a convenient way to > drop everything wholesale at the end. There's a lot of objects that we *want* propagated from earlier tests to later ones, and/or left around to help with pg_dump testing based on the final state of the regression database. I don't think that just dropping them all would be an improvement. It might be possible to identify a set of tests that set up persistent objects as opposed to ones that don't, but it wouldn't be a trivial task. regards, tom lane