cockroachdb / cockroachdb/cockroach

roachtest: pg_regress failed

Open
#175,279 2 comments 0 reactions 1 assignee Claimed by @spilchen View on GitHub
branch-master C-test-failure O-roachtest O-robot T-sql-foundations
Dominant language
Go
Stars
32.5k
Forks
4.1k
PR merge metrics
PR metrics pending

Description

roachtest.pg_regress [failed](https://teamcity.cockroachdb.com/buildConfiguration/Cockroach_Nightlies_RoachtestWeeklyBazel/21513759?buildTab=log) with [artifacts](https://teamcity.cockroachdb.com/buildConfiguration/Cockroach_Nightlies_RoachtestWeeklyBazel/21513759?buildTab=artifacts#/pg_regress) on master @ [2bf53f5e2960d67b69a8d3576c03e3e9fc3dae2a](https://github.com/cockroachdb/cockroach/commits/2bf53f5e2960d67b69a8d3576c03e3e9fc3dae2a):

Failed with:

```
(pg_regress.go:505).runPGRegress: Regression diffs do not match expected output for type_sanity.
--- testdata/type_sanity.diffs
+++ type_sanity.diffs
@@ -44,7 +44,7 @@

-- Look for "toastable" types that aren't varlena.
SELECT t1.oid, t1.typname
-@@ -67,15 +80,405 @@
+@@ -67,15 +80,406 @@
WHERE t2.typname = ('_' || t1.typname)::name AND
t2.typelem = t1.oid and t1.typarray = t2.oid)
ORDER BY t1.oid;
@@ -90,6 +90,7 @@
+ 100196 | interval_tbl
+ 100209 | timestamp_tbl
+ 100210 | timestamptz_tbl
++ 4294966925 | crdb_ranges
+ 4294966926 | crdb_contention_activity
+ 4294966927 | cluster_held_advisory_locks
+ 4294966928 | crdb_stores
@@ -455,11 +456,11 @@
+ 4294967292 | builtin_functions
+ 4294967293 | node_build_info
+ 4294967294 | backward_dependencies
-+(396 rows)
++(397 rows)

-- Make sure typarray points to a "true" array type of our own base
SELECT t1.oid, t1.typname as basetype, t2.typname as arraytype,
-@@ -84,10 +487,7 @@
+@@ -84,10 +488,7 @@
WHERE t1.typarray <> 0 AND
(t2.oid IS NULL OR
t2.typsubscript <> 'array_subscript_handler'::regproc);
@@ -471,7 +472,7 @@
-- Look for range types that do not have a pg_range entry
SELECT t1.oid, t1.typname
FROM pg_type as t1
-@@ -128,10 +528,7 @@
+@@ -128,10 +529,7 @@
(p1.pronargs = 3 AND p1.proargtypes[0] = 'cstring'::regtype AND
p1.proargtypes[1] = 'oid'::regtype AND
p1.proargtypes[2] = 'int4'::regtype));
@@ -483,7 +484,7 @@
-- As of 8.0, this check finds refcursor, which is borrowing
-- other types' I/O routines
SELECT t1.oid, t1.typname, p1.oid, p1.proname
-@@ -140,10 +537,9 @@
+@@ -140,10 +538,9 @@
(t1.typelem != 0 AND t1.typlen < 0) AND NOT
(p1.prorettype = t1.oid AND NOT p1.proretset)
ORDER BY 1;
@@ -497,7 +498,7 @@

-- Varlena array types will point to array_in
-- Exception as of 8.1: int2vector and oidvector have their own I/O routines
-@@ -153,10 +549,10 @@
+@@ -153,10 +550,10 @@
(t1.typelem != 0 AND t1.typlen < 0) AND NOT
(p1.oid = 'array_in'::regproc)
ORDER BY 1;
@@ -512,7 +513,7 @@
(2 rows)

-- typinput routines should not be volatile
-@@ -172,14 +568,11 @@
+@@ -172,14 +569,11 @@
FROM pg_type AS t1
WHERE t1.typtype not in ('b', 'p')
ORDER BY 1;
@@ -530,7 +531,7 @@

-- Check for bogus typoutput routines
-- As of 8.0, this check finds refcursor, which is borrowing
-@@ -192,19 +585,15 @@
+@@ -192,19 +586,15 @@
(p1.oid = 'array_out'::regproc AND
t1.typelem != 0 AND t1.typlen = -1)))
ORDER BY 1;
@@ -554,7 +555,7 @@
-- typoutput routines should not be volatile
SELECT t1.oid, t1.typname, p1.oid, p1.proname
FROM pg_type AS t1, pg_proc AS p1
-@@ -218,13 +607,11 @@
+@@ -218,13 +608,11 @@
FROM pg_type AS t1
WHERE t1.typtype not in ('b', 'd', 'p')
ORDER BY 1;
@@ -571,7 +572,7 @@

-- Domains should have same typoutput as their base types
SELECT t1.oid, t1.typname, t2.oid, t2.typname
-@@ -244,10 +631,7 @@
+@@ -244,10 +632,7 @@
(p1.pronargs = 3 AND p1.proargtypes[0] = 'internal'::regtype AND
p1.proargtypes[1] = 'oid'::regtype AND
p1.proargtypes[2] = 'int4'::regtype));
@@ -583,7 +584,7 @@
-- As of 7.4, this check finds refcursor, which is borrowing
-- other types' I/O routines
SELECT t1.oid, t1.typname, p1.oid, p1.proname
-@@ -256,10 +640,9 @@
+@@ -256,10 +641,9 @@
(t1.typelem != 0 AND t1.typlen < 0) AND NOT
(p1.prorettype = t1.oid AND NOT p1.proretset)
ORDER BY 1;
@@ -597,7 +598,7 @@

-- Varlena array types will point to array_recv
-- Exception as of 8.1: int2vector and oidvector have their own I/O routines
-@@ -271,8 +654,8 @@
+@@ -271,8 +655,8 @@
ORDER BY 1;
oid | typname | oid | proname
-----+------------+------+----------------
@@ -608,7 +609,7 @@
(2 rows)

-- Suspicious if typreceive doesn't take same number of args as typinput
-@@ -297,14 +680,11 @@
+@@ -297,14 +681,11 @@
FROM pg_type AS t1
WHERE t1.typtype not in ('b', 'p')
ORDER BY 1;
@@ -626,7 +627,7 @@

-- Check for bogus typsend routines
-- As of 7.4, this check finds refcursor, which is borrowing
-@@ -317,10 +697,9 @@
+@@ -317,10 +698,9 @@
(p1.oid = 'array_send'::regproc AND
t1.typelem != 0 AND t1.typlen = -1)))
ORDER BY 1;
@@ -640,7 +641,7 @@

SELECT t1.oid, t1.typname, p1.oid, p1.proname
FROM pg_type AS t1, pg_proc AS p1
-@@ -343,13 +722,11 @@
+@@ -343,13 +723,11 @@
FROM pg_type AS t1
WHERE t1.typtype not in ('b', 'd', 'p')
ORDER BY 1;
@@ -657,7 +658,7 @@

-- Domains should have same typsend as their base types
SELECT t1.oid, t1.typname, t2.oid, t2.typname
-@@ -366,10 +743,7 @@
+@@ -366,10 +744,7 @@
(p1.pronargs = 1 AND
p1.proargtypes[0] = 'cstring[]'::regtype AND
p1.prorettype = 'int4'::regtype AND NOT p1.proretset);
@@ -669,7 +670,7 @@
-- typmodin routines should not be volatile
SELECT t1.oid, t1.typname, p1.oid, p1.proname
FROM pg_type AS t1, pg_proc AS p1
-@@ -385,10 +759,7 @@
+@@ -385,10 +760,7 @@
(p1.pronargs = 1 AND
p1.proargtypes[0] = 'int4'::regtype AND
p1.prorettype = 'cstring'::regtype AND NOT p1.proretset);
@@ -681,7 +682,7 @@
-- typmodout routines should not be volatile
SELECT t1.oid, t1.typname, p1.oid, p1.proname
FROM pg_type AS t1, pg_proc AS p1
-@@ -409,7 +780,8 @@
+@@ -409,7 +781,8 @@
-- Array types should have same typdelim as their element types
SELECT t1.oid, t1.typname, t2.oid, t2.typname
FROM pg_type AS t1, pg_type AS t2
@@ -691,7 +692,7 @@
oid | typname | oid | typname
-----+---------+-----+---------
(0 rows)
-@@ -427,10 +799,64 @@
+@@ -427,10 +800,64 @@
-- Check for typelem set without a handler
SELECT t1.oid, t1.typname, t1.typelem
FROM pg_type AS t1
@@ -760,7 +761,7 @@

-- Check for misuse of standard subscript handlers
SELECT t1.oid, t1.typname,
-@@ -438,19 +864,13 @@
+@@ -438,19 +865,13 @@
FROM pg_type AS t1
WHERE t1.typsubscript = 'array_subscript_handler'::regproc AND NOT
(t1.typelem != 0 AND t1.typlen = -1 AND NOT t1.typbyval);
@@ -782,7 +783,7 @@
-- Check for bogus typanalyze routines
SELECT t1.oid, t1.typname, p1.oid, p1.proname
FROM pg_type AS t1, pg_proc AS p1
-@@ -458,10 +878,7 @@
+@@ -458,10 +879,7 @@
(p1.pronargs = 1 AND
p1.proargtypes[0] = 'internal'::regtype AND
p1.prorettype = 'bool'::regtype AND NOT p1.proretset);
@@ -794,7 +795,7 @@
-- there does not seem to be a reason to care about volatility of typanalyze
-- domains inherit their base type's typanalyze
SELECT d.oid, d.typname, d.typanalyze, t.oid, t.typname, t.typanalyze
-@@ -477,10 +894,7 @@
+@@ -477,10 +895,7 @@
FROM pg_type t LEFT JOIN pg_range r on t.oid = r.rngtypid
WHERE t.typbasetype = 0 AND
(t.typanalyze = 'range_typanalyze'::regproc) != (r.rngtypid IS NOT NULL);
@@ -806,7 +807,7 @@
-- array_typanalyze should be used for all and only array types
-- (but exclude domains, which we checked above)
-- As of 9.2 this finds int2vector and oidvector, which are weird anyway
-@@ -490,12 +904,7 @@
+@@ -490,12 +905,7 @@
(t.typanalyze = 'array_typanalyze'::regproc) !=
(t.typsubscript = 'array_subscript_handler'::regproc)
ORDER BY 1;
@@ -820,7 +821,7 @@
-- **************** pg_class ****************
-- Look for illegal values in pg_class fields
SELECT c1.oid, c1.relname
-@@ -535,14 +944,10 @@
+@@ -535,14 +945,10 @@
(0 rows)

-- Tables, matviews etc should have AMs of type 't'
@@ -839,7 +840,7 @@
-- **************** pg_attribute ****************
-- Look for illegal values in pg_attribute fields
SELECT a1.attrelid, a1.attname
-@@ -555,22 +960,49 @@
+@@ -555,22 +961,49 @@
(0 rows)

-- Cross-check attnum against parent relation
@@ -900,7 +901,7 @@

-- Cross-check against pg_type entry
-- NOTE: we allow attstorage to be 'plain' even when typstorage is not;
-@@ -709,6 +1141,13 @@
+@@ -709,6 +1142,13 @@
'{(2020-01-02 03:04:05, 2021-02-03 06:07:08)}'::tsmultirange,
'(2020-01-02 03:04:05, 2021-02-03 06:07:08)'::tstzrange,
'{(2020-01-02 03:04:05, 2021-02-03 06:07:08)}'::tstzmultirange;
@@ -914,7 +915,7 @@
-- Sanity check on the previous table, checking that all core types are
-- included in this table.
SELECT oid, typname, typtype, typelem, typarray
-@@ -736,7 +1175,4 @@
+@@ -736,7 +1176,4 @@
WHERE a.atttypid=t.oid AND
a.attnum > 0 AND
a.attrelid='tab_core_types'::regclass);
If the diff is expected, copy type_sanity.diffs from the test artifacts to pkg/cmd/roachtest/testdata/type_sanity.diffs
test artifacts and logs in: /artifacts/pg_regress/run_1
```
Cluster Node to Ip Mapping:
| Node | Public IP | Private IP |
| --- | --- | --- |
| teamcity-21513759-1789193807-48-n1cpu4-0001 | | 10.91.96.182 |

Parameters:
- arch=amd64
- cloud=gce
- coverageBuild=false
- cpu=4
- diskCount=0
- encrypted=false
- metamorphicLeases=default
- runtimeAssertionsBuild=false
Help

See: [roachtest README](https://github.com/cockroachdb/cockroach/blob/master/pkg/cmd/roachtest/README.md)

See: [How To Investigate \(internal\)](https://cockroachlabs.atlassian.net/l/c/SSSBr8c7)

See: [Grafana](https://go.crdb.dev/roachtest-grafana/teamcity-21513759/pg-regress/1789206495412/1789209355754)

See: [Datadog Logs](https://us5.datadoghq.com/logs?query=service%3Aroachtest+%40cluster%3Ateamcity-21513759-1789193807-48-n1cpu4&from_ts=1789206495412&to_ts=1789209355754&live=false&storage=flex_tier)

/cc @cockroachlabs/sql-foundations

[Improve this report!](https://github.com/cockroachdb/cockroach/tree/master/pkg/cmd/bazci/githubpost/issues)

Jira issue: CRDB-68323

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.