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

Add mz_cluster_deployment_lineage index+view #30706

Merged
merged 1 commit into from
Dec 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions doc/user/content/sql/system-catalog/mz_internal.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,17 @@ the most recent status for each AWS PrivateLink connection in the system.
| `last_status_change_at` | [`timestamp with time zone`] | Wall-clock timestamp of the connection status change.|
| `status` | [`text`] | | The status of the connection: one of `pending-service-discovery`, `creating-endpoint`, `recreating-endpoint`, `updating-endpoint`, `available`, `deleted`, `deleting`, `expired`, `failed`, `pending`, `pending-acceptance`, `rejected`, or `unknown`. |

## `mz_cluster_deployment_lineage`

The `mz_cluster_deployment_lineage` table shows the blue/green deployment lineage of all clusters in [`mz_clusters`](../mz_catalog/#mz_clusters). It determines all cluster IDs that are logically the same cluster.

<!-- RELATION_SPEC mz_internal.mz_cluster_deployment_lineage -->
| Field | Type | Meaning |
|-------------------------------------|--------------|----------------------------------------------------------------|
| `cluster_id` | [`text`] | The ID of the cluster. Corresponds to [`mz_clusters.id`](../mz_catalog/#mz_clusters) (though the cluster may no longer exist). |
| `current_deployment_cluster_id` | [`text`] | The cluster ID of the last cluster in `cluster_id`'s blue/green lineage (the cluster is guaranteed to exist). |
| `cluster_name` | [`text`] | The name of the cluster |

## `mz_cluster_schedules`

The `mz_cluster_schedules` table shows the `SCHEDULE` option specified for each cluster.
Expand Down
121 changes: 121 additions & 0 deletions src/catalog/src/builtin.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8248,6 +8248,116 @@ FROM max_memory
}
});

/**
* Traces the blue/green deployment lineage in the audit log to determine all cluster
* IDs that are logically the same cluster.
* cluster_id: The ID of a cluster.
* current_deployment_cluster_id: The cluster ID of the last cluster in
* cluster_id's blue/green lineage.
* cluster_name: The name of the cluster.
* The approach taken is as follows. First, find all extant clusters and add them
* to the result set. Per cluster, we do the following:
* 1. Find the most recent create or rename event. This moment represents when the
* cluster took on its final logical identity.
* 2. Look for a cluster that had the same name (or the same name with `_dbt_deploy`
* appended) that was dropped within one minute of that moment. That cluster is
* almost certainly the logical predecessor of the current cluster. Add the cluster
* to the result set.
* 3. Repeat the procedure until a cluster with no logical predecessor is discovered.
* Limiting the search for a dropped cluster to a window of one minute is a heuristic,
* but one that's likely to be pretty good one. If a name is reused after more
* than one minute, that's a good sign that it wasn't an automatic blue/green
* process, but someone turning on a new use case that happens to have the same
* name as a previous but logically distinct use case.
*/
Comment on lines +8251 to +8272
Copy link
Contributor

Choose a reason for hiding this comment

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

We don't need to block this PR, but maybe we should add explicit information to audit events that relate to blue-green deployments that would allow us to more easily and correctly find this information.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Potentially! Though the audit log migration from my experience might be brutal itself 😬 . There's been talk about this however https://materializeinc.slack.com/archives/C06GZ7GBKB5/p1731957134123909 but adding the WMR view seemed like the easiest thing to do for now!

pub static MZ_CLUSTER_DEPLOYMENT_LINEAGE: LazyLock<BuiltinView> = LazyLock::new(|| BuiltinView {
name: "mz_cluster_deployment_lineage",
schema: MZ_INTERNAL_SCHEMA,
oid: oid::VIEW_MZ_CLUSTER_DEPLOYMENT_LINEAGE_OID,
column_defs: Some(r#"cluster_id, current_deployment_cluster_id, cluster_name"#),
sql: r#"WITH MUTUALLY RECURSIVE cluster_events (
cluster_id text,
cluster_name text,
event_type text,
occurred_at timestamptz
) AS (
SELECT coalesce(details->>'id', details->>'cluster_id') AS cluster_id,
coalesce(details->>'name', details->>'new_name') AS cluster_name,
event_type,
occurred_at
FROM mz_audit_events
WHERE (
event_type IN ('create', 'drop')
OR (
event_type = 'alter'
AND details ? 'new_name'
)
)
AND object_type = 'cluster'
AND mz_now() < occurred_at + INTERVAL '30 days'
),
mz_cluster_deployment_lineage (
cluster_id text,
current_deployment_cluster_id text,
cluster_name text
) AS (
SELECT c.id,
c.id,
c.name
FROM mz_clusters c
WHERE c.id LIKE 'u%'
UNION
SELECT *
FROM dropped_clusters
),
-- Closest create or rename event based on the current clusters in the result set
most_recent_create_or_rename (
cluster_id text,
current_deployment_cluster_id text,
cluster_name text,
occurred_at timestamptz
) AS (
SELECT DISTINCT ON (e.cluster_id) e.cluster_id,
c.current_deployment_cluster_id,
e.cluster_name,
e.occurred_at
FROM mz_cluster_deployment_lineage c
JOIN cluster_events e ON c.cluster_id = e.cluster_id
AND c.cluster_name = e.cluster_name
WHERE e.event_type <> 'drop'
ORDER BY e.cluster_id,
e.occurred_at DESC
),
-- Clusters that were dropped most recently within 1 minute of most_recent_create_or_rename
dropped_clusters (
cluster_id text,
current_deployment_cluster_id text,
cluster_name text
) AS (
SELECT DISTINCT ON (cr.cluster_id) e.cluster_id,
cr.current_deployment_cluster_id,
cr.cluster_name
FROM most_recent_create_or_rename cr
JOIN cluster_events e ON e.occurred_at BETWEEN cr.occurred_at - interval '1 minute'
AND cr.occurred_at + interval '1 minute'
AND (
e.cluster_name = cr.cluster_name
OR e.cluster_name = cr.cluster_name || '_dbt_deploy'
)
WHERE e.event_type = 'drop'
ORDER BY cr.cluster_id,
abs(
extract(
epoch
FROM cr.occurred_at - e.occurred_at
)
)
)
SELECT *
FROM mz_cluster_deployment_lineage"#,
access: vec![PUBLIC_SELECT],
});

pub const MZ_SHOW_DATABASES_IND: BuiltinIndex = BuiltinIndex {
name: "mz_show_databases_ind",
schema: MZ_INTERNAL_SCHEMA,
Expand Down Expand Up @@ -8482,6 +8592,15 @@ ON mz_internal.mz_console_cluster_utilization_overview (cluster_id)",
is_retained_metrics_object: false,
};

pub const MZ_CLUSTER_DEPLOYMENT_LINEAGE_IND: BuiltinIndex = BuiltinIndex {
name: "mz_cluster_deployment_lineage_ind",
schema: MZ_INTERNAL_SCHEMA,
oid: oid::INDEX_MZ_CLUSTER_DEPLOYMENT_LINEAGE_IND_OID,
sql: "IN CLUSTER mz_catalog_server
ON mz_internal.mz_cluster_deployment_lineage (cluster_id)",
is_retained_metrics_object: false,
};

pub const MZ_CLUSTERS_IND: BuiltinIndex = BuiltinIndex {
name: "mz_clusters_ind",
schema: MZ_CATALOG_SCHEMA,
Expand Down Expand Up @@ -9420,6 +9539,7 @@ pub static BUILTINS_STATIC: LazyLock<Vec<Builtin<NameReference>>> = LazyLock::ne
Builtin::View(&MZ_HYDRATION_STATUSES),
Builtin::View(&MZ_SHOW_CLUSTER_REPLICAS),
Builtin::View(&MZ_SHOW_NETWORK_POLICIES),
Builtin::View(&MZ_CLUSTER_DEPLOYMENT_LINEAGE),
Builtin::Index(&MZ_SHOW_DATABASES_IND),
Builtin::Index(&MZ_SHOW_SCHEMAS_IND),
Builtin::Index(&MZ_SHOW_CONNECTIONS_IND),
Expand Down Expand Up @@ -9475,6 +9595,7 @@ pub static BUILTINS_STATIC: LazyLock<Vec<Builtin<NameReference>>> = LazyLock::ne
Builtin::Index(&MZ_SECRETS_IND),
Builtin::Index(&MZ_VIEWS_IND),
Builtin::Index(&MZ_CONSOLE_CLUSTER_UTILIZATION_OVERVIEW_IND),
Builtin::Index(&MZ_CLUSTER_DEPLOYMENT_LINEAGE_IND),
Builtin::View(&MZ_RECENT_STORAGE_USAGE),
Builtin::Index(&MZ_RECENT_STORAGE_USAGE_IND),
Builtin::Connection(&MZ_ANALYTICS),
Expand Down
4 changes: 2 additions & 2 deletions src/environmentd/tests/testdata/http/ws

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions src/pgrepr-consts/src/oid.rs
Original file line number Diff line number Diff line change
Expand Up @@ -768,3 +768,5 @@ pub const LOG_MZ_COMPUTE_DATAFLOW_GLOBAL_IDS_PER_WORKER_OID: u32 = 17045;
pub const VIEW_MZ_LIR_MAPPING_OID: u32 = 17046;
pub const VIEW_MZ_DATAFLOW_GLOBAL_IDS_OID: u32 = 17047;
pub const NETWORK_POLICIES_DEFAULT_POLICY_OID: u32 = 17048;
pub const VIEW_MZ_CLUSTER_DEPLOYMENT_LINEAGE_OID: u32 = 17049;
pub const INDEX_MZ_CLUSTER_DEPLOYMENT_LINEAGE_IND_OID: u32 = 17050;
8 changes: 8 additions & 0 deletions test/sqllogictest/autogenerated/mz_internal.slt
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,13 @@ SELECT position, name, type FROM objects WHERE schema = 'mz_internal' AND object
3 last_status_change_at timestamp␠with␠time␠zone
4 status text

query ITT
SELECT position, name, type FROM objects WHERE schema = 'mz_internal' AND object = 'mz_cluster_deployment_lineage' ORDER BY position
----
1 cluster_id text
2 current_deployment_cluster_id text
3 cluster_name text

query ITT
SELECT position, name, type FROM objects WHERE schema = 'mz_internal' AND object = 'mz_cluster_schedules' ORDER BY position
----
Expand Down Expand Up @@ -651,6 +658,7 @@ mz_aggregates
mz_aws_connections
mz_aws_privatelink_connection_status_history
mz_aws_privatelink_connection_statuses
mz_cluster_deployment_lineage
mz_cluster_replica_history
mz_cluster_replica_metrics
mz_cluster_replica_metrics_history
Expand Down
4 changes: 2 additions & 2 deletions test/sqllogictest/cluster.slt
Original file line number Diff line number Diff line change
Expand Up @@ -425,15 +425,15 @@ CREATE CLUSTER test REPLICAS (foo (SIZE '1'));
query I
SELECT COUNT(name) FROM mz_indexes;
----
285
286

statement ok
DROP CLUSTER test CASCADE

query T
SELECT COUNT(name) FROM mz_indexes;
----
254
255

simple conn=mz_system,user=mz_system
ALTER CLUSTER quickstart OWNER TO materialize
Expand Down
51 changes: 51 additions & 0 deletions test/sqllogictest/cluster_deployment_lineage.slt
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Copyright Materialize, Inc. and contributors. All rights reserved.
#
# Use of this software is governed by the Business Source License
# included in the LICENSE file at the root of this repository.
#
# As of the Change Date specified in that file, in accordance with
# the Business Source License, use of this software will be governed
# by the Apache License, Version 2.0.

mode cockroach

# Start from a pristine server
reset-server

# Test: Create a cluster and verify blue/green lineage

# Create the clusters for blue/green deployment
statement ok
CREATE CLUSTER blue_green (SIZE = '1');

statement ok
CREATE CLUSTER blue_green_dbt_deploy (SIZE = '1');

# Create a cluster that is not part of the blue/green deployment
statement ok
CREATE CLUSTER non_blue_green (SIZE = '1');

query TT
SELECT id, name FROM mz_clusters WHERE id IN ('u2', 'u3', 'u4') ORDER BY id;
----
u2 blue_green
u3 blue_green_dbt_deploy
u4 non_blue_green

# Initiate the blue/green deployment
statement ok
ALTER CLUSTER blue_green_dbt_deploy SWAP WITH blue_green;

statement ok
DROP CLUSTER blue_green_dbt_deploy;

# Verify the blue/green lineage
query TTT
SELECT cluster_id, current_deployment_cluster_id, cluster_name
FROM mz_internal.mz_cluster_deployment_lineage
WHERE cluster_id IN ('u2', 'u3', 'u4')
ORDER BY cluster_id;
----
u2 u3 blue_green
u3 u3 blue_green
u4 u4 non_blue_green
24 changes: 12 additions & 12 deletions test/sqllogictest/distinct_arrangements.slt
Original file line number Diff line number Diff line change
Expand Up @@ -982,9 +982,9 @@ ORDER BY mdod.name;
----
AccumulableErrorCheck 9
Arrange␠ReduceMinsMaxes 3
Arrange␠export␠iterative 1
Arrange␠export␠iterative␠err 1
Arrange␠recursive␠err 1
Arrange␠export␠iterative 2
Arrange␠export␠iterative␠err 2
Arrange␠recursive␠err 4
ArrangeAccumulable␠[val:␠empty] 9
ArrangeBy[[CallBinary␠{␠func:␠JsonbGetString␠{␠stringify:␠true␠},␠expr1:␠Column(1),␠expr2:␠Literal(Ok(Row{[String("id")]}),␠ColumnType␠{␠scalar_type:␠String,␠nullable:␠false␠})␠}]] 2
ArrangeBy[[CallBinary␠{␠func:␠JsonbGetString␠{␠stringify:␠true␠},␠expr1:␠Column(2),␠expr2:␠Literal(Ok(Row{[String("id")]}),␠ColumnType␠{␠scalar_type:␠String,␠nullable:␠false␠})␠}]] 1
Expand All @@ -1001,13 +1001,13 @@ ArrangeBy[[Column(0),␠Column(1),␠Column(2),␠Column(3),␠Column(4),␠Colu
ArrangeBy[[Column(0),␠Column(1),␠Column(2),␠Column(3),␠Column(4)]] 1
ArrangeBy[[Column(0),␠Column(1),␠Column(2),␠Column(3),␠Column(4)]]-errors 1
ArrangeBy[[Column(0),␠Column(1)]] 2
ArrangeBy[[Column(0),␠Column(2)]] 3
ArrangeBy[[Column(0),␠Column(2)]] 4
ArrangeBy[[Column(0),␠Column(3)]] 4
ArrangeBy[[Column(0),␠Column(4)]] 1
ArrangeBy[[Column(0)]] 152
ArrangeBy[[Column(0)]]-errors 42
ArrangeBy[[Column(1),␠Column(0)]] 1
ArrangeBy[[Column(1),␠Column(2)]] 1
ArrangeBy[[Column(1),␠Column(2)]] 2
ArrangeBy[[Column(1),␠Column(3)]] 1
ArrangeBy[[Column(1)]] 25
ArrangeBy[[Column(1)]]-errors 7
Expand All @@ -1026,21 +1026,21 @@ ArrangeBy[[Column(5)]] 2
ArrangeBy[[Column(6)]] 3
ArrangeBy[[Column(6)]]-errors 2
ArrangeBy[[Column(9)]] 1
ArrangeBy[[]] 9
Arranged␠DistinctBy 46
ArrangeBy[[]] 11
Arranged␠DistinctBy 47
Arranged␠MinsMaxesHierarchical␠input 14
Arranged␠ReduceInaccumulable 3
Arranged␠TopK␠input 52
Distinct␠recursive␠err 1
DistinctBy 46
DistinctByErrorCheck 46
Arranged␠TopK␠input 68
Distinct␠recursive␠err 4
DistinctBy 47
DistinctByErrorCheck 47
ReduceAccumulable 9
ReduceInaccumulable 3
ReduceInaccumulable␠Error␠Check 3
ReduceMinsMaxes 3
ReduceMinsMaxes␠Error␠Check 1
Reduced␠Fallibly␠MinsMaxesHierarchical 14
Reduced␠TopK␠input 52
Reduced␠TopK␠input 68
Threshold␠local 10

statement ok
Expand Down
4 changes: 4 additions & 0 deletions test/sqllogictest/information_schema_tables.slt
Original file line number Diff line number Diff line change
Expand Up @@ -281,6 +281,10 @@ mz_aws_privatelink_connection_statuses
VIEW
materialize
mz_internal
mz_cluster_deployment_lineage
VIEW
materialize
mz_internal
mz_cluster_replica_history
VIEW
materialize
Expand Down
8 changes: 6 additions & 2 deletions test/sqllogictest/mz_catalog_server_index_accounting.slt
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ mz_arrangement_heap_capacity_raw_s2_primary_idx CREATE␠INDEX␠"mz_arrangemen
mz_arrangement_heap_size_raw_s2_primary_idx CREATE␠INDEX␠"mz_arrangement_heap_size_raw_s2_primary_idx"␠IN␠CLUSTER␠[s2]␠ON␠"mz_introspection"."mz_arrangement_heap_size_raw"␠("operator_id",␠"worker_id")
mz_arrangement_records_raw_s2_primary_idx CREATE␠INDEX␠"mz_arrangement_records_raw_s2_primary_idx"␠IN␠CLUSTER␠[s2]␠ON␠"mz_introspection"."mz_arrangement_records_raw"␠("operator_id",␠"worker_id")
mz_arrangement_sharing_raw_s2_primary_idx CREATE␠INDEX␠"mz_arrangement_sharing_raw_s2_primary_idx"␠IN␠CLUSTER␠[s2]␠ON␠"mz_introspection"."mz_arrangement_sharing_raw"␠("operator_id",␠"worker_id")
mz_cluster_deployment_lineage_ind CREATE␠INDEX␠"mz_cluster_deployment_lineage_ind"␠IN␠CLUSTER␠[s2]␠ON␠[s717␠AS␠"mz_internal"."mz_cluster_deployment_lineage"]␠("cluster_id")
mz_cluster_replica_history_ind CREATE␠INDEX␠"mz_cluster_replica_history_ind"␠IN␠CLUSTER␠[s2]␠ON␠[s579␠AS␠"mz_internal"."mz_cluster_replica_history"]␠("dropped_at")
mz_cluster_replica_metrics_history_ind CREATE␠INDEX␠"mz_cluster_replica_metrics_history_ind"␠IN␠CLUSTER␠[s2]␠ON␠[s492␠AS␠"mz_internal"."mz_cluster_replica_metrics_history"]␠("replica_id")
mz_cluster_replica_metrics_ind CREATE␠INDEX␠"mz_cluster_replica_metrics_ind"␠IN␠CLUSTER␠[s2]␠ON␠[s491␠AS␠"mz_internal"."mz_cluster_replica_metrics"]␠("replica_id")
Expand Down Expand Up @@ -74,7 +75,7 @@ mz_message_batch_counts_received_raw_s2_primary_idx CREATE␠INDEX␠"mz_messag
mz_message_batch_counts_sent_raw_s2_primary_idx CREATE␠INDEX␠"mz_message_batch_counts_sent_raw_s2_primary_idx"␠IN␠CLUSTER␠[s2]␠ON␠"mz_introspection"."mz_message_batch_counts_sent_raw"␠("channel_id",␠"from_worker_id",␠"to_worker_id")
mz_message_counts_received_raw_s2_primary_idx CREATE␠INDEX␠"mz_message_counts_received_raw_s2_primary_idx"␠IN␠CLUSTER␠[s2]␠ON␠"mz_introspection"."mz_message_counts_received_raw"␠("channel_id",␠"from_worker_id",␠"to_worker_id")
mz_message_counts_sent_raw_s2_primary_idx CREATE␠INDEX␠"mz_message_counts_sent_raw_s2_primary_idx"␠IN␠CLUSTER␠[s2]␠ON␠"mz_introspection"."mz_message_counts_sent_raw"␠("channel_id",␠"from_worker_id",␠"to_worker_id")
mz_notices_ind CREATE␠INDEX␠"mz_notices_ind"␠IN␠CLUSTER␠[s2]␠ON␠[s780␠AS␠"mz_internal"."mz_notices"]␠("id")
mz_notices_ind CREATE␠INDEX␠"mz_notices_ind"␠IN␠CLUSTER␠[s2]␠ON␠[s782␠AS␠"mz_internal"."mz_notices"]␠("id")
mz_object_dependencies_ind CREATE␠INDEX␠"mz_object_dependencies_ind"␠IN␠CLUSTER␠[s2]␠ON␠[s454␠AS␠"mz_internal"."mz_object_dependencies"]␠("object_id")
mz_object_history_ind CREATE␠INDEX␠"mz_object_history_ind"␠IN␠CLUSTER␠[s2]␠ON␠[s518␠AS␠"mz_internal"."mz_object_history"]␠("id")
mz_object_lifetimes_ind CREATE␠INDEX␠"mz_object_lifetimes_ind"␠IN␠CLUSTER␠[s2]␠ON␠[s519␠AS␠"mz_internal"."mz_object_lifetimes"]␠("id")
Expand All @@ -83,7 +84,7 @@ mz_objects_ind CREATE␠INDEX␠"mz_objects_ind"␠IN␠CLUSTER␠[s2]␠ON␠[
mz_peek_durations_histogram_raw_s2_primary_idx CREATE␠INDEX␠"mz_peek_durations_histogram_raw_s2_primary_idx"␠IN␠CLUSTER␠[s2]␠ON␠"mz_introspection"."mz_peek_durations_histogram_raw"␠("worker_id",␠"type",␠"duration_ns")
mz_recent_activity_log_thinned_ind CREATE␠INDEX␠"mz_recent_activity_log_thinned_ind"␠IN␠CLUSTER␠[s2]␠ON␠[s678␠AS␠"mz_internal"."mz_recent_activity_log_thinned"]␠("sql_hash")
mz_recent_sql_text_ind CREATE␠INDEX␠"mz_recent_sql_text_ind"␠IN␠CLUSTER␠[s2]␠ON␠[s674␠AS␠"mz_internal"."mz_recent_sql_text"]␠("sql_hash")
mz_recent_storage_usage_ind CREATE␠INDEX␠"mz_recent_storage_usage_ind"␠IN␠CLUSTER␠[s2]␠ON␠[s772␠AS␠"mz_catalog"."mz_recent_storage_usage"]␠("object_id")
mz_recent_storage_usage_ind CREATE␠INDEX␠"mz_recent_storage_usage_ind"␠IN␠CLUSTER␠[s2]␠ON␠[s774␠AS␠"mz_catalog"."mz_recent_storage_usage"]␠("object_id")
mz_roles_ind CREATE␠INDEX␠"mz_roles_ind"␠IN␠CLUSTER␠[s2]␠ON␠[s477␠AS␠"mz_catalog"."mz_roles"]␠("id")
mz_scheduling_elapsed_raw_s2_primary_idx CREATE␠INDEX␠"mz_scheduling_elapsed_raw_s2_primary_idx"␠IN␠CLUSTER␠[s2]␠ON␠"mz_introspection"."mz_scheduling_elapsed_raw"␠("id",␠"worker_id")
mz_scheduling_parks_histogram_raw_s2_primary_idx CREATE␠INDEX␠"mz_scheduling_parks_histogram_raw_s2_primary_idx"␠IN␠CLUSTER␠[s2]␠ON␠"mz_introspection"."mz_scheduling_parks_histogram_raw"␠("worker_id",␠"slept_for_ns",␠"requested_ns")
Expand Down Expand Up @@ -203,6 +204,9 @@ mz_audit_events object_type
mz_audit_events occurred_at
mz_audit_events user
mz_base_types id
mz_cluster_deployment_lineage cluster_id
mz_cluster_deployment_lineage cluster_name
mz_cluster_deployment_lineage current_deployment_cluster_id
mz_cluster_replica_frontiers object_id
mz_cluster_replica_frontiers replica_id
mz_cluster_replica_frontiers write_frontier
Expand Down
2 changes: 2 additions & 0 deletions test/sqllogictest/oid.slt
Original file line number Diff line number Diff line change
Expand Up @@ -1153,3 +1153,5 @@ SELECT oid, name FROM mz_objects WHERE id LIKE 's%' AND oid < 20000 ORDER BY oid
17045 mz_compute_dataflow_global_ids_per_worker
17046 mz_lir_mapping
17047 mz_dataflow_global_ids
17049 mz_cluster_deployment_lineage
17050 mz_cluster_deployment_lineage_ind
3 changes: 2 additions & 1 deletion test/testdrive/catalog.td
Original file line number Diff line number Diff line change
Expand Up @@ -625,6 +625,7 @@ mz_webhook_sources ""
name comment
------------------------------------------------
mz_activity_log_thinned ""
mz_cluster_deployment_lineage ""
mz_cluster_replica_history ""
mz_cluster_replica_name_history ""
mz_cluster_replica_utilization ""
Expand Down Expand Up @@ -800,7 +801,7 @@ test_table ""

# There is one entry in mz_indexes for each field_number/expression of the index.
> SELECT COUNT(id) FROM mz_indexes WHERE id LIKE 's%'
254
255

# Create a second schema with the same table name as above
> CREATE SCHEMA tester2
Expand Down
Loading
Loading