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

ui: reroute new db page to legacy page if version error occurs #133843

Closed
xinhaoz opened this issue Oct 30, 2024 · 1 comment · Fixed by #133895
Closed

ui: reroute new db page to legacy page if version error occurs #133843

xinhaoz opened this issue Oct 30, 2024 · 1 comment · Fixed by #133895
Assignees
Labels
branch-release-24.3 Used to mark GA and release blockers, technical advisories, and bugs for 24.3 C-enhancement Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception) T-observability

Comments

@xinhaoz
Copy link
Member

xinhaoz commented Oct 30, 2024

A version incompatibility error is returned when the migration to create the system.table_metadata table and update job aren't yet completed. On the UI we should reroute to the legacy page when this occurs.

Epic: CRDB-37558

Jira issue: CRDB-43791

@xinhaoz xinhaoz added the C-enhancement Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception) label Oct 30, 2024
@xinhaoz xinhaoz self-assigned this Oct 30, 2024
xinhaoz added a commit to xinhaoz/cockroach that referenced this issue Oct 30, 2024
The migrations that support the v2 db page runs
on finalization. Rather than show a non-functional
page in an unfinalized cluster state let's reroute
to the legacy page.

Epic: CRDB-37558
Fixes: cockroachdb#133843

Release note (ui change): The v2 db pages will only
be available post ugprade finalization to 24.3. Prior
to that we'll continue to show the legacy page when
the cluster is in its unfinalized state.
xinhaoz added a commit to xinhaoz/cockroach that referenced this issue Oct 30, 2024
The migrations that support the v2 db page runs
on finalization. Rather than show a non-functional
page in an unfinalized cluster state let's reroute
to the legacy page.

Epic: CRDB-37558
Fixes: cockroachdb#133843

Release note (ui change): The v2 db pages will only
be available post ugprade finalization to 24.3. Prior
to that we'll continue to show the legacy page when
the cluster is in its unfinalized state.
xinhaoz added a commit to xinhaoz/cockroach that referenced this issue Oct 30, 2024
The migrations that support the v2 db page runs
on finalization. Rather than show a non-functional
page in an unfinalized cluster state let's reroute
to the legacy page.

Epic: CRDB-37558
Fixes: cockroachdb#133843

Release note (ui change): The v2 db pages will only
be available post ugprade finalization to 24.3. Prior
to that we'll continue to show the legacy page when
the cluster is in its unfinalized state.
xinhaoz added a commit to xinhaoz/cockroach that referenced this issue Oct 30, 2024
The migrations that support the v2 db page runs
on finalization. Rather than show a non-functional
page in an unfinalized cluster state let's reroute
to the legacy page.

Epic: CRDB-37558
Fixes: cockroachdb#133843

Release note (ui change): The v2 db pages will only
be available post ugprade finalization to 24.3. Prior
to that we'll continue to show the legacy page when
the cluster is in its unfinalized state.
craig bot pushed a commit that referenced this issue Nov 4, 2024
133895: ui: reroute v2 db page to legacy page when cluster is unfinalized r=xinhaoz a=xinhaoz

The migrations that support the v2 db page runs on finalization. Rather than show a non-functional page in an unfinalized cluster state let's reroute to the legacy page.

Epic: CRDB-37558
Fixes: #133843

Release note (ui change): The v2 db pages will only be available post ugprade finalization to 24.3. Prior to that we'll continue to show the legacy page when the cluster is in its unfinalized state.

Co-authored-by: Xin Hao Zhang <[email protected]>
craig bot pushed a commit that referenced this issue Nov 4, 2024
132877: kv: deflake TestLeaseQueueLeasePreferencePurgatoryError r=nvanbenschoten a=nvanbenschoten

Fixes #132652.

This commit fixes a flake in TestLeaseQueueLeasePreferencePurgatoryError where a delayed span config split could trip up the test and cause it to flake. We now wait for the span config split to be processed before waiting on the lease queue's purgatory, which should eliminate the flake.

Release note: None

133568: changefeedccl: add PTS to system.users r=andyyang890 a=asg0451

Add `system.users` to the list of system tables
that changefeeds protect with PTS. This table is
required for CDC Queries.

Part of: #128806

Release note (enterprise change): Add
`system.users` to the list of system tables that
changefeeds protect with PTS. This table is
required for CDC Queries.


133873: raft: ensure leaderMaxSupported does not regress when bumping terms r=nvanbenschoten a=arulajmani

Previously, it was possible for a leader to regress leaderMaxSupported by calling an election at a higher term. This was because we weren't careful to recognize this case on the leader, and followers had special case handling that allowed a leader to override `inFortifyLease`. Together, this could cause lease regressions for LeaderLeases in some rare cases.

This patch fixes this issue by removing special case handling in `inFortifyLease`. We also remove a special case in the handling of `MsgHup` which allowed a leader to step down and campaign without de-fortifying itself.

Fixes #133764

Release note: None

133895: ui: reroute v2 db page to legacy page when cluster is unfinalized r=xinhaoz a=xinhaoz

The migrations that support the v2 db page runs on finalization. Rather than show a non-functional page in an unfinalized cluster state let's reroute to the legacy page.

Epic: CRDB-37558
Fixes: #133843

Release note (ui change): The v2 db pages will only be available post ugprade finalization to 24.3. Prior to that we'll continue to show the legacy page when the cluster is in its unfinalized state.

134082: cli: improve tsdump upload concurrency behavior r=arjunmahishi a=dhartunian

- wrap concurrent error collection and status printing in necessary mutexes.
- reduce goroutine spawning to 10 for primary loop which avoids rate limit errors from datadog.

Release note: None

134216: sql/catalog: avoid multiple interface boxing allocs from `descpb.NameInfo` r=nvanbenschoten a=nvanbenschoten

When we cast a `descpb.NameInfo` to a `catalog.NameKey`, we incur at least one heap allocation to box the struct in an interface. This commit ensures that it's only one, and not multiple.

The change was motivated by observing two heap allocations in `lookupStoreCacheID`. Ideally, we would have no heap allocations here, but this is a step in the right direction.

While here, we also clean up a few similar cases.

```
name                            old time/op    new time/op    delta
Sysbench/SQL/oltp_read_only       36.3ms ± 4%    36.0ms ± 3%    ~     (p=0.730 n=9+9)
Sysbench/SQL/oltp_write_only      19.3ms ± 6%    18.8ms ± 4%  -2.36%  (p=0.043 n=9+10)
Sysbench/SQL/oltp_read_write      58.7ms ± 3%    57.2ms ± 2%  -2.49%  (p=0.000 n=10+10)
Sysbench/SQL/oltp_point_select    1.61ms ± 1%    1.56ms ± 2%  -2.59%  (p=0.000 n=9+10)
Sysbench/SQL/oltp_begin_commit     594µs ± 4%     608µs ± 7%    ~     (p=0.089 n=10+10)

name                            old alloc/op   new alloc/op   delta
Sysbench/SQL/oltp_read_only       1.05MB ± 1%    1.04MB ± 0%  -0.64%  (p=0.004 n=9+10)
Sysbench/SQL/oltp_write_only       405kB ± 1%     404kB ± 1%    ~     (p=0.720 n=9+10)
Sysbench/SQL/oltp_read_write      1.50MB ± 1%    1.51MB ± 1%    ~     (p=0.447 n=9+10)
Sysbench/SQL/oltp_point_select    35.3kB ± 2%    35.1kB ± 2%    ~     (p=0.278 n=9+10)
Sysbench/SQL/oltp_begin_commit    18.9kB ± 0%    18.9kB ± 1%    ~     (p=0.055 n=10+10)

name                            old allocs/op  new allocs/op  delta
Sysbench/SQL/oltp_read_only        6.96k ± 1%     6.86k ± 1%  -1.37%  (p=0.000 n=9+10)
Sysbench/SQL/oltp_write_only       3.62k ± 1%     3.58k ± 0%  -0.96%  (p=0.000 n=9+10)
Sysbench/SQL/oltp_read_write       11.0k ± 1%     10.9k ± 1%  -0.56%  (p=0.030 n=9+10)
Sysbench/SQL/oltp_point_select       317 ± 1%       312 ± 0%  -1.74%  (p=0.000 n=9+10)
Sysbench/SQL/oltp_begin_commit       140 ± 0%       140 ± 0%    ~     (p=1.000 n=10+10)
```

Epic: None
Release note: None

134217: sql: fix recently introduced data race r=yuzefovich a=yuzefovich

Recently, in a5b8d06 we introduced a possible data race. Namely, that change modifies a proto inside of the physical plan to cap the slice of types during the vectorized operator planning in order to prevent a type schema corruption due to slice aliasing. However, it's been assumed in a couple of places that the physical plan is immutable. This commit clarifies that the physical plan is immutable after its finalization and moves the capping into the finalization.

Fixes: #133934.

Release note: None

Co-authored-by: Nathan VanBenschoten <[email protected]>
Co-authored-by: Miles Frankel <[email protected]>
Co-authored-by: Arul Ajmani <[email protected]>
Co-authored-by: Xin Hao Zhang <[email protected]>
Co-authored-by: David Hartunian <[email protected]>
Co-authored-by: Yahor Yuzefovich <[email protected]>
craig bot pushed a commit that referenced this issue Nov 4, 2024
133895: ui: reroute v2 db page to legacy page when cluster is unfinalized r=xinhaoz a=xinhaoz

The migrations that support the v2 db page runs on finalization. Rather than show a non-functional page in an unfinalized cluster state let's reroute to the legacy page.

Epic: CRDB-37558
Fixes: #133843

Release note (ui change): The v2 db pages will only be available post ugprade finalization to 24.3. Prior to that we'll continue to show the legacy page when the cluster is in its unfinalized state.

134082: cli: improve tsdump upload concurrency behavior r=arjunmahishi a=dhartunian

- wrap concurrent error collection and status printing in necessary mutexes.
- reduce goroutine spawning to 10 for primary loop which avoids rate limit errors from datadog.

Release note: None

134154: raft: enable store liveness in raft unit tests phase 3 r=iskettaneh a=iskettaneh

The first 2 commits are based on #133971

This commit modifies the following tests to allow them to run in both
store liveness enabled/disabled configurations:

1) TestDisruptiveFollower
2) TestDisruptiveFollowerPreVote
3) TestDuelingCandidates
4) TestDuelingPreCandidates
5) TestFreeStuckCandidateWithCheckQuorum
6) TestLeaderElectionWithCheckQuorum

References: #132241

Release note: None

134216: sql/catalog: avoid multiple interface boxing allocs from `descpb.NameInfo` r=nvanbenschoten a=nvanbenschoten

When we cast a `descpb.NameInfo` to a `catalog.NameKey`, we incur at least one heap allocation to box the struct in an interface. This commit ensures that it's only one, and not multiple.

The change was motivated by observing two heap allocations in `lookupStoreCacheID`. Ideally, we would have no heap allocations here, but this is a step in the right direction.

While here, we also clean up a few similar cases.

```
name                            old time/op    new time/op    delta
Sysbench/SQL/oltp_read_only       36.3ms ± 4%    36.0ms ± 3%    ~     (p=0.730 n=9+9)
Sysbench/SQL/oltp_write_only      19.3ms ± 6%    18.8ms ± 4%  -2.36%  (p=0.043 n=9+10)
Sysbench/SQL/oltp_read_write      58.7ms ± 3%    57.2ms ± 2%  -2.49%  (p=0.000 n=10+10)
Sysbench/SQL/oltp_point_select    1.61ms ± 1%    1.56ms ± 2%  -2.59%  (p=0.000 n=9+10)
Sysbench/SQL/oltp_begin_commit     594µs ± 4%     608µs ± 7%    ~     (p=0.089 n=10+10)

name                            old alloc/op   new alloc/op   delta
Sysbench/SQL/oltp_read_only       1.05MB ± 1%    1.04MB ± 0%  -0.64%  (p=0.004 n=9+10)
Sysbench/SQL/oltp_write_only       405kB ± 1%     404kB ± 1%    ~     (p=0.720 n=9+10)
Sysbench/SQL/oltp_read_write      1.50MB ± 1%    1.51MB ± 1%    ~     (p=0.447 n=9+10)
Sysbench/SQL/oltp_point_select    35.3kB ± 2%    35.1kB ± 2%    ~     (p=0.278 n=9+10)
Sysbench/SQL/oltp_begin_commit    18.9kB ± 0%    18.9kB ± 1%    ~     (p=0.055 n=10+10)

name                            old allocs/op  new allocs/op  delta
Sysbench/SQL/oltp_read_only        6.96k ± 1%     6.86k ± 1%  -1.37%  (p=0.000 n=9+10)
Sysbench/SQL/oltp_write_only       3.62k ± 1%     3.58k ± 0%  -0.96%  (p=0.000 n=9+10)
Sysbench/SQL/oltp_read_write       11.0k ± 1%     10.9k ± 1%  -0.56%  (p=0.030 n=9+10)
Sysbench/SQL/oltp_point_select       317 ± 1%       312 ± 0%  -1.74%  (p=0.000 n=9+10)
Sysbench/SQL/oltp_begin_commit       140 ± 0%       140 ± 0%    ~     (p=1.000 n=10+10)
```

Epic: None
Release note: None

134217: sql: fix recently introduced data race r=yuzefovich a=yuzefovich

Recently, in a5b8d06 we introduced a possible data race. Namely, that change modifies a proto inside of the physical plan to cap the slice of types during the vectorized operator planning in order to prevent a type schema corruption due to slice aliasing. However, it's been assumed in a couple of places that the physical plan is immutable. This commit clarifies that the physical plan is immutable after its finalization and moves the capping into the finalization.

Fixes: #133934.

Release note: None

Co-authored-by: Xin Hao Zhang <[email protected]>
Co-authored-by: David Hartunian <[email protected]>
Co-authored-by: Ibrahim Kettaneh <[email protected]>
Co-authored-by: Nathan VanBenschoten <[email protected]>
Co-authored-by: Yahor Yuzefovich <[email protected]>
@craig craig bot closed this as completed in f2c93ea Nov 4, 2024
Copy link

blathers-crl bot commented Nov 4, 2024

Based on the specified backports for linked PR #133895, I applied the following new label(s) to this issue: branch-release-24.3. 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 the branch-release-24.3 Used to mark GA and release blockers, technical advisories, and bugs for 24.3 label Nov 4, 2024
blathers-crl bot pushed a commit that referenced this issue Nov 4, 2024
The migrations that support the v2 db page runs
on finalization. Rather than show a non-functional
page in an unfinalized cluster state let's reroute
to the legacy page.

Epic: CRDB-37558
Fixes: #133843

Release note (ui change): The v2 db pages will only
be available post ugprade finalization to 24.3. Prior
to that we'll continue to show the legacy page when
the cluster is in its unfinalized state.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
branch-release-24.3 Used to mark GA and release blockers, technical advisories, and bugs for 24.3 C-enhancement Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception) T-observability
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant