Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

roachtest: unoptimized-query-oracle/disable-rules=half/rand-multi-region failed [BIT(0) type needed for distSQL] #131346

Closed
cockroach-teamcity opened this issue Sep 25, 2024 · 7 comments · Fixed by #132944
Assignees
Labels
branch-master Failures and bugs on the master branch. branch-release-23.2 Used to mark GA and release blockers, technical advisories, and bugs for 23.2 branch-release-24.1 Used to mark GA and release blockers, technical advisories, and bugs for 24.1 branch-release-24.2 Used to mark GA and release blockers, technical advisories, and bugs for 24.2 C-test-failure Broken test (automatically or manually discovered). GA-blocker O-roachtest O-robot Originated from a bot. O-rsg Random Syntax Generator T-sql-queries SQL Queries Team

Comments

@cockroach-teamcity
Copy link
Member

cockroach-teamcity commented Sep 25, 2024

roachtest.unoptimized-query-oracle/disable-rules=half/rand-multi-region failed with artifacts on master @ 41084720464c4144f64d9ddcb46508b4d762c4e8:

+ 		"9FB41085C94BF092E6540188F3B3991DD33C0F26A0C328ABAF4C14EBAA487550",
+ 		"CF84101020000C0050000003E55021C4EF360401E807A6F2FDE3AC00C2AD5AF1",
+ 		"042F7C188C3D98E87DBD5C1502A29CFE3F35340006813A3B4ECB4BF38844FB35",
+ 		"D3FF1C19B7CCBF8753EF3C108922D8B8FEC3840F04689D602503E400C0D7D931",
+ 		"B6900C2B0AE6EAEA466C341586FC1D8A4EB3E4094AE6EC5730044406425F3699",
+ 		"21CF741C83FCA327289D2416C73F8E7A86C48C0C0DF846EFA2D014086E9B8694",
+ 		"CEAF9411C0BA7013AE3F44101020000C003000000CA02B1222E806040B857E02",
+ 		"A9DB32140A40D968B60E2F041494E8D5741E2F8C180F07D14548453402C28AAE",
+ 		"8B3633D40B488D2492C76E7C1E81C6315516DDA41FA270B0D1ACD6240B07EEAC",
+ 		"108804540B24A05CB5461E4C1E28FF5B46FA5F94101020000C006000000E0BD0",
+ 		"7D5EC292740A1112FA615E954C0D0CA4DF32929F941406D5F120C46FBC1A062E",
+ 		"C75EA776340C1B3DADD128B4DC06CC941ECE1EBE9C114A7ECF6C138E3C1304AC",
+ 		"CD7B37166402D5ADA1D48E844C00CE82B6C3B53E741E46C8EB66605F3414856B",
+ 		"9790A964340F856E9771C152FC00D7C8A6652E5F0C1CC79E7E26068DCC1DABC0",
+ 		"8F8E1DA6340200372577F0839401C0E7B9A55DDDFC15809E1188B84F0C174E63",
+ 		"8AAF5EE5C409E291F3C387152406A84271C890CF741D819A5F3FA9AD44101030",
+ 		"000E0E61000000100000004000000A4DC400E3E4D5740A4DF9FD86081334075D",
+ 		"181D31926F1C14805C2468D25F4C154356A5B99365E403C446B2B88424540F8C",
+ 		"BFC101077FD41C2AC0DA878D3F9C1B937840AB3B160C01CDF680283654440F80",
+ 		"76E74B78CD041580AF52C7AB2E541A4DC400E3E4D5740A4DF9FD86081334075D",
+ 		"181D31926F1C14805C2468D25F4C1",
  		... // 1 identical byte
  	}, ""),
  	strings.Join({
- 		"111111111111111111111111111111",
  		"1,c_O\n,{0106000020E610000002000000010300000001000000040000000000",
  		"0000000044400000000000004440000000000000344000000000008046400000",
  		... // 415 identical bytes
  	}, ""),
- 	"1111111111111111111111111111111,c_O\n,{}",
+ 	"1,c_O\n,{}",
  }
sql: SELECT
	COALESCE(tab_176."co""l4_3", tab_176."co""l4_3") AS col_638, e'c_O\n':::STRING AS col_639, tab_176.col4_0 AS col_640
FROM
	defaultdb.public."\\U0000D5FDtable_4" AS tab_176
ORDER BY
	col_638 DESC,
	tab_176.crdb_internal_mvcc_timestamp DESC,
	tab_176.col4_1 DESC NULLS LAST,
	tab_176."col😣4%2d_4" NULLS FIRST,
	col_639 NULLS LAST,
	col_640 NULLS FIRST,
	tab_176."co
l4_2" ASC NULLS LAST,
	tab_176.tableoid ASC NULLS LAST,
	tab_176."co""l4_3" ASC NULLS FIRST,
	tab_176.col4_0 ASC
LIMIT
	91:::INT8
test artifacts and logs in: /artifacts/unoptimized-query-oracle/disable-rules=half/rand-multi-region/run_1

Parameters:

  • ROACHTEST_arch=amd64
  • ROACHTEST_cloud=gce
  • ROACHTEST_coverageBuild=false
  • ROACHTEST_cpu=4
  • ROACHTEST_encrypted=false
  • ROACHTEST_fs=ext4
  • ROACHTEST_localSSD=true
  • ROACHTEST_runtimeAssertionsBuild=false
  • ROACHTEST_ssd=0
Help

See: roachtest README

See: How To Investigate (internal)

See: Grafana

This test on roachdash | Improve this report!

Jira issue: CRDB-42511

@cockroach-teamcity cockroach-teamcity added branch-master Failures and bugs on the master branch. C-test-failure Broken test (automatically or manually discovered). O-roachtest O-robot Originated from a bot. O-rsg Random Syntax Generator release-blocker Indicates a release-blocker. Use with branch-release-2x.x label to denote which branch is blocked. T-sql-queries SQL Queries Team labels Sep 25, 2024
@github-project-automation github-project-automation bot moved this to Triage in SQL Queries Sep 25, 2024
@cockroach-teamcity
Copy link
Member Author

roachtest.unoptimized-query-oracle/disable-rules=half/rand-multi-region failed with artifacts on master @ dcce4cafa234525fc859d32745c11ed87890dc7b:

(query_comparison_util.go:419).runOneRoundQueryComparison: . 942 statements run: expected unoptimized and optimized results to be equal
  []string{
  	strings.Join({
  		"NULL,0000100100000110000110010000011010001,0",
- 		"000100100000110000110010000011010001",
  		",0000100100000110000110010000011010001",
  	}, ""),
  	strings.Join({
  		"NULL,1010010010100101111010000101101001101,1",
- 		"010010010100101111010000101101001101",
  		",1010010010100101111010000101101001101",
  	}, ""),
  }
sql: SELECT
	(
		SELECT
			B'11111111' AS col_3944
		FROM
			defaultdb.public.table_3 AS tab_1314
			JOIN defaultdb.public.table_4 AS tab_1315 ON
					(tab_1314.col3_0) = (tab_1315."co😌l4-_3") AND (tab_1314.col3_0) = (tab_1315.col4_0)
		ORDER BY
			col_3944 NULLS FIRST
		LIMIT
			1:::INT8
	)
		AS col_3945,
	tab_1313."co%58l3_3" AS col_3946,
	CASE WHEN false THEN B'1111001111001100100010110100110000101' ELSE tab_1313."co%58l3_3" END AS col_3947,
	tab_1313."co%58l3_3" AS col_3948
FROM
	defaultdb.public.table_3 AS tab_1312
	JOIN defaultdb.public.table_3 AS tab_1313 ON
			(tab_1312.😄col3_6) = (tab_1313.😄col3_6)
			AND (tab_1312.col3_5) = (tab_1313.col3_5)
			AND (tab_1312."co%58l3_3") = (tab_1313."co%58l3_3")
ORDER BY
	col_3947 ASC NULLS FIRST,
	tab_1312.col3_5 NULLS FIRST,
	col_3946 DESC NULLS LAST,
	col_3948 ASC,
	tab_1312."co%58l3_3" NULLS FIRST,
	tab_1313.col3_5,
	tab_1313.😄col3_6 ASC,
	tab_1312.😄col3_6 NULLS FIRST,
	tab_1313."co%58l3_3" ASC NULLS FIRST,
	col_3945 ASC
LIMIT
	9:::INT8
test artifacts and logs in: /artifacts/unoptimized-query-oracle/disable-rules=half/rand-multi-region/run_1

Parameters:

  • ROACHTEST_arch=amd64
  • ROACHTEST_cloud=gce
  • ROACHTEST_coverageBuild=false
  • ROACHTEST_cpu=4
  • ROACHTEST_encrypted=false
  • ROACHTEST_runtimeAssertionsBuild=false
  • ROACHTEST_ssd=0
Help

See: roachtest README

See: How To Investigate (internal)

See: Grafana

Same failure on other branches

This test on roachdash | Improve this report!

@mgartner
Copy link
Collaborator

I'm unable to reproduce the difference in the outputs when running:

./cockroach demo --insecure --empty --nodes=9 --multitenant=false --set=errexit=false -f file.sql

However, the output on master is different from the output on v24.2.0 in exactly the same way that the failure is above.

On v24.2.0:

  col_3945 |               col_3946                |               col_3947                |               col_3948
-----------+---------------------------------------+---------------------------------------+----------------------------------------
  NULL     | 0000100100000110000110010000011010001 | 0000100100000110000110010000011010001 | 0000100100000110000110010000011010001
  NULL     | 1010010010100101111010000101101001101 | 1010010010100101111010000101101001101 | 1010010010100101111010000101101001101
(2 rows)

On master:

  col_3945 |               col_3946                | col_3947 |               col_3948
-----------+---------------------------------------+----------+----------------------------------------
  NULL     | 0000100100000110000110010000011010001 |        0 | 0000100100000110000110010000011010001
  NULL     | 1010010010100101111010000101101001101 |        1 | 1010010010100101111010000101101001101
(2 rows)

This is quite peculiar. I'll try to find the commit that caused the change.

@mgartner
Copy link
Collaborator

I was just able to reproduce one of the inconsistent results above. It appears to happen non-deterministically, which will make it more difficult to pin down.

@mgartner
Copy link
Collaborator

Drew and I believe this is related to #129007. I'm trying to confirm that now.

@mgartner
Copy link
Collaborator

We also don't think this is a release-blocker, so moving to GA-blocker.

@mgartner mgartner added GA-blocker and removed release-blocker Indicates a release-blocker. Use with branch-release-2x.x label to denote which branch is blocked. labels Oct 16, 2024
@mgartner mgartner moved this from Triage to Active in SQL Queries Oct 18, 2024
mgartner added a commit to mgartner/cockroach that referenced this issue Oct 18, 2024
The `BIT(0)` type is now supported. It represents a `BIT` type with
unspecified length. This is a divergence from Postgres which does not
allow this type and has no way to represent it in SQL. It is required in
order for it to be correctly serialized into SQL and evaluated during
distributed query execution.VARBIT cannot be used because it has a
different OID.

Fixes cockroachdb#131346

There is no release note because this bug is not present in any previous
releases and there is no need to document this new type.

Release note: None
@mgartner mgartner moved this from Active to Bugs to Fix in SQL Queries Oct 21, 2024
@mgartner mgartner moved this from Bugs to Fix to Triage in SQL Queries Oct 21, 2024
@mgartner mgartner moved this from Triage to Active in SQL Queries Oct 21, 2024
mgartner added a commit to mgartner/cockroach that referenced this issue Oct 21, 2024
The `BIT(0)` type is now supported. It represents a `BIT` type with
unspecified length. This is a divergence from Postgres which does not
allow this type and has no way to represent it in SQL. It is required in
order for it to be correctly serialized into SQL and evaluated during
distributed query execution.VARBIT cannot be used because it has a
different OID.

Fixes cockroachdb#131346

There is no release note because this bug is not present in any previous
releases and there is no need to document this new type.

Release note: None
@cockroach-teamcity
Copy link
Member Author

Note: This build has runtime assertions enabled. If the same failure was hit in a run without assertions enabled, there should be a similar failure without this message. If there isn't one, then this failure is likely due to an assertion violation or (assertion) timeout.

roachtest.unoptimized-query-oracle/disable-rules=half/rand-multi-region failed with artifacts on master @ 1e5b3c212b45419c960038718c48a5dd75a111a0:

  	}, ""),
  	strings.Join({
  		"NULL,,NULL,'KVZfUufjN',1111111011,-1172330868615424981,-71573111",
  		"64638515022,294276-12-31 23:59:59.999999 +0000 +0000,108,,111111",
  		``1011,	a,1``,
- 		"111111011",
  		",\x8d\xa3,0000-01-01 23:51:34.74251 +0000 UTC,\x00,box(-0.058627891187777",
  		"38 -2.1676584702722455,0.09663811676162037 0.6237470205865915),0",
  		"000-01-01 00:00:00 +1559 +1559",
  	}, ""),
  	strings.Join({
  		"NULL,,NULL,'dfyRguLL' & 'JjvBnNx' <-> 'QAQ' <-> 'ZFnFof',1110011",
  		"011,-99,-7157311164638515022,294276-12-31 23:59:59.999999 +0000 ",
  		``+0000,108,,1110011011,	a,1``,
- 		"110011011",
  		",À,0000-01-01 23:51:34.74251 +0000 UTC,\x00,NULL,0000-01-01 00:00:",
  		"00 +1559 +1559",
  	}, ""),
  	strings.Join({
  		"NULL,,NULL,NULL,1011001101,NULL,-7157311164638515022,294276-12-3",
  		``1 23:59:59.999999 +0000 +0000,108,,1011001101,	a,1``,
- 		"011001101",
  		",0\xd0\xd0``\x02,0000-01-01 23:51:34.74251 +0000 UTC,\x00,NULL,0000-01-01 00:",
  		"00:00 +1559 +1559",
  	}, ""),
  }
sql: SELECT
	tab_365.col5_10 AS col_1228,
	tab_365.col5_11 AS col_1229,
	tab_365."co l5_9" AS col_1230,
	tab_365."c'ol5_1" AS col_1231,
	tab_365."coL5_14" AS col_1232,
	tab_365.col😽5_2 AS col_1233,
	(-7157311164638515022):::INT8 AS col_1234,
	'294276-12-31 23:59:59.999999':::TIMESTAMP AS col_1235,
	tab_365.tableoid AS col_1236,
	tab_365.col5_12 AS col_1237,
	tab_365."Col5_3" AS col_1238,
	e'\ta':::STRING AS col_1239,
	CASE WHEN true THEN tab_365."Col5_3" ELSE tab_365."Col5_3" END AS col_1240,
	tab_365.col5_8 AS col_1241,
	'23:51:34.74251':::TIME AS col_1242,
	e'\x00':::STRING AS col_1243,
	tab_365."|col5_13" AS col_1244,
	'00:00:00+15:59':::TIMETZ AS col_1245
FROM
	defaultdb.public."table)_5" AS tab_365
ORDER BY
	tab_365."coL5_14", tab_365.col5_5 DESC NULLS FIRST, tab_365."co l5_9" ASC, tab_365."|col5_13", tab_365."col\\xd05_4"
test artifacts and logs in: /artifacts/unoptimized-query-oracle/disable-rules=half/rand-multi-region/run_1

Parameters:

  • ROACHTEST_arch=amd64
  • ROACHTEST_cloud=gce
  • ROACHTEST_coverageBuild=false
  • ROACHTEST_cpu=4
  • ROACHTEST_encrypted=false
  • ROACHTEST_runtimeAssertionsBuild=true
  • ROACHTEST_ssd=0
Help

See: roachtest README

See: How To Investigate (internal)

See: Grafana

This test on roachdash | Improve this report!

craig bot pushed a commit that referenced this issue Oct 22, 2024
132944: sql: add `BIT(0)` type r=mgartner a=mgartner

#### sql: add `BIT(0)` type

The `BIT(0)` type is now supported. It represents a `BIT` type with
unspecified length. This is a divergence from Postgres which does not
allow this type and has no way to represent it in SQL. It is required in
order for it to be correctly serialized into SQL and evaluated during
distributed query execution.VARBIT cannot be used because it has a
different OID.

Fixes #131346

There is no release note because this bug is not present in any previous
releases and there is no need to document this new type.

Release note: None

Co-authored-by: Marcus Gartner <[email protected]>
craig bot pushed a commit that referenced this issue Oct 22, 2024
132944: sql: add `BIT(0)` type r=mgartner a=mgartner

#### sql: add `BIT(0)` type

The `BIT(0)` type is now supported. It represents a `BIT` type with
unspecified length. This is a divergence from Postgres which does not
allow this type and has no way to represent it in SQL. It is required in
order for it to be correctly serialized into SQL and evaluated during
distributed query execution.VARBIT cannot be used because it has a
different OID.

Fixes #131346

There is no release note because this bug is not present in any previous
releases and there is no need to document this new type.

Release note: None

Co-authored-by: Marcus Gartner <[email protected]>
@craig craig bot closed this as completed in 69c994b Oct 22, 2024
@github-project-automation github-project-automation bot moved this from Active to Done in SQL Queries Oct 22, 2024
Copy link

blathers-crl bot commented Oct 22, 2024

Based on the specified backports for linked PR #132944, I applied the following new label(s) to this issue: branch-release-23.2, branch-release-24.1, branch-release-24.2. Please adjust the labels as needed to match the branches actually affected by this issue, including adding any known older branches.

🦉 Hoot! I am a Blathers, a bot for CockroachDB. My owner is dev-inf.

@blathers-crl blathers-crl bot added branch-release-24.1 Used to mark GA and release blockers, technical advisories, and bugs for 24.1 branch-release-23.2 Used to mark GA and release blockers, technical advisories, and bugs for 23.2 branch-release-24.2 Used to mark GA and release blockers, technical advisories, and bugs for 24.2 labels Oct 22, 2024
blathers-crl bot pushed a commit that referenced this issue Oct 22, 2024
The `BIT(0)` type is now supported. It represents a `BIT` type with
unspecified length. This is a divergence from Postgres which does not
allow this type and has no way to represent it in SQL. It is required in
order for it to be correctly serialized into SQL and evaluated during
distributed query execution.VARBIT cannot be used because it has a
different OID.

Fixes #131346

There is no release note because this bug is not present in any previous
releases and there is no need to document this new type.

Release note: None
blathers-crl bot pushed a commit that referenced this issue Oct 22, 2024
The `BIT(0)` type is now supported. It represents a `BIT` type with
unspecified length. This is a divergence from Postgres which does not
allow this type and has no way to represent it in SQL. It is required in
order for it to be correctly serialized into SQL and evaluated during
distributed query execution.VARBIT cannot be used because it has a
different OID.

Fixes #131346

There is no release note because this bug is not present in any previous
releases and there is no need to document this new type.

Release note: None
mgartner added a commit to mgartner/cockroach that referenced this issue Oct 23, 2024
The `BIT(0)` type is now supported. It represents a `BIT` type with
unspecified length. This is a divergence from Postgres which does not
allow this type and has no way to represent it in SQL. It is required in
order for it to be correctly serialized into SQL and evaluated during
distributed query execution.VARBIT cannot be used because it has a
different OID.

Fixes cockroachdb#131346

There is no release note because this bug is not present in any previous
releases and there is no need to document this new type.

Release note: None
mgartner added a commit that referenced this issue Oct 29, 2024
The `BIT(0)` type is now supported. It represents a `BIT` type with
unspecified length. This is a divergence from Postgres which does not
allow this type and has no way to represent it in SQL. It is required in
order for it to be correctly serialized into SQL and evaluated during
distributed query execution.VARBIT cannot be used because it has a
different OID.

Fixes #131346

There is no release note because this bug is not present in any previous
releases and there is no need to document this new type.

Release note: None
@mgartner mgartner changed the title roachtest: unoptimized-query-oracle/disable-rules=half/rand-multi-region failed roachtest: unoptimized-query-oracle/disable-rules=half/rand-multi-region failed [BIT(0) type needed for distSQL] Oct 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
branch-master Failures and bugs on the master branch. branch-release-23.2 Used to mark GA and release blockers, technical advisories, and bugs for 23.2 branch-release-24.1 Used to mark GA and release blockers, technical advisories, and bugs for 24.1 branch-release-24.2 Used to mark GA and release blockers, technical advisories, and bugs for 24.2 C-test-failure Broken test (automatically or manually discovered). GA-blocker O-roachtest O-robot Originated from a bot. O-rsg Random Syntax Generator T-sql-queries SQL Queries Team
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

2 participants