Skip to content

Commit d186c47

Browse files
authored
Merge pull request #143091 from cockroachdb/blathers/backport-release-24.3-143007
release-24.3: upgrades: skip creating defaultdb/postgres dbs during PCR reader tenant startup
2 parents e1ccfd3 + 3b055be commit d186c47

File tree

3 files changed

+27
-1
lines changed

3 files changed

+27
-1
lines changed

Diff for: pkg/upgrade/upgrades/BUILD.bazel

+1
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ go_library(
6262
"//pkg/upgrade/upgradebase",
6363
"//pkg/util/buildutil",
6464
"//pkg/util/envutil",
65+
"//pkg/util/hlc",
6566
"//pkg/util/log",
6667
"//pkg/util/log/logcrash",
6768
"//pkg/util/protoutil",

Diff for: pkg/upgrade/upgrades/permanent_maybe_setup_pcr_reader.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ func maybeSetupPCRStandbyReader(
2323
if d.TenantInfoAccessor == nil {
2424
return nil
2525
}
26-
id, ts, err := d.TenantInfoAccessor.ReadFromTenantInfo(ctx)
26+
id, ts, err := readerTenantInfo(ctx, d)
2727
if err != nil {
2828
return err
2929
}

Diff for: pkg/upgrade/upgrades/permanent_upgrades.go

+25
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import (
2020
"github.com/cockroachdb/cockroach/pkg/sql/sem/tree"
2121
"github.com/cockroachdb/cockroach/pkg/sql/sessiondata"
2222
"github.com/cockroachdb/cockroach/pkg/upgrade"
23+
"github.com/cockroachdb/cockroach/pkg/util/hlc"
2324
"github.com/cockroachdb/cockroach/pkg/util/log"
2425
"github.com/cockroachdb/cockroach/pkg/util/protoutil"
2526
"github.com/cockroachdb/errors"
@@ -234,6 +235,12 @@ func createDefaultDbs(
234235
// already.
235236
const createDbStmt = `CREATE DATABASE IF NOT EXISTS "%s" WITH OWNER root`
236237

238+
id, _, _ := readerTenantInfo(ctx, deps)
239+
if id.IsSet() {
240+
// Don't create the default databases for read from standby tenants.
241+
return nil
242+
}
243+
237244
var err error
238245
for _, dbName := range []string{catalogkeys.DefaultDatabaseName, catalogkeys.PgDatabaseName} {
239246
stmt := fmt.Sprintf(createDbStmt, dbName)
@@ -245,3 +252,21 @@ func createDefaultDbs(
245252
}
246253
return nil
247254
}
255+
256+
// readerTenantInfo returns the tenant ID and timestamp if we're spinning up a
257+
// read from standby tenant.
258+
func readerTenantInfo(
259+
ctx context.Context, d upgrade.TenantDeps,
260+
) (roachpb.TenantID, hlc.Timestamp, error) {
261+
if d.TenantInfoAccessor == nil {
262+
return roachpb.TenantID{}, hlc.Timestamp{}, nil
263+
}
264+
id, ts, err := d.TenantInfoAccessor.ReadFromTenantInfo(ctx)
265+
if err != nil {
266+
return roachpb.TenantID{}, hlc.Timestamp{}, err
267+
}
268+
if !id.IsSet() {
269+
return roachpb.TenantID{}, hlc.Timestamp{}, nil
270+
}
271+
return id, ts, nil
272+
}

0 commit comments

Comments
 (0)