Skip to content

Commit

Permalink
sql/catalog: add region_liveness table
Browse files Browse the repository at this point in the history
Previously, we had no way of tracking region liveness
which could can be used to improve behaviour on region
failures. To address this, this patch introduces the
system.region_liveness table.

Epic: CRDB-28158

Informs: cockroachdb#103727

Release note: None
  • Loading branch information
fqazi committed Aug 9, 2023
1 parent 4c34b48 commit 42a901e
Show file tree
Hide file tree
Showing 59 changed files with 906 additions and 707 deletions.
3 changes: 3 additions & 0 deletions pkg/ccl/backupccl/system_schema.go
Original file line number Diff line number Diff line change
Expand Up @@ -815,6 +815,9 @@ var systemTableBackupConfiguration = map[string]systemBackupConfiguration{
systemschema.TransactionActivityTable.GetName(): {
shouldIncludeInClusterBackup: optOutOfClusterBackup,
},
systemschema.RegionLivenessTable.GetName(): {
shouldIncludeInClusterBackup: optOutOfClusterBackup,
},
}

func rekeySystemTable(
Expand Down
2 changes: 1 addition & 1 deletion pkg/ccl/logictestccl/testdata/logic_test/changefeed
Original file line number Diff line number Diff line change
Expand Up @@ -64,4 +64,4 @@ testuser CREATE CHANGEFEED FOR TABLE t INTO 'null://sink' WITH OPTIONS (initial_
query TT
SELECT user_name, description FROM [SHOW CHANGEFEED JOBS]
----
testuser CREATE CHANGEFEED FOR TABLE t INTO 'null://sink' WITH OPTIONS (initial_scan = 'only')
testuser CREATE CHANGEFEED FOR TABLE t INTO 'null://sink' WITH OPTIONS (initial_scan = 'only')
4 changes: 2 additions & 2 deletions pkg/ccl/logictestccl/testdata/logic_test/crdb_internal_tenant
Original file line number Diff line number Diff line change
Expand Up @@ -349,12 +349,12 @@ txn_id txn_fingerprint_id query implicit_txn session_id start_time end_tim
query ITTI
SELECT range_id, start_pretty, end_pretty, lease_holder FROM crdb_internal.ranges
----
64 /Tenant/10 /Tenant/11 1
65 /Tenant/10 /Tenant/11 1

query ITT
SELECT range_id, start_pretty, end_pretty FROM crdb_internal.ranges_no_leases
----
64 /Tenant/10 /Tenant/11
65 /Tenant/10 /Tenant/11

query IT
SELECT zone_id, target FROM crdb_internal.zones ORDER BY 1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -461,7 +461,7 @@ skipif config multiregion-9node-3region-3azs-vec-off
query I retry
SELECT DISTINCT range_id FROM [SHOW RANGES FROM TABLE messages_rbr]
----
66
67

# Update does not fail when accessing all rows in messages_rbr because lookup
# join does not error out the lookup table in phase 1.
Expand Down
1 change: 1 addition & 0 deletions pkg/ccl/multiregionccl/multiregion_system_table_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -218,6 +218,7 @@ func TestMrSystemDatabase(t *testing.T) {
{"TABLE system.public.descriptor"},
{"TABLE system.public.namespace"},
{"TABLE system.public.privileges"},
{"TABLE system.public.region_liveness"},
{"TABLE system.public.role_members"},
{"TABLE system.public.role_options"},
{"TABLE system.public.settings"},
Expand Down
6 changes: 5 additions & 1 deletion pkg/ccl/spanconfigccl/spanconfigreconcilerccl/testdata/basic
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ upsert /Table/{5-6} database system (host)
upsert /Table/{6-7} database system (host)
upsert /Table/{7-8} database system (host)
upsert /Table/{8-9} database system (host)
upsert /Table/{9-10} database system (host)
upsert /Table/1{1-2} database system (host)
upsert /Table/1{2-3} database system (host)
upsert /Table/1{3-4} database system (host)
Expand Down Expand Up @@ -105,6 +106,7 @@ upsert /Table/11{2-3} num_replicas=7
state offset=47
----
...
/Table/4{6-7} database system (host)
/Table/4{7-8} database system (host)
/Table/4{8-9} database system (host)
/Table/5{0-1} database system (host)
Expand Down Expand Up @@ -143,6 +145,8 @@ delete /Table/{7-8}
upsert /Table/{7-8} ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/{8-9}
upsert /Table/{8-9} ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/{9-10}
upsert /Table/{9-10} ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/1{1-2}
upsert /Table/1{1-2} ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/1{2-3}
Expand Down Expand Up @@ -239,6 +243,7 @@ state offset=5 limit=42
/Table/{6-7} ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/{7-8} ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/{8-9} ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/{9-10} ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/1{1-2} ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/1{2-3} ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/1{3-4} ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
Expand Down Expand Up @@ -274,5 +279,4 @@ state offset=5 limit=42
/Table/4{3-4} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/4{4-5} ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/4{5-6} ttl_seconds=7200 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/4{6-7} ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
...
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ upsert /Table/10{6-7} range default
state offset=47
----
...
/Table/4{6-7} database system (host)
/Table/4{7-8} database system (host)
/Table/4{8-9} database system (host)
/Table/5{0-1} database system (host)
Expand Down Expand Up @@ -57,6 +58,7 @@ upsert /Table/10{6/3-7} num_replicas=7
state offset=47
----
...
/Table/4{6-7} database system (host)
/Table/4{7-8} database system (host)
/Table/4{8-9} database system (host)
/Table/5{0-1} database system (host)
Expand Down Expand Up @@ -95,6 +97,7 @@ upsert /Table/10{6/3-7} ttl_seconds=3600 num_replicas=7
state offset=47
----
...
/Table/4{6-7} database system (host)
/Table/4{7-8} database system (host)
/Table/4{8-9} database system (host)
/Table/5{0-1} database system (host)
Expand Down Expand Up @@ -123,6 +126,7 @@ ALTER TABLE db.t CONFIGURE ZONE USING num_replicas = 9
state offset=47
----
...
/Table/4{6-7} database system (host)
/Table/4{7-8} database system (host)
/Table/4{8-9} database system (host)
/Table/5{0-1} database system (host)
Expand Down Expand Up @@ -164,6 +168,7 @@ delete /Table/10{6/3-7}
state offset=46
----
...
/Table/4{5-6} ttl_seconds=7200 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/4{6-7} database system (host)
/Table/4{7-8} database system (host)
/Table/4{8-9} database system (host)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ mutations
state offset=47
----
...
/Table/4{6-7} database system (host)
/Table/4{7-8} database system (host)
/Table/4{8-9} database system (host)
/Table/5{0-1} database system (host)
Expand Down Expand Up @@ -53,6 +54,7 @@ upsert /Tenant/10/Table/{4-5} database system (tenant)
upsert /Tenant/10/Table/{5-6} database system (tenant)
upsert /Tenant/10/Table/{6-7} database system (tenant)
upsert /Tenant/10/Table/{7-8} database system (tenant)
upsert /Tenant/10/Table/{9-10} database system (tenant)
upsert /Tenant/10/Table/1{1-2} database system (tenant)
upsert /Tenant/10/Table/1{2-3} database system (tenant)
upsert /Tenant/10/Table/1{3-4} database system (tenant)
Expand Down Expand Up @@ -97,6 +99,7 @@ upsert /Tenant/10/Table/{59-60} database system (tenant)
state offset=47
----
...
/Table/4{6-7} database system (host)
/Table/4{7-8} database system (host)
/Table/4{8-9} database system (host)
/Table/5{0-1} database system (host)
Expand All @@ -117,6 +120,7 @@ state offset=47
/Tenant/10/Table/{5-6} database system (tenant)
/Tenant/10/Table/{6-7} database system (tenant)
/Tenant/10/Table/{7-8} database system (tenant)
/Tenant/10/Table/{9-10} database system (tenant)
/Tenant/10/Table/1{1-2} database system (tenant)
/Tenant/10/Table/1{2-3} database system (tenant)
/Tenant/10/Table/1{3-4} database system (tenant)
Expand Down Expand Up @@ -181,6 +185,8 @@ upsert /Tenant/10/Table/11{3-4} range default
state offset=81
----
...
/Tenant/10/Table/2{7-8} database system (tenant)
/Tenant/10/Table/2{8-9} database system (tenant)
/Tenant/10/NamespaceTable/{30-Max} database system (tenant)
/Tenant/10/{NamespaceTable/Max-Table/32} database system (tenant)
/Tenant/10/Table/3{2-3} database system (tenant)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ mutations
state offset=47
----
...
/Table/4{6-7} database system (host)
/Table/4{7-8} database system (host)
/Table/4{8-9} database system (host)
/Table/5{0-1} database system (host)
Expand Down Expand Up @@ -69,6 +70,7 @@ upsert /Tenant/10/Table/{4-5} database system (tenant)
upsert /Tenant/10/Table/{5-6} database system (tenant)
upsert /Tenant/10/Table/{6-7} database system (tenant)
upsert /Tenant/10/Table/{7-8} database system (tenant)
upsert /Tenant/10/Table/{9-10} database system (tenant)
upsert /Tenant/10/Table/1{1-2} database system (tenant)
upsert /Tenant/10/Table/1{2-3} database system (tenant)
upsert /Tenant/10/Table/1{3-4} database system (tenant)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ initialize tenant=11
state offset=47
----
...
/Table/4{6-7} database system (host)
/Table/4{7-8} database system (host)
/Table/4{8-9} database system (host)
/Table/5{0-1} database system (host)
Expand Down Expand Up @@ -69,6 +70,7 @@ mutations discard tenant=10
state offset=47
----
...
/Table/4{6-7} database system (host)
/Table/4{7-8} database system (host)
/Table/4{8-9} database system (host)
/Table/5{0-1} database system (host)
Expand All @@ -89,6 +91,7 @@ state offset=47
/Tenant/10/Table/{5-6} database system (tenant)
/Tenant/10/Table/{6-7} database system (tenant)
/Tenant/10/Table/{7-8} database system (tenant)
/Tenant/10/Table/{9-10} database system (tenant)
/Tenant/10/Table/1{1-2} database system (tenant)
/Tenant/10/Table/1{2-3} database system (tenant)
/Tenant/10/Table/1{3-4} database system (tenant)
Expand Down Expand Up @@ -166,6 +169,8 @@ mutations discard tenant=11
state offset=81
----
...
/Tenant/10/Table/2{7-8} database system (tenant)
/Tenant/10/Table/2{8-9} database system (tenant)
/Tenant/10/NamespaceTable/{30-Max} database system (tenant)
/Tenant/10/{NamespaceTable/Max-Table/32} database system (tenant)
/Tenant/10/Table/3{2-3} database system (tenant)
Expand Down Expand Up @@ -199,6 +204,7 @@ state offset=81
/Tenant/11/Table/{5-6} ttl_seconds=18000 ignore_strict_gc=true rangefeed_enabled=true
/Tenant/11/Table/{6-7} ttl_seconds=18000 ignore_strict_gc=true rangefeed_enabled=true
/Tenant/11/Table/{7-8} ttl_seconds=18000 ignore_strict_gc=true rangefeed_enabled=true
/Tenant/11/Table/{9-10} ttl_seconds=18000 ignore_strict_gc=true rangefeed_enabled=true
/Tenant/11/Table/1{1-2} ttl_seconds=18000 ignore_strict_gc=true rangefeed_enabled=true
/Tenant/11/Table/1{2-3} ttl_seconds=18000 ignore_strict_gc=true rangefeed_enabled=true
/Tenant/11/Table/1{3-4} ttl_seconds=18000 ignore_strict_gc=true rangefeed_enabled=true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ initialize tenant=11
state offset=59
----
...
/Table/{59-60} database system (host)
/Table/6{0-1} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/6{1-2} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/6{2-3} database system (host)
Expand All @@ -37,9 +38,9 @@ reconcile tenant=11
state offset=60 limit=3
----
...
/Table/6{0-1} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/6{1-2} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/6{2-3} database system (host)
/Tenant/11{-/Table/4} database system (tenant)
...

# Peek near the end of the span_configurations table where tenant=11's records
Expand All @@ -48,6 +49,8 @@ state offset=60 limit=3
state offset=103
----
...
/Tenant/11/Table/5{4-5} database system (tenant)
/Tenant/11/Table/5{5-6} database system (tenant)
/Tenant/11/Table/5{6-7} database system (tenant)
/Tenant/11/Table/5{7-8} database system (tenant)
/Tenant/11/Table/5{8-9} database system (tenant)
Expand All @@ -66,6 +69,7 @@ upsert /Tenant/11/Table/{4-5} database system (tenant)
upsert /Tenant/11/Table/{5-6} database system (tenant)
upsert /Tenant/11/Table/{6-7} database system (tenant)
upsert /Tenant/11/Table/{7-8} database system (tenant)
upsert /Tenant/11/Table/{9-10} database system (tenant)
upsert /Tenant/11/Table/1{1-2} database system (tenant)
upsert /Tenant/11/Table/1{2-3} database system (tenant)
upsert /Tenant/11/Table/1{3-4} database system (tenant)
Expand Down Expand Up @@ -117,9 +121,9 @@ initialize tenant=10
state offset=59 limit=5
----
...
/Table/{59-60} database system (host)
/Table/6{0-1} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/6{1-2} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/6{2-3} database system (host)
/Tenant/10{-\x00} database system (tenant)
/Tenant/11{-/Table/4} database system (tenant)
...
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,7 @@ state limit=5
state offset=46
----
...
/Table/4{5-6} ttl_seconds=7200 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/4{6-7} database system (host)
/Table/4{7-8} database system (host)
/Table/4{8-9} database system (host)
Expand Down Expand Up @@ -153,6 +154,7 @@ upsert /Table/10{7-8} ttl_seconds=50
state offset=46
----
...
/Table/4{5-6} ttl_seconds=7200 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/4{6-7} database system (host)
/Table/4{7-8} database system (host)
/Table/4{8-9} database system (host)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ mutations discard
state offset=47
----
...
/Table/4{6-7} database system (host)
/Table/4{7-8} database system (host)
/Table/4{8-9} database system (host)
/Table/5{0-1} database system (host)
Expand Down Expand Up @@ -47,6 +48,7 @@ upsert /Table/10{6-7} range default
state offset=47
----
...
/Table/4{6-7} database system (host)
/Table/4{7-8} database system (host)
/Table/4{8-9} database system (host)
/Table/5{0-1} database system (host)
Expand Down Expand Up @@ -78,6 +80,7 @@ upsert /Table/10{6-7} num_replicas=7 num_voters=5
state offset=47
----
...
/Table/4{6-7} database system (host)
/Table/4{7-8} database system (host)
/Table/4{8-9} database system (host)
/Table/5{0-1} database system (host)
Expand Down Expand Up @@ -114,6 +117,7 @@ upsert /Table/10{6/1/3-7} num_replicas=7 num_voters=5
state offset=47
----
...
/Table/4{6-7} database system (host)
/Table/4{7-8} database system (host)
/Table/4{8-9} database system (host)
/Table/5{0-1} database system (host)
Expand Down Expand Up @@ -150,6 +154,7 @@ upsert /Table/10{6/1/5-7} num_replicas=7 num_voters=5
state offset=47
----
...
/Table/4{6-7} database system (host)
/Table/4{7-8} database system (host)
/Table/4{8-9} database system (host)
/Table/5{0-1} database system (host)
Expand Down Expand Up @@ -200,6 +205,7 @@ upsert /Table/10{6/2-7} num_replicas=7 num_voters=5
state offset=47
----
...
/Table/4{6-7} database system (host)
/Table/4{7-8} database system (host)
/Table/4{8-9} database system (host)
/Table/5{0-1} database system (host)
Expand Down Expand Up @@ -248,6 +254,7 @@ upsert /Table/10{6/2-7} num_replicas=7
state offset=47
----
...
/Table/4{6-7} database system (host)
/Table/4{7-8} database system (host)
/Table/4{8-9} database system (host)
/Table/5{0-1} database system (host)
Expand Down Expand Up @@ -290,6 +297,7 @@ delete /Table/10{6/2-7}
state offset=47
----
...
/Table/4{6-7} database system (host)
/Table/4{7-8} database system (host)
/Table/4{8-9} database system (host)
/Table/5{0-1} database system (host)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ state limit=3
state offset=51
----
...
/Table/4{7-8} database system (host)
/Table/4{8-9} database system (host)
/Table/5{0-1} database system (host)
/Table/5{1-2} database system (host)
Expand Down Expand Up @@ -139,6 +140,7 @@ state limit=2
state offset=57
----
...
/Table/5{7-8} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/5{8-9} database system (host)
/Table/{59-60} database system (host)
/Table/6{0-1} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
Expand All @@ -158,6 +160,7 @@ release record-id=4
state offset=57
----
...
/Table/5{7-8} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/5{8-9} database system (host)
/Table/{59-60} database system (host)
/Table/6{0-1} ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ full-translate
/Table/{6-7} database system (host)
/Table/{7-8} database system (host)
/Table/{8-9} database system (host)
/Table/{9-10} database system (host)
/Table/1{1-2} database system (host)
/Table/1{2-3} database system (host)
/Table/1{3-4} database system (host)
Expand Down

0 comments on commit 42a901e

Please sign in to comment.