cockroachdb / cockroachdb/cockroach

server: adjust TestLogGCTrigger for test tenant

Open
#107,409 0 comments 0 reactions 0 assignees View on GitHub
C-bug P-3 T-kv
Dominant language
Go
Stars
32.5k
Forks
4.1k
PR merge metrics
PR metrics pending

Description

Once `ccl` is linked in, if we attempt to start the test tenant in `TestLogGCTrigger`, the test crashes with
```
* ERROR: a panic has occurred!
* panic: SQL instance ID not set
* (1) attached stack trace
* -- stack trace:
* | runtime.gopanic
* | GOROOT/src/runtime/panic.go:884
* | github.com/cockroachdb/cockroach/pkg/sql/catalog/lease.storage.acquire.func1
* | github.com/cockroachdb/cockroach/pkg/sql/catalog/lease/storage.go:136
* | github.com/cockroachdb/cockroach/pkg/kv.runTxn.func1
* | github.com/cockroachdb/cockroach/pkg/kv/db.go:997
* | github.com/cockroachdb/cockroach/pkg/kv.(*Txn).exec
* | github.com/cockroachdb/cockroach/pkg/kv/txn.go:945
* | github.com/cockroachdb/cockroach/pkg/kv.runTxn
* | github.com/cockroachdb/cockroach/pkg/kv/db.go:996
* | github.com/cockroachdb/cockroach/pkg/kv.(*DB).TxnWithAdmissionControl
* | github.com/cockroachdb/cockroach/pkg/kv/db.go:959
* | github.com/cockroachdb/cockroach/pkg/kv.(*DB).Txn
* | github.com/cockroachdb/cockroach/pkg/kv/db.go:934
* | github.com/cockroachdb/cockroach/pkg/sql/catalog/lease.storage.acquire
* | github.com/cockroachdb/cockroach/pkg/sql/catalog/lease/storage.go:189
* | github.com/cockroachdb/cockroach/pkg/sql/catalog/lease.acquireNodeLease.func1
* | github.com/cockroachdb/cockroach/pkg/sql/catalog/lease/lease.go:541
* | github.com/cockroachdb/cockroach/pkg/util/syncutil/singleflight.(*Group).doCall.func1
* | github.com/cockroachdb/cockroach/pkg/util/syncutil/singleflight/singleflight.go:387
* | github.com/cockroachdb/cockroach/pkg/util/stop.(*Stopper).RunTask
* | github.com/cockroachdb/cockroach/pkg/util/stop/stopper.go:319
* | github.com/cockroachdb/cockroach/pkg/util/syncutil/singleflight.(*Group).doCall
* | github.com/cockroachdb/cockroach/pkg/util/syncutil/singleflight/singleflight.go:386
* | runtime.goexit
* | GOROOT/src/runtime/asm_arm64.s:1172
* Wraps: (2) panic: SQL instance ID not set
```
This goroutine shows that this is during the startup of the test tenant:
```
goroutine 23 [select]:
github.com/cockroachdb/cockroach/pkg/util/retry.(*Retry).Next(0x1400279b860)
github.com/cockroachdb/cockroach/pkg/util/retry/retry.go:128 +0xe0
github.com/cockroachdb/cockroach/pkg/sql/sqlinstance/instancestorage.(*Storage).createInstanceRow(0x140025d5860, {0x1070622c0, 0x14004b5f500}, {0x140007449f0, 0x13}, {0x1?, 0x0?, 0x0?}, {0x140039c32c0, 0xf}, ...)
github.com/cockroachdb/cockroach/pkg/sql/sqlinstance/instancestorage/instancestorage.go:341 +0x320
github.com/cockroachdb/cockroach/pkg/sql/sqlinstance/instancestorage.(*Storage).CreateInstance(...)
github.com/cockroachdb/cockroach/pkg/sql/sqlinstance/instancestorage/instancestorage.go:188
github.com/cockroachdb/cockroach/pkg/server.(*SQLServer).preStart.func2({0x1070622c0, 0x14004b5f500})
github.com/cockroachdb/cockroach/pkg/server/server_sql.go:1471 +0x2b8
github.com/cockroachdb/cockroach/pkg/util/startup.RunIdempotentWithRetryEx[...]({0x1070622c0?, 0x14004173260?}, 0x14004c84d80?, {0x104a9ac63, 0x1c}, 0x1400279c178)
github.com/cockroachdb/cockroach/pkg/util/startup/retry.go:142 +0x238
github.com/cockroachdb/cockroach/pkg/server.(*SQLServer).preStart(_, {_, _}, _, {{0x10700f3c0, 0x140021f4380}, {0x0, 0x0}, {0x0, 0x0}, ...}, ...)
github.com/cockroachdb/cockroach/pkg/server/server_sql.go:1454 +0x358
github.com/cockroachdb/cockroach/pkg/server.(*SQLServerWrapper).PreStart(0x14005bd3d00, {0x107062250?, 0x140001aa018})
github.com/cockroachdb/cockroach/pkg/server/tenant.go:743 +0x12a0
github.com/cockroachdb/cockroach/pkg/server.(*SQLServerWrapper).Start(0x14004ed0000?, {0x107062250, 0x140001aa018})
github.com/cockroachdb/cockroach/pkg/server/tenant.go:910 +0x28
github.com/cockroachdb/cockroach/pkg/server.(*TestServer).StartTenant(_, {_, _}, {{0x0, 0x0}, {0xa}, 0x0, 0x0, 0x0, {{0x10700f3c0, ...}, ...}, ...})
github.com/cockroachdb/cockroach/pkg/server/testserver.go:1262 +0x1554
github.com/cockroachdb/cockroach/pkg/server.(*TestServer).maybeStartDefaultTestTenant(0x14002165c00, {0x107062250, 0x140001aa018})
github.com/cockroachdb/cockroach/pkg/server/testserver.go:604 +0x3d4
github.com/cockroachdb/cockroach/pkg/server.(*TestServer).Start(0x14002165c00, {0x107062250, 0x140001aa018})
github.com/cockroachdb/cockroach/pkg/server/testserver.go:648 +0xa0
github.com/cockroachdb/cockroach/pkg/testutils/serverutils.StartServer({_, _}, {{{0x10700f3c0, 0x140021f4380}, {0x0, 0x0}, {0x0, 0x0}, {0x0, 0x0}, ...}, ...})
github.com/cockroachdb/cockroach/pkg/testutils/serverutils/test_server_shim.go:341 +0x174
github.com/cockroachdb/cockroach/pkg/server.TestLogGCTrigger(0x14003b3e9c0)
github.com/cockroachdb/cockroach/pkg/server/server_systemlog_gc_test.go:198 +0x1cc
testing.tRunner(0x14003b3e9c0, 0x106fb4698)
GOROOT/src/testing/testing.go:1446 +0x10c
created by testing.(*T).Run
GOROOT/src/testing/testing.go:1493 +0x300
```
My guess is that it's because of `StoreTestingKnobs` used by the test.

Jira issue: CRDB-30026

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.