From ab5ec167b71469ac1b15d1426d87cdf50bf15a22 Mon Sep 17 00:00:00 2001 From: Snigdha Sharma Date: Tue, 18 Jun 2024 13:43:37 -0700 Subject: [PATCH 1/4] Modify the column type to bigint --- .../0004_fix_group_first_release_id_type.py | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 snuba/snuba_migrations/group_attributes/0004_fix_group_first_release_id_type.py diff --git a/snuba/snuba_migrations/group_attributes/0004_fix_group_first_release_id_type.py b/snuba/snuba_migrations/group_attributes/0004_fix_group_first_release_id_type.py new file mode 100644 index 0000000000..e7c0d0d032 --- /dev/null +++ b/snuba/snuba_migrations/group_attributes/0004_fix_group_first_release_id_type.py @@ -0,0 +1,43 @@ +from typing import Sequence + +from snuba.clickhouse.columns import UUID, Column +from snuba.clusters.storage_sets import StorageSetKey +from snuba.migrations import migration, operations +from snuba.migrations.columns import MigrationModifiers as Modifiers +from snuba.migrations.operations import OperationTarget, SqlOperation + + +class Migration(migration.ClickhouseNodeMigration): + blocking = False + + def forwards_ops(self) -> Sequence[SqlOperation]: + return [ + operations.ModifyColumn( + storage_set=StorageSetKey.GROUP_ATTRIBUTES, + table_name="group_attributes_local", + column=Column( + "group_first_release_id", UInt(64, Modifiers(nullable=True)) + ), + ), + operations.ModifyColumn( + storage_set=StorageSetKey.GROUP_ATTRIBUTES, + table_name="group_attributes_dist", + column=Column( + "group_first_release_id", UInt(64, Modifiers(nullable=True)) + ), + ), + ] + + def backwards_ops(self) -> Sequence[SqlOperation]: + return [ + operations.ModifyColumn( + storage_set=StorageSetKey.GROUP_ATTRIBUTES, + table_name="group_attributes_local", + column=Column("group_first_release_id", UUID(Modifiers(nullable=True))), + ), + operations.ModifyColumn( + storage_set=StorageSetKey.GROUP_ATTRIBUTES, + table_name="group_attributes_dist", + column=Column("group_first_release_id", UUID(Modifiers(nullable=True))), + ), + ] From 9ca11b6440d4127da468e9f75405993479b14e29 Mon Sep 17 00:00:00 2001 From: Snigdha Sharma Date: Tue, 18 Jun 2024 14:00:36 -0700 Subject: [PATCH 2/4] Fix types --- .../group_attributes/0004_fix_group_first_release_id_type.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/snuba/snuba_migrations/group_attributes/0004_fix_group_first_release_id_type.py b/snuba/snuba_migrations/group_attributes/0004_fix_group_first_release_id_type.py index e7c0d0d032..952915cb65 100644 --- a/snuba/snuba_migrations/group_attributes/0004_fix_group_first_release_id_type.py +++ b/snuba/snuba_migrations/group_attributes/0004_fix_group_first_release_id_type.py @@ -1,10 +1,10 @@ from typing import Sequence -from snuba.clickhouse.columns import UUID, Column +from snuba.clickhouse.columns import UUID, Column, UInt from snuba.clusters.storage_sets import StorageSetKey from snuba.migrations import migration, operations from snuba.migrations.columns import MigrationModifiers as Modifiers -from snuba.migrations.operations import OperationTarget, SqlOperation +from snuba.migrations.operations import SqlOperation class Migration(migration.ClickhouseNodeMigration): From 8c9a2af77b9a0e8bdefa794f0bb89770157a40b3 Mon Sep 17 00:00:00 2001 From: Snigdha Sharma Date: Tue, 18 Jun 2024 14:04:06 -0700 Subject: [PATCH 3/4] Add migration to group_loader --- snuba/migrations/group_loader.py | 1 + 1 file changed, 1 insertion(+) diff --git a/snuba/migrations/group_loader.py b/snuba/migrations/group_loader.py index 2cbc098784..3f35ec04b9 100644 --- a/snuba/migrations/group_loader.py +++ b/snuba/migrations/group_loader.py @@ -400,6 +400,7 @@ def get_migrations(self) -> Sequence[str]: "0001_group_attributes", "0002_add_priority_to_group_attributes", "0003_add_first_release_id_to_group_attributes", + "0004_fix_group_first_release_id_type", ] From c1b8001a899baaf479fed9064d83de2be4b496db Mon Sep 17 00:00:00 2001 From: Snigdha Sharma Date: Tue, 18 Jun 2024 14:40:37 -0700 Subject: [PATCH 4/4] Add OperationTarget --- .../0004_fix_group_first_release_id_type.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/snuba/snuba_migrations/group_attributes/0004_fix_group_first_release_id_type.py b/snuba/snuba_migrations/group_attributes/0004_fix_group_first_release_id_type.py index 952915cb65..cd441c6c25 100644 --- a/snuba/snuba_migrations/group_attributes/0004_fix_group_first_release_id_type.py +++ b/snuba/snuba_migrations/group_attributes/0004_fix_group_first_release_id_type.py @@ -4,7 +4,7 @@ from snuba.clusters.storage_sets import StorageSetKey from snuba.migrations import migration, operations from snuba.migrations.columns import MigrationModifiers as Modifiers -from snuba.migrations.operations import SqlOperation +from snuba.migrations.operations import OperationTarget, SqlOperation class Migration(migration.ClickhouseNodeMigration): @@ -18,6 +18,7 @@ def forwards_ops(self) -> Sequence[SqlOperation]: column=Column( "group_first_release_id", UInt(64, Modifiers(nullable=True)) ), + target=OperationTarget.LOCAL, ), operations.ModifyColumn( storage_set=StorageSetKey.GROUP_ATTRIBUTES, @@ -25,6 +26,7 @@ def forwards_ops(self) -> Sequence[SqlOperation]: column=Column( "group_first_release_id", UInt(64, Modifiers(nullable=True)) ), + target=OperationTarget.DISTRIBUTED, ), ] @@ -32,12 +34,14 @@ def backwards_ops(self) -> Sequence[SqlOperation]: return [ operations.ModifyColumn( storage_set=StorageSetKey.GROUP_ATTRIBUTES, - table_name="group_attributes_local", + table_name="group_attributes_dist", column=Column("group_first_release_id", UUID(Modifiers(nullable=True))), + target=OperationTarget.DISTRIBUTED, ), operations.ModifyColumn( storage_set=StorageSetKey.GROUP_ATTRIBUTES, - table_name="group_attributes_dist", + table_name="group_attributes_local", column=Column("group_first_release_id", UUID(Modifiers(nullable=True))), + target=OperationTarget.LOCAL, ), ]