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: add test that aggregates orm blacklist failures #41252

Merged
merged 1 commit into from
Nov 7, 2019

Conversation

jordanlewis
Copy link
Member

The spreadsheet we discussed is unwieldy - hard to edit and impossible to keep
up to date. If we write down blacklists in code, then we can use an approach
like this to always have an up to date aggregation.

So far it seems like there's just a lot of unknowns to categorize still.

The output today:

=== RUN   TestBlacklists
 648: unknown                                                (unknown)
 493: https://github.com/cockroachdb/cockroach/issues/5807   (sql: Add support for TEMP tables)
 151: https://github.com/cockroachdb/cockroach/issues/17511  (sql: support stored procedures)
  86: https://github.com/cockroachdb/cockroach/issues/26097  (sql: make TIMETZ more pg-compatible)
  56: https://github.com/cockroachdb/cockroach/issues/10735  (sql: support SQL savepoints)
  55: https://github.com/cockroachdb/cockroach/issues/32552  (multi-dim arrays)
  55: https://github.com/cockroachdb/cockroach/issues/26508  (sql: restricted DDL / DML inside transactions)
  52: https://github.com/cockroachdb/cockroach/issues/32565  (sql: support optional TIME precision)
  39: https://github.com/cockroachdb/cockroach/issues/243    (roadmap: Blob storage)
  33: https://github.com/cockroachdb/cockroach/issues/26725  (sql: support postgres' API to handle blob storage (incl lo_creat, lo_from_bytea))
  31: https://github.com/cockroachdb/cockroach/issues/27793  (sql: support custom/user-defined base scalar (primitive) types)
  24: https://github.com/cockroachdb/cockroach/issues/12123  (sql: Can't drop and replace a table within a transaction)
  24: https://github.com/cockroachdb/cockroach/issues/26443  (sql: support user-defined schemas between database and table)
  20: https://github.com/cockroachdb/cockroach/issues/21286  (sql: Add support for geometric types)
  18: https://github.com/cockroachdb/cockroach/issues/6583   (sql: explicit lock syntax (SELECT FOR {SHARE,UPDATE} {skip locked,nowait}))
  17: https://github.com/cockroachdb/cockroach/issues/22329  (Support XA distributed transactions in CockroachDB)
  16: https://github.com/cockroachdb/cockroach/issues/24062  (sql: 32 bit SERIAL type)
  16: https://github.com/cockroachdb/cockroach/issues/30352  (roadmap:when CockroachDB  will support cursor?)
  12: https://github.com/cockroachdb/cockroach/issues/27791  (sql: support RANGE types)
   8: https://github.com/cockroachdb/cockroach/issues/40195  (pgwire: multiple active result sets (portals) not supported)
   8: https://github.com/cockroachdb/cockroach/issues/6130   (sql: add support for key watches with notifications of changes)
   5: Expected Failure                                       (unknown)
   5: https://github.com/cockroachdb/cockroach/issues/23468  (sql: support sql arrays of JSONB)
   5: https://github.com/cockroachdb/cockroach/issues/40854  (sql: set application_name from connection string)
   4: https://github.com/cockroachdb/cockroach/issues/35879  (sql: `default_transaction_read_only` should also accept 'on' and 'off')
   4: https://github.com/cockroachdb/cockroach/issues/32610  (sql: can't insert self reference)
   4: https://github.com/cockroachdb/cockroach/issues/40205  (sql: add non-trivial implementations of FOR UPDATE, FOR NO KEY UPDATE, FOR SHARE, FOR NO KEY SHARE)
   4: https://github.com/cockroachdb/cockroach/issues/35897  (sql: unknown function: pg_terminate_backend())
   4: https://github.com/cockroachdb/cockroach/issues/4035   (sql/pgwire: missing support for row count limits in pgwire)
   3: https://github.com/cockroachdb/cockroach/issues/27796  (sql: support user-defined DOMAIN types)
   3: https://github.com/cockroachdb/cockroach/issues/3781   (sql: Add Data Type Formatting Functions)
   3: https://github.com/cockroachdb/cockroach/issues/40476  (sql: support `FOR {UPDATE,SHARE} {SKIP LOCKED,NOWAIT}`)
   3: https://github.com/cockroachdb/cockroach/issues/35882  (sql: support other character sets)
   2: https://github.com/cockroachdb/cockroach/issues/10028  (sql: Support view queries with star expansions)
   2: https://github.com/cockroachdb/cockroach/issues/35807  (sql: INTERVAL output doesn't match PG)
   2: https://github.com/cockroachdb/cockroach/issues/35902  (sql: large object support)
   2: https://github.com/cockroachdb/cockroach/issues/40474  (sql: support `SELECT ... FOR UPDATE OF` syntax)
   1: https://github.com/cockroachdb/cockroach/issues/18846  (sql: Support CIDR column type)
   1: https://github.com/cockroachdb/cockroach/issues/9682   (sql: implement computed indexes)
   1: https://github.com/cockroachdb/cockroach/issues/31632  (sql: FK options (deferrable, etc))
   1: https://github.com/cockroachdb/cockroach/issues/24897  (sql: CREATE OR REPLACE VIEW)
   1: pass?                                                  (unknown)
   1: https://github.com/cockroachdb/cockroach/issues/36215  (sql: enable setting standard_conforming_strings to off)
   1: https://github.com/cockroachdb/cockroach/issues/32562  (sql: support SET LOCAL and txn-scoped session variable changes)
   1: https://github.com/cockroachdb/cockroach/issues/36116  (sql: psychopg: investigate how `'infinity'::timestamp` is presented)
   1: https://github.com/cockroachdb/cockroach/issues/26732  (sql: support the binary operator: <int> / <float>)
   1: https://github.com/cockroachdb/cockroach/issues/23299  (sql: support coercing string literals to arrays)
   1: https://github.com/cockroachdb/cockroach/issues/36115  (sql: psychopg: investigate if datetimetz is being returned instead of datetime)
   1: https://github.com/cockroachdb/cockroach/issues/26925  (sql: make the CockroachDB integer types more compatible with postgres)
   1: https://github.com/cockroachdb/cockroach/issues/21085  (sql: WITH RECURSIVE (recursive common table expressions))
   1: https://github.com/cockroachdb/cockroach/issues/36179  (sql: implicity convert date to timestamp)
   1: https://github.com/cockroachdb/cockroach/issues/36118  (sql: Cannot parse '24:00' as type time)
   1: https://github.com/cockroachdb/cockroach/issues/31708  (sql: support current_time)

Release justification: non-production change
Release note: None

@jordanlewis jordanlewis requested review from rafiss and a team October 2, 2019 04:15
@cockroach-teamcity
Copy link
Member

This change is Reviewable

@awoods187
Copy link
Contributor

nice job!

Copy link
Collaborator

@rafiss rafiss left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewable status: :shipit: complete! 0 of 0 LGTMs obtained (waiting on @jordanlewis and @rafiss)


pkg/cmd/roachtest/blacklist_test.go, line 99 at r1 (raw file):

	ctx := context.Background()
	// If you run out of non-authed requests, set ts to your personal access token.

what is the non-auth rate limit? does the test running on CI affect some sort of global rate limit somehow?


pkg/cmd/roachtest/blacklist_test.go, line 128 at r1 (raw file):

			issueTitle = issueTitleMap[issueNum]
		}
		fmt.Printf("%4d: %-54s (%s)\n", counts[i].count, reason, issueTitle)

is there any different between using fmt.Printf vs t.Log that means we should prefer one or the other?


pkg/cmd/roachtest/blacklist_test.go, line 132 at r1 (raw file):

	if editedIssueTitleMap {
		// Print out a new issueTitleMap so the user can edit the one in this file.

the information in this comment would also be useful to be in the log messages

Copy link
Collaborator

@rafiss rafiss left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

excellent! def a good idea, just had minor questions

Reviewable status: :shipit: complete! 0 of 0 LGTMs obtained (waiting on @jordanlewis and @rafiss)

The spreadsheet we discussed is unwieldy - hard to edit and impossible to keep
up to date. If we write down blacklists in code, then we can use an approach
like this to always have an up to date aggregation.

So far it seems like there's just a lot of unknowns to categorize still.

The output today:

```
=== RUN   TestBlacklists
 648: unknown                                                (unknown)
 493: cockroachdb#5807   (sql: Add support for TEMP tables)
 151: cockroachdb#17511  (sql: support stored procedures)
  86: cockroachdb#26097  (sql: make TIMETZ more pg-compatible)
  56: cockroachdb#10735  (sql: support SQL savepoints)
  55: cockroachdb#32552  (multi-dim arrays)
  55: cockroachdb#26508  (sql: restricted DDL / DML inside transactions)
  52: cockroachdb#32565  (sql: support optional TIME precision)
  39: cockroachdb#243    (roadmap: Blob storage)
  33: cockroachdb#26725  (sql: support postgres' API to handle blob storage (incl lo_creat, lo_from_bytea))
  31: cockroachdb#27793  (sql: support custom/user-defined base scalar (primitive) types)
  24: cockroachdb#12123  (sql: Can't drop and replace a table within a transaction)
  24: cockroachdb#26443  (sql: support user-defined schemas between database and table)
  20: cockroachdb#21286  (sql: Add support for geometric types)
  18: cockroachdb#6583   (sql: explicit lock syntax (SELECT FOR {SHARE,UPDATE} {skip locked,nowait}))
  17: cockroachdb#22329  (Support XA distributed transactions in CockroachDB)
  16: cockroachdb#24062  (sql: 32 bit SERIAL type)
  16: cockroachdb#30352  (roadmap:when CockroachDB  will support cursor?)
  12: cockroachdb#27791  (sql: support RANGE types)
   8: cockroachdb#40195  (pgwire: multiple active result sets (portals) not supported)
   8: cockroachdb#6130   (sql: add support for key watches with notifications of changes)
   5: Expected Failure                                       (unknown)
   5: cockroachdb#23468  (sql: support sql arrays of JSONB)
   5: cockroachdb#40854  (sql: set application_name from connection string)
   4: cockroachdb#35879  (sql: `default_transaction_read_only` should also accept 'on' and 'off')
   4: cockroachdb#32610  (sql: can't insert self reference)
   4: cockroachdb#40205  (sql: add non-trivial implementations of FOR UPDATE, FOR NO KEY UPDATE, FOR SHARE, FOR NO KEY SHARE)
   4: cockroachdb#35897  (sql: unknown function: pg_terminate_backend())
   4: cockroachdb#4035   (sql/pgwire: missing support for row count limits in pgwire)
   3: cockroachdb#27796  (sql: support user-defined DOMAIN types)
   3: cockroachdb#3781   (sql: Add Data Type Formatting Functions)
   3: cockroachdb#40476  (sql: support `FOR {UPDATE,SHARE} {SKIP LOCKED,NOWAIT}`)
   3: cockroachdb#35882  (sql: support other character sets)
   2: cockroachdb#10028  (sql: Support view queries with star expansions)
   2: cockroachdb#35807  (sql: INTERVAL output doesn't match PG)
   2: cockroachdb#35902  (sql: large object support)
   2: cockroachdb#40474  (sql: support `SELECT ... FOR UPDATE OF` syntax)
   1: cockroachdb#18846  (sql: Support CIDR column type)
   1: cockroachdb#9682   (sql: implement computed indexes)
   1: cockroachdb#31632  (sql: FK options (deferrable, etc))
   1: cockroachdb#24897  (sql: CREATE OR REPLACE VIEW)
   1: pass?                                                  (unknown)
   1: cockroachdb#36215  (sql: enable setting standard_conforming_strings to off)
   1: cockroachdb#32562  (sql: support SET LOCAL and txn-scoped session variable changes)
   1: cockroachdb#36116  (sql: psychopg: investigate how `'infinity'::timestamp` is presented)
   1: cockroachdb#26732  (sql: support the binary operator: <int> / <float>)
   1: cockroachdb#23299  (sql: support coercing string literals to arrays)
   1: cockroachdb#36115  (sql: psychopg: investigate if datetimetz is being returned instead of datetime)
   1: cockroachdb#26925  (sql: make the CockroachDB integer types more compatible with postgres)
   1: cockroachdb#21085  (sql: WITH RECURSIVE (recursive common table expressions))
   1: cockroachdb#36179  (sql: implicity convert date to timestamp)
   1: cockroachdb#36118  (sql: Cannot parse '24:00' as type time)
   1: cockroachdb#31708  (sql: support current_time)
```

Release justification: non-production change
Release note: None
Copy link
Member Author

@jordanlewis jordanlewis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewable status: :shipit: complete! 0 of 0 LGTMs obtained (waiting on @rafiss)


pkg/cmd/roachtest/blacklist_test.go, line 99 at r1 (raw file):

Previously, rafiss (Rafi Shamim) wrote…

what is the non-auth rate limit? does the test running on CI affect some sort of global rate limit somehow?

I'm not sure. I think it's a per IP limit. If this starts breaking we'll just turn it off.


pkg/cmd/roachtest/blacklist_test.go, line 128 at r1 (raw file):

Previously, rafiss (Rafi Shamim) wrote…

is there any different between using fmt.Printf vs t.Log that means we should prefer one or the other?

t.Log only gets printed with test.v.


pkg/cmd/roachtest/blacklist_test.go, line 132 at r1 (raw file):

Previously, rafiss (Rafi Shamim) wrote…

the information in this comment would also be useful to be in the log messages

Done.

Copy link
Member Author

@jordanlewis jordanlewis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bors r+

Reviewable status: :shipit: complete! 0 of 0 LGTMs obtained (waiting on @rafiss)

craig bot pushed a commit that referenced this pull request Nov 7, 2019
41252: roachtest: add test that aggregates orm blacklist failures r=jordanlewis a=jordanlewis

The spreadsheet we discussed is unwieldy - hard to edit and impossible to keep
up to date. If we write down blacklists in code, then we can use an approach
like this to always have an up to date aggregation.

So far it seems like there's just a lot of unknowns to categorize still.

The output today:

```
=== RUN   TestBlacklists
 648: unknown                                                (unknown)
 493: #5807   (sql: Add support for TEMP tables)
 151: #17511  (sql: support stored procedures)
  86: #26097  (sql: make TIMETZ more pg-compatible)
  56: #10735  (sql: support SQL savepoints)
  55: #32552  (multi-dim arrays)
  55: #26508  (sql: restricted DDL / DML inside transactions)
  52: #32565  (sql: support optional TIME precision)
  39: #243    (roadmap: Blob storage)
  33: #26725  (sql: support postgres' API to handle blob storage (incl lo_creat, lo_from_bytea))
  31: #27793  (sql: support custom/user-defined base scalar (primitive) types)
  24: #12123  (sql: Can't drop and replace a table within a transaction)
  24: #26443  (sql: support user-defined schemas between database and table)
  20: #21286  (sql: Add support for geometric types)
  18: #6583   (sql: explicit lock syntax (SELECT FOR {SHARE,UPDATE} {skip locked,nowait}))
  17: #22329  (Support XA distributed transactions in CockroachDB)
  16: #24062  (sql: 32 bit SERIAL type)
  16: #30352  (roadmap:when CockroachDB  will support cursor?)
  12: #27791  (sql: support RANGE types)
   8: #40195  (pgwire: multiple active result sets (portals) not supported)
   8: #6130   (sql: add support for key watches with notifications of changes)
   5: Expected Failure                                       (unknown)
   5: #23468  (sql: support sql arrays of JSONB)
   5: #40854  (sql: set application_name from connection string)
   4: #35879  (sql: `default_transaction_read_only` should also accept 'on' and 'off')
   4: #32610  (sql: can't insert self reference)
   4: #40205  (sql: add non-trivial implementations of FOR UPDATE, FOR NO KEY UPDATE, FOR SHARE, FOR NO KEY SHARE)
   4: #35897  (sql: unknown function: pg_terminate_backend())
   4: #4035   (sql/pgwire: missing support for row count limits in pgwire)
   3: #27796  (sql: support user-defined DOMAIN types)
   3: #3781   (sql: Add Data Type Formatting Functions)
   3: #40476  (sql: support `FOR {UPDATE,SHARE} {SKIP LOCKED,NOWAIT}`)
   3: #35882  (sql: support other character sets)
   2: #10028  (sql: Support view queries with star expansions)
   2: #35807  (sql: INTERVAL output doesn't match PG)
   2: #35902  (sql: large object support)
   2: #40474  (sql: support `SELECT ... FOR UPDATE OF` syntax)
   1: #18846  (sql: Support CIDR column type)
   1: #9682   (sql: implement computed indexes)
   1: #31632  (sql: FK options (deferrable, etc))
   1: #24897  (sql: CREATE OR REPLACE VIEW)
   1: pass?                                                  (unknown)
   1: #36215  (sql: enable setting standard_conforming_strings to off)
   1: #32562  (sql: support SET LOCAL and txn-scoped session variable changes)
   1: #36116  (sql: psychopg: investigate how `'infinity'::timestamp` is presented)
   1: #26732  (sql: support the binary operator: <int> / <float>)
   1: #23299  (sql: support coercing string literals to arrays)
   1: #36115  (sql: psychopg: investigate if datetimetz is being returned instead of datetime)
   1: #26925  (sql: make the CockroachDB integer types more compatible with postgres)
   1: #21085  (sql: WITH RECURSIVE (recursive common table expressions))
   1: #36179  (sql: implicity convert date to timestamp)
   1: #36118  (sql: Cannot parse '24:00' as type time)
   1: #31708  (sql: support current_time)
```

Release justification: non-production change
Release note: None

Co-authored-by: Jordan Lewis <jordanthelewis@gmail.com>
@craig
Copy link
Contributor

craig bot commented Nov 7, 2019

Build succeeded

@craig craig bot merged commit 4010eac into cockroachdb:master Nov 7, 2019
@jordanlewis jordanlewis deleted the blacklist-print branch November 30, 2019 05:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants