feat(eap-items): add conversation_id and session_id columns#8053
Merged
Conversation
Add `conversation_id` and `session_id` UUID columns to the EAP items table, all three downsample tiers, and the read-only variants, plus the materialized views that populate the downsampled tables. - Migration 0059 adds the columns (after `indexed_name`) to the local, distributed, and read-only distributed tables, adds bloom_filter indexes on the local tables, and recreates the downsample MVs (mv_6 -> mv_7) so the new columns are populated on the read paths. - Storage configs declare the new UUID columns and register them with the UUIDColumnProcessor alongside `trace_id`. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013H6Jsmx7v293rnQM1cwMwS
|
This PR has a migration; here is the generated SQL for -- start migrations
-- forward migration events_analytics_platform : 0060_add_conversation_id_and_session_id
Local op: ALTER TABLE eap_items_1_local ON CLUSTER 'cluster_one_sh' ADD COLUMN IF NOT EXISTS conversation_id UUID AFTER trace_id;
Distributed op: ALTER TABLE eap_items_1_dist ON CLUSTER 'cluster_one_sh' ADD COLUMN IF NOT EXISTS conversation_id UUID AFTER trace_id;
Local op: ALTER TABLE eap_items_1_local ON CLUSTER 'cluster_one_sh' ADD COLUMN IF NOT EXISTS session_id UUID AFTER conversation_id;
Distributed op: ALTER TABLE eap_items_1_dist ON CLUSTER 'cluster_one_sh' ADD COLUMN IF NOT EXISTS session_id UUID AFTER conversation_id;
Local op: ALTER TABLE eap_items_1_downsample_8_local ON CLUSTER 'cluster_one_sh' ADD COLUMN IF NOT EXISTS conversation_id UUID AFTER trace_id;
Distributed op: ALTER TABLE eap_items_1_downsample_8_dist ON CLUSTER 'cluster_one_sh' ADD COLUMN IF NOT EXISTS conversation_id UUID AFTER trace_id;
Local op: ALTER TABLE eap_items_1_downsample_8_local ON CLUSTER 'cluster_one_sh' ADD COLUMN IF NOT EXISTS session_id UUID AFTER conversation_id;
Distributed op: ALTER TABLE eap_items_1_downsample_8_dist ON CLUSTER 'cluster_one_sh' ADD COLUMN IF NOT EXISTS session_id UUID AFTER conversation_id;
Local op: ALTER TABLE eap_items_1_downsample_64_local ON CLUSTER 'cluster_one_sh' ADD COLUMN IF NOT EXISTS conversation_id UUID AFTER trace_id;
Distributed op: ALTER TABLE eap_items_1_downsample_64_dist ON CLUSTER 'cluster_one_sh' ADD COLUMN IF NOT EXISTS conversation_id UUID AFTER trace_id;
Local op: ALTER TABLE eap_items_1_downsample_64_local ON CLUSTER 'cluster_one_sh' ADD COLUMN IF NOT EXISTS session_id UUID AFTER conversation_id;
Distributed op: ALTER TABLE eap_items_1_downsample_64_dist ON CLUSTER 'cluster_one_sh' ADD COLUMN IF NOT EXISTS session_id UUID AFTER conversation_id;
Local op: ALTER TABLE eap_items_1_downsample_512_local ON CLUSTER 'cluster_one_sh' ADD COLUMN IF NOT EXISTS conversation_id UUID AFTER trace_id;
Distributed op: ALTER TABLE eap_items_1_downsample_512_dist ON CLUSTER 'cluster_one_sh' ADD COLUMN IF NOT EXISTS conversation_id UUID AFTER trace_id;
Local op: ALTER TABLE eap_items_1_downsample_512_local ON CLUSTER 'cluster_one_sh' ADD COLUMN IF NOT EXISTS session_id UUID AFTER conversation_id;
Distributed op: ALTER TABLE eap_items_1_downsample_512_dist ON CLUSTER 'cluster_one_sh' ADD COLUMN IF NOT EXISTS session_id UUID AFTER conversation_id;
Distributed op: ALTER TABLE eap_items_1_dist_ro ON CLUSTER 'cluster_one_sh' ADD COLUMN IF NOT EXISTS conversation_id UUID AFTER trace_id;
Distributed op: ALTER TABLE eap_items_1_dist_ro ON CLUSTER 'cluster_one_sh' ADD COLUMN IF NOT EXISTS session_id UUID AFTER conversation_id;
Distributed op: ALTER TABLE eap_items_1_downsample_8_dist_ro ON CLUSTER 'cluster_one_sh' ADD COLUMN IF NOT EXISTS conversation_id UUID AFTER trace_id;
Distributed op: ALTER TABLE eap_items_1_downsample_8_dist_ro ON CLUSTER 'cluster_one_sh' ADD COLUMN IF NOT EXISTS session_id UUID AFTER conversation_id;
Distributed op: ALTER TABLE eap_items_1_downsample_64_dist_ro ON CLUSTER 'cluster_one_sh' ADD COLUMN IF NOT EXISTS conversation_id UUID AFTER trace_id;
Distributed op: ALTER TABLE eap_items_1_downsample_64_dist_ro ON CLUSTER 'cluster_one_sh' ADD COLUMN IF NOT EXISTS session_id UUID AFTER conversation_id;
Distributed op: ALTER TABLE eap_items_1_downsample_512_dist_ro ON CLUSTER 'cluster_one_sh' ADD COLUMN IF NOT EXISTS conversation_id UUID AFTER trace_id;
Distributed op: ALTER TABLE eap_items_1_downsample_512_dist_ro ON CLUSTER 'cluster_one_sh' ADD COLUMN IF NOT EXISTS session_id UUID AFTER conversation_id;
Local op: ALTER TABLE eap_items_1_local ON CLUSTER 'cluster_one_sh' ADD INDEX IF NOT EXISTS bf_conversation_id conversation_id TYPE bloom_filter GRANULARITY 1;
Local op: ALTER TABLE eap_items_1_local ON CLUSTER 'cluster_one_sh' ADD INDEX IF NOT EXISTS bf_session_id session_id TYPE bloom_filter GRANULARITY 1;
Local op: ALTER TABLE eap_items_1_downsample_8_local ON CLUSTER 'cluster_one_sh' ADD INDEX IF NOT EXISTS bf_conversation_id conversation_id TYPE bloom_filter GRANULARITY 1;
Local op: ALTER TABLE eap_items_1_downsample_8_local ON CLUSTER 'cluster_one_sh' ADD INDEX IF NOT EXISTS bf_session_id session_id TYPE bloom_filter GRANULARITY 1;
Local op: ALTER TABLE eap_items_1_downsample_64_local ON CLUSTER 'cluster_one_sh' ADD INDEX IF NOT EXISTS bf_conversation_id conversation_id TYPE bloom_filter GRANULARITY 1;
Local op: ALTER TABLE eap_items_1_downsample_64_local ON CLUSTER 'cluster_one_sh' ADD INDEX IF NOT EXISTS bf_session_id session_id TYPE bloom_filter GRANULARITY 1;
Local op: ALTER TABLE eap_items_1_downsample_512_local ON CLUSTER 'cluster_one_sh' ADD INDEX IF NOT EXISTS bf_conversation_id conversation_id TYPE bloom_filter GRANULARITY 1;
Local op: ALTER TABLE eap_items_1_downsample_512_local ON CLUSTER 'cluster_one_sh' ADD INDEX IF NOT EXISTS bf_session_id session_id TYPE bloom_filter GRANULARITY 1;
Local op: CREATE MATERIALIZED VIEW IF NOT EXISTS eap_items_1_downsample_8_mv_8 ON CLUSTER 'cluster_one_sh' TO eap_items_1_downsample_8_local (organization_id UInt64, project_id UInt64, item_type UInt8, timestamp DateTime CODEC (DoubleDelta, ZSTD(1)), trace_id UUID, conversation_id UUID, session_id UUID, item_id UInt128, sampling_weight UInt64 CODEC (ZSTD(1)), sampling_factor Float64 CODEC (ZSTD(1)), retention_days UInt16 CODEC (T64, ZSTD(1)), indexed_name String CODEC (ZSTD(1)), attributes_bool Map(String, Bool), attributes_int Map(String, Int64), attributes_string_0 Map(String, String) CODEC (ZSTD(1)), attributes_string_1 Map(String, String) CODEC (ZSTD(1)), attributes_string_2 Map(String, String) CODEC (ZSTD(1)), attributes_string_3 Map(String, String) CODEC (ZSTD(1)), attributes_string_4 Map(String, String) CODEC (ZSTD(1)), attributes_string_5 Map(String, String) CODEC (ZSTD(1)), attributes_string_6 Map(String, String) CODEC (ZSTD(1)), attributes_string_7 Map(String, String) CODEC (ZSTD(1)), attributes_string_8 Map(String, String) CODEC (ZSTD(1)), attributes_string_9 Map(String, String) CODEC (ZSTD(1)), attributes_string_10 Map(String, String) CODEC (ZSTD(1)), attributes_string_11 Map(String, String) CODEC (ZSTD(1)), attributes_string_12 Map(String, String) CODEC (ZSTD(1)), attributes_string_13 Map(String, String) CODEC (ZSTD(1)), attributes_string_14 Map(String, String) CODEC (ZSTD(1)), attributes_string_15 Map(String, String) CODEC (ZSTD(1)), attributes_string_16 Map(String, String) CODEC (ZSTD(1)), attributes_string_17 Map(String, String) CODEC (ZSTD(1)), attributes_string_18 Map(String, String) CODEC (ZSTD(1)), attributes_string_19 Map(String, String) CODEC (ZSTD(1)), attributes_string_20 Map(String, String) CODEC (ZSTD(1)), attributes_string_21 Map(String, String) CODEC (ZSTD(1)), attributes_string_22 Map(String, String) CODEC (ZSTD(1)), attributes_string_23 Map(String, String) CODEC (ZSTD(1)), attributes_string_24 Map(String, String) CODEC (ZSTD(1)), attributes_string_25 Map(String, String) CODEC (ZSTD(1)), attributes_string_26 Map(String, String) CODEC (ZSTD(1)), attributes_string_27 Map(String, String) CODEC (ZSTD(1)), attributes_string_28 Map(String, String) CODEC (ZSTD(1)), attributes_string_29 Map(String, String) CODEC (ZSTD(1)), attributes_string_30 Map(String, String) CODEC (ZSTD(1)), attributes_string_31 Map(String, String) CODEC (ZSTD(1)), attributes_string_32 Map(String, String) CODEC (ZSTD(1)), attributes_string_33 Map(String, String) CODEC (ZSTD(1)), attributes_string_34 Map(String, String) CODEC (ZSTD(1)), attributes_string_35 Map(String, String) CODEC (ZSTD(1)), attributes_string_36 Map(String, String) CODEC (ZSTD(1)), attributes_string_37 Map(String, String) CODEC (ZSTD(1)), attributes_string_38 Map(String, String) CODEC (ZSTD(1)), attributes_string_39 Map(String, String) CODEC (ZSTD(1)), attributes_float_0 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_1 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_2 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_3 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_4 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_5 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_6 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_7 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_8 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_9 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_10 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_11 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_12 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_13 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_14 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_15 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_16 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_17 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_18 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_19 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_20 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_21 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_22 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_23 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_24 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_25 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_26 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_27 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_28 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_29 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_30 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_31 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_32 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_33 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_34 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_35 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_36 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_37 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_38 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_39 Map(String, Float64) CODEC (ZSTD(1)), attributes_array_string Map(String, Array(String)) CODEC (ZSTD(1)), attributes_array_int Map(String, Array(Int64)) CODEC (ZSTD(1)), attributes_array_float Map(String, Array(Float64)) CODEC (ZSTD(1)), attributes_array_bool Map(String, Array(Bool)) CODEC (ZSTD(1))) AS SELECT organization_id, project_id, item_type, timestamp, trace_id, conversation_id, session_id, item_id, indexed_name, attributes_bool, attributes_int, attributes_string_0, attributes_string_1, attributes_string_2, attributes_string_3, attributes_string_4, attributes_string_5, attributes_string_6, attributes_string_7, attributes_string_8, attributes_string_9, attributes_string_10, attributes_string_11, attributes_string_12, attributes_string_13, attributes_string_14, attributes_string_15, attributes_string_16, attributes_string_17, attributes_string_18, attributes_string_19, attributes_string_20, attributes_string_21, attributes_string_22, attributes_string_23, attributes_string_24, attributes_string_25, attributes_string_26, attributes_string_27, attributes_string_28, attributes_string_29, attributes_string_30, attributes_string_31, attributes_string_32, attributes_string_33, attributes_string_34, attributes_string_35, attributes_string_36, attributes_string_37, attributes_string_38, attributes_string_39, attributes_float_0, attributes_float_1, attributes_float_2, attributes_float_3, attributes_float_4, attributes_float_5, attributes_float_6, attributes_float_7, attributes_float_8, attributes_float_9, attributes_float_10, attributes_float_11, attributes_float_12, attributes_float_13, attributes_float_14, attributes_float_15, attributes_float_16, attributes_float_17, attributes_float_18, attributes_float_19, attributes_float_20, attributes_float_21, attributes_float_22, attributes_float_23, attributes_float_24, attributes_float_25, attributes_float_26, attributes_float_27, attributes_float_28, attributes_float_29, attributes_float_30, attributes_float_31, attributes_float_32, attributes_float_33, attributes_float_34, attributes_float_35, attributes_float_36, attributes_float_37, attributes_float_38, attributes_float_39, attributes_array_string, attributes_array_int, attributes_array_float, attributes_array_bool, downsampled_retention_days AS retention_days, sampling_weight * 8 AS sampling_weight, sampling_factor / 8 AS sampling_factor, client_sample_rate / 8 AS client_sample_rate, server_sample_rate / 8 AS server_sample_rate FROM eap_items_1_local WHERE (cityHash64(item_id) % 8) = 0;
Local op: DROP TABLE IF EXISTS eap_items_1_downsample_8_mv_7 ON CLUSTER 'cluster_one_sh' SYNC;
Local op: CREATE MATERIALIZED VIEW IF NOT EXISTS eap_items_1_downsample_64_mv_8 ON CLUSTER 'cluster_one_sh' TO eap_items_1_downsample_64_local (organization_id UInt64, project_id UInt64, item_type UInt8, timestamp DateTime CODEC (DoubleDelta, ZSTD(1)), trace_id UUID, conversation_id UUID, session_id UUID, item_id UInt128, sampling_weight UInt64 CODEC (ZSTD(1)), sampling_factor Float64 CODEC (ZSTD(1)), retention_days UInt16 CODEC (T64, ZSTD(1)), indexed_name String CODEC (ZSTD(1)), attributes_bool Map(String, Bool), attributes_int Map(String, Int64), attributes_string_0 Map(String, String) CODEC (ZSTD(1)), attributes_string_1 Map(String, String) CODEC (ZSTD(1)), attributes_string_2 Map(String, String) CODEC (ZSTD(1)), attributes_string_3 Map(String, String) CODEC (ZSTD(1)), attributes_string_4 Map(String, String) CODEC (ZSTD(1)), attributes_string_5 Map(String, String) CODEC (ZSTD(1)), attributes_string_6 Map(String, String) CODEC (ZSTD(1)), attributes_string_7 Map(String, String) CODEC (ZSTD(1)), attributes_string_8 Map(String, String) CODEC (ZSTD(1)), attributes_string_9 Map(String, String) CODEC (ZSTD(1)), attributes_string_10 Map(String, String) CODEC (ZSTD(1)), attributes_string_11 Map(String, String) CODEC (ZSTD(1)), attributes_string_12 Map(String, String) CODEC (ZSTD(1)), attributes_string_13 Map(String, String) CODEC (ZSTD(1)), attributes_string_14 Map(String, String) CODEC (ZSTD(1)), attributes_string_15 Map(String, String) CODEC (ZSTD(1)), attributes_string_16 Map(String, String) CODEC (ZSTD(1)), attributes_string_17 Map(String, String) CODEC (ZSTD(1)), attributes_string_18 Map(String, String) CODEC (ZSTD(1)), attributes_string_19 Map(String, String) CODEC (ZSTD(1)), attributes_string_20 Map(String, String) CODEC (ZSTD(1)), attributes_string_21 Map(String, String) CODEC (ZSTD(1)), attributes_string_22 Map(String, String) CODEC (ZSTD(1)), attributes_string_23 Map(String, String) CODEC (ZSTD(1)), attributes_string_24 Map(String, String) CODEC (ZSTD(1)), attributes_string_25 Map(String, String) CODEC (ZSTD(1)), attributes_string_26 Map(String, String) CODEC (ZSTD(1)), attributes_string_27 Map(String, String) CODEC (ZSTD(1)), attributes_string_28 Map(String, String) CODEC (ZSTD(1)), attributes_string_29 Map(String, String) CODEC (ZSTD(1)), attributes_string_30 Map(String, String) CODEC (ZSTD(1)), attributes_string_31 Map(String, String) CODEC (ZSTD(1)), attributes_string_32 Map(String, String) CODEC (ZSTD(1)), attributes_string_33 Map(String, String) CODEC (ZSTD(1)), attributes_string_34 Map(String, String) CODEC (ZSTD(1)), attributes_string_35 Map(String, String) CODEC (ZSTD(1)), attributes_string_36 Map(String, String) CODEC (ZSTD(1)), attributes_string_37 Map(String, String) CODEC (ZSTD(1)), attributes_string_38 Map(String, String) CODEC (ZSTD(1)), attributes_string_39 Map(String, String) CODEC (ZSTD(1)), attributes_float_0 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_1 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_2 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_3 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_4 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_5 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_6 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_7 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_8 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_9 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_10 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_11 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_12 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_13 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_14 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_15 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_16 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_17 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_18 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_19 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_20 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_21 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_22 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_23 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_24 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_25 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_26 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_27 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_28 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_29 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_30 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_31 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_32 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_33 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_34 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_35 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_36 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_37 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_38 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_39 Map(String, Float64) CODEC (ZSTD(1)), attributes_array_string Map(String, Array(String)) CODEC (ZSTD(1)), attributes_array_int Map(String, Array(Int64)) CODEC (ZSTD(1)), attributes_array_float Map(String, Array(Float64)) CODEC (ZSTD(1)), attributes_array_bool Map(String, Array(Bool)) CODEC (ZSTD(1))) AS SELECT organization_id, project_id, item_type, timestamp, trace_id, conversation_id, session_id, item_id, indexed_name, attributes_bool, attributes_int, attributes_string_0, attributes_string_1, attributes_string_2, attributes_string_3, attributes_string_4, attributes_string_5, attributes_string_6, attributes_string_7, attributes_string_8, attributes_string_9, attributes_string_10, attributes_string_11, attributes_string_12, attributes_string_13, attributes_string_14, attributes_string_15, attributes_string_16, attributes_string_17, attributes_string_18, attributes_string_19, attributes_string_20, attributes_string_21, attributes_string_22, attributes_string_23, attributes_string_24, attributes_string_25, attributes_string_26, attributes_string_27, attributes_string_28, attributes_string_29, attributes_string_30, attributes_string_31, attributes_string_32, attributes_string_33, attributes_string_34, attributes_string_35, attributes_string_36, attributes_string_37, attributes_string_38, attributes_string_39, attributes_float_0, attributes_float_1, attributes_float_2, attributes_float_3, attributes_float_4, attributes_float_5, attributes_float_6, attributes_float_7, attributes_float_8, attributes_float_9, attributes_float_10, attributes_float_11, attributes_float_12, attributes_float_13, attributes_float_14, attributes_float_15, attributes_float_16, attributes_float_17, attributes_float_18, attributes_float_19, attributes_float_20, attributes_float_21, attributes_float_22, attributes_float_23, attributes_float_24, attributes_float_25, attributes_float_26, attributes_float_27, attributes_float_28, attributes_float_29, attributes_float_30, attributes_float_31, attributes_float_32, attributes_float_33, attributes_float_34, attributes_float_35, attributes_float_36, attributes_float_37, attributes_float_38, attributes_float_39, attributes_array_string, attributes_array_int, attributes_array_float, attributes_array_bool, downsampled_retention_days AS retention_days, sampling_weight * 64 AS sampling_weight, sampling_factor / 64 AS sampling_factor, client_sample_rate / 64 AS client_sample_rate, server_sample_rate / 64 AS server_sample_rate FROM eap_items_1_local WHERE (cityHash64(item_id) % 64) = 0;
Local op: DROP TABLE IF EXISTS eap_items_1_downsample_64_mv_7 ON CLUSTER 'cluster_one_sh' SYNC;
Local op: CREATE MATERIALIZED VIEW IF NOT EXISTS eap_items_1_downsample_512_mv_8 ON CLUSTER 'cluster_one_sh' TO eap_items_1_downsample_512_local (organization_id UInt64, project_id UInt64, item_type UInt8, timestamp DateTime CODEC (DoubleDelta, ZSTD(1)), trace_id UUID, conversation_id UUID, session_id UUID, item_id UInt128, sampling_weight UInt64 CODEC (ZSTD(1)), sampling_factor Float64 CODEC (ZSTD(1)), retention_days UInt16 CODEC (T64, ZSTD(1)), indexed_name String CODEC (ZSTD(1)), attributes_bool Map(String, Bool), attributes_int Map(String, Int64), attributes_string_0 Map(String, String) CODEC (ZSTD(1)), attributes_string_1 Map(String, String) CODEC (ZSTD(1)), attributes_string_2 Map(String, String) CODEC (ZSTD(1)), attributes_string_3 Map(String, String) CODEC (ZSTD(1)), attributes_string_4 Map(String, String) CODEC (ZSTD(1)), attributes_string_5 Map(String, String) CODEC (ZSTD(1)), attributes_string_6 Map(String, String) CODEC (ZSTD(1)), attributes_string_7 Map(String, String) CODEC (ZSTD(1)), attributes_string_8 Map(String, String) CODEC (ZSTD(1)), attributes_string_9 Map(String, String) CODEC (ZSTD(1)), attributes_string_10 Map(String, String) CODEC (ZSTD(1)), attributes_string_11 Map(String, String) CODEC (ZSTD(1)), attributes_string_12 Map(String, String) CODEC (ZSTD(1)), attributes_string_13 Map(String, String) CODEC (ZSTD(1)), attributes_string_14 Map(String, String) CODEC (ZSTD(1)), attributes_string_15 Map(String, String) CODEC (ZSTD(1)), attributes_string_16 Map(String, String) CODEC (ZSTD(1)), attributes_string_17 Map(String, String) CODEC (ZSTD(1)), attributes_string_18 Map(String, String) CODEC (ZSTD(1)), attributes_string_19 Map(String, String) CODEC (ZSTD(1)), attributes_string_20 Map(String, String) CODEC (ZSTD(1)), attributes_string_21 Map(String, String) CODEC (ZSTD(1)), attributes_string_22 Map(String, String) CODEC (ZSTD(1)), attributes_string_23 Map(String, String) CODEC (ZSTD(1)), attributes_string_24 Map(String, String) CODEC (ZSTD(1)), attributes_string_25 Map(String, String) CODEC (ZSTD(1)), attributes_string_26 Map(String, String) CODEC (ZSTD(1)), attributes_string_27 Map(String, String) CODEC (ZSTD(1)), attributes_string_28 Map(String, String) CODEC (ZSTD(1)), attributes_string_29 Map(String, String) CODEC (ZSTD(1)), attributes_string_30 Map(String, String) CODEC (ZSTD(1)), attributes_string_31 Map(String, String) CODEC (ZSTD(1)), attributes_string_32 Map(String, String) CODEC (ZSTD(1)), attributes_string_33 Map(String, String) CODEC (ZSTD(1)), attributes_string_34 Map(String, String) CODEC (ZSTD(1)), attributes_string_35 Map(String, String) CODEC (ZSTD(1)), attributes_string_36 Map(String, String) CODEC (ZSTD(1)), attributes_string_37 Map(String, String) CODEC (ZSTD(1)), attributes_string_38 Map(String, String) CODEC (ZSTD(1)), attributes_string_39 Map(String, String) CODEC (ZSTD(1)), attributes_float_0 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_1 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_2 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_3 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_4 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_5 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_6 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_7 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_8 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_9 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_10 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_11 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_12 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_13 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_14 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_15 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_16 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_17 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_18 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_19 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_20 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_21 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_22 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_23 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_24 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_25 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_26 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_27 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_28 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_29 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_30 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_31 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_32 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_33 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_34 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_35 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_36 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_37 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_38 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_39 Map(String, Float64) CODEC (ZSTD(1)), attributes_array_string Map(String, Array(String)) CODEC (ZSTD(1)), attributes_array_int Map(String, Array(Int64)) CODEC (ZSTD(1)), attributes_array_float Map(String, Array(Float64)) CODEC (ZSTD(1)), attributes_array_bool Map(String, Array(Bool)) CODEC (ZSTD(1))) AS SELECT organization_id, project_id, item_type, timestamp, trace_id, conversation_id, session_id, item_id, indexed_name, attributes_bool, attributes_int, attributes_string_0, attributes_string_1, attributes_string_2, attributes_string_3, attributes_string_4, attributes_string_5, attributes_string_6, attributes_string_7, attributes_string_8, attributes_string_9, attributes_string_10, attributes_string_11, attributes_string_12, attributes_string_13, attributes_string_14, attributes_string_15, attributes_string_16, attributes_string_17, attributes_string_18, attributes_string_19, attributes_string_20, attributes_string_21, attributes_string_22, attributes_string_23, attributes_string_24, attributes_string_25, attributes_string_26, attributes_string_27, attributes_string_28, attributes_string_29, attributes_string_30, attributes_string_31, attributes_string_32, attributes_string_33, attributes_string_34, attributes_string_35, attributes_string_36, attributes_string_37, attributes_string_38, attributes_string_39, attributes_float_0, attributes_float_1, attributes_float_2, attributes_float_3, attributes_float_4, attributes_float_5, attributes_float_6, attributes_float_7, attributes_float_8, attributes_float_9, attributes_float_10, attributes_float_11, attributes_float_12, attributes_float_13, attributes_float_14, attributes_float_15, attributes_float_16, attributes_float_17, attributes_float_18, attributes_float_19, attributes_float_20, attributes_float_21, attributes_float_22, attributes_float_23, attributes_float_24, attributes_float_25, attributes_float_26, attributes_float_27, attributes_float_28, attributes_float_29, attributes_float_30, attributes_float_31, attributes_float_32, attributes_float_33, attributes_float_34, attributes_float_35, attributes_float_36, attributes_float_37, attributes_float_38, attributes_float_39, attributes_array_string, attributes_array_int, attributes_array_float, attributes_array_bool, downsampled_retention_days AS retention_days, sampling_weight * 512 AS sampling_weight, sampling_factor / 512 AS sampling_factor, client_sample_rate / 512 AS client_sample_rate, server_sample_rate / 512 AS server_sample_rate FROM eap_items_1_local WHERE (cityHash64(item_id) % 512) = 0;
Local op: DROP TABLE IF EXISTS eap_items_1_downsample_512_mv_7 ON CLUSTER 'cluster_one_sh' SYNC;
-- end forward migration events_analytics_platform : 0060_add_conversation_id_and_session_id
-- backward migration events_analytics_platform : 0060_add_conversation_id_and_session_id
Local op: CREATE MATERIALIZED VIEW IF NOT EXISTS eap_items_1_downsample_8_mv_7 ON CLUSTER 'cluster_one_sh' TO eap_items_1_downsample_8_local (organization_id UInt64, project_id UInt64, item_type UInt8, timestamp DateTime CODEC (DoubleDelta, ZSTD(1)), trace_id UUID, item_id UInt128, sampling_weight UInt64 CODEC (ZSTD(1)), sampling_factor Float64 CODEC (ZSTD(1)), retention_days UInt16 CODEC (T64, ZSTD(1)), indexed_name String CODEC (ZSTD(1)), attributes_bool Map(String, Bool), attributes_int Map(String, Int64), attributes_string_0 Map(String, String) CODEC (ZSTD(1)), attributes_string_1 Map(String, String) CODEC (ZSTD(1)), attributes_string_2 Map(String, String) CODEC (ZSTD(1)), attributes_string_3 Map(String, String) CODEC (ZSTD(1)), attributes_string_4 Map(String, String) CODEC (ZSTD(1)), attributes_string_5 Map(String, String) CODEC (ZSTD(1)), attributes_string_6 Map(String, String) CODEC (ZSTD(1)), attributes_string_7 Map(String, String) CODEC (ZSTD(1)), attributes_string_8 Map(String, String) CODEC (ZSTD(1)), attributes_string_9 Map(String, String) CODEC (ZSTD(1)), attributes_string_10 Map(String, String) CODEC (ZSTD(1)), attributes_string_11 Map(String, String) CODEC (ZSTD(1)), attributes_string_12 Map(String, String) CODEC (ZSTD(1)), attributes_string_13 Map(String, String) CODEC (ZSTD(1)), attributes_string_14 Map(String, String) CODEC (ZSTD(1)), attributes_string_15 Map(String, String) CODEC (ZSTD(1)), attributes_string_16 Map(String, String) CODEC (ZSTD(1)), attributes_string_17 Map(String, String) CODEC (ZSTD(1)), attributes_string_18 Map(String, String) CODEC (ZSTD(1)), attributes_string_19 Map(String, String) CODEC (ZSTD(1)), attributes_string_20 Map(String, String) CODEC (ZSTD(1)), attributes_string_21 Map(String, String) CODEC (ZSTD(1)), attributes_string_22 Map(String, String) CODEC (ZSTD(1)), attributes_string_23 Map(String, String) CODEC (ZSTD(1)), attributes_string_24 Map(String, String) CODEC (ZSTD(1)), attributes_string_25 Map(String, String) CODEC (ZSTD(1)), attributes_string_26 Map(String, String) CODEC (ZSTD(1)), attributes_string_27 Map(String, String) CODEC (ZSTD(1)), attributes_string_28 Map(String, String) CODEC (ZSTD(1)), attributes_string_29 Map(String, String) CODEC (ZSTD(1)), attributes_string_30 Map(String, String) CODEC (ZSTD(1)), attributes_string_31 Map(String, String) CODEC (ZSTD(1)), attributes_string_32 Map(String, String) CODEC (ZSTD(1)), attributes_string_33 Map(String, String) CODEC (ZSTD(1)), attributes_string_34 Map(String, String) CODEC (ZSTD(1)), attributes_string_35 Map(String, String) CODEC (ZSTD(1)), attributes_string_36 Map(String, String) CODEC (ZSTD(1)), attributes_string_37 Map(String, String) CODEC (ZSTD(1)), attributes_string_38 Map(String, String) CODEC (ZSTD(1)), attributes_string_39 Map(String, String) CODEC (ZSTD(1)), attributes_float_0 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_1 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_2 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_3 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_4 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_5 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_6 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_7 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_8 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_9 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_10 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_11 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_12 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_13 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_14 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_15 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_16 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_17 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_18 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_19 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_20 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_21 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_22 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_23 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_24 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_25 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_26 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_27 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_28 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_29 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_30 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_31 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_32 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_33 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_34 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_35 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_36 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_37 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_38 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_39 Map(String, Float64) CODEC (ZSTD(1)), attributes_array_string Map(String, Array(String)) CODEC (ZSTD(1)), attributes_array_int Map(String, Array(Int64)) CODEC (ZSTD(1)), attributes_array_float Map(String, Array(Float64)) CODEC (ZSTD(1)), attributes_array_bool Map(String, Array(Bool)) CODEC (ZSTD(1))) AS SELECT organization_id, project_id, item_type, timestamp, trace_id, item_id, indexed_name, attributes_bool, attributes_int, attributes_string_0, attributes_string_1, attributes_string_2, attributes_string_3, attributes_string_4, attributes_string_5, attributes_string_6, attributes_string_7, attributes_string_8, attributes_string_9, attributes_string_10, attributes_string_11, attributes_string_12, attributes_string_13, attributes_string_14, attributes_string_15, attributes_string_16, attributes_string_17, attributes_string_18, attributes_string_19, attributes_string_20, attributes_string_21, attributes_string_22, attributes_string_23, attributes_string_24, attributes_string_25, attributes_string_26, attributes_string_27, attributes_string_28, attributes_string_29, attributes_string_30, attributes_string_31, attributes_string_32, attributes_string_33, attributes_string_34, attributes_string_35, attributes_string_36, attributes_string_37, attributes_string_38, attributes_string_39, attributes_float_0, attributes_float_1, attributes_float_2, attributes_float_3, attributes_float_4, attributes_float_5, attributes_float_6, attributes_float_7, attributes_float_8, attributes_float_9, attributes_float_10, attributes_float_11, attributes_float_12, attributes_float_13, attributes_float_14, attributes_float_15, attributes_float_16, attributes_float_17, attributes_float_18, attributes_float_19, attributes_float_20, attributes_float_21, attributes_float_22, attributes_float_23, attributes_float_24, attributes_float_25, attributes_float_26, attributes_float_27, attributes_float_28, attributes_float_29, attributes_float_30, attributes_float_31, attributes_float_32, attributes_float_33, attributes_float_34, attributes_float_35, attributes_float_36, attributes_float_37, attributes_float_38, attributes_float_39, attributes_array_string, attributes_array_int, attributes_array_float, attributes_array_bool, downsampled_retention_days AS retention_days, sampling_weight * 8 AS sampling_weight, sampling_factor / 8 AS sampling_factor, client_sample_rate / 8 AS client_sample_rate, server_sample_rate / 8 AS server_sample_rate FROM eap_items_1_local WHERE (cityHash64(item_id) % 8) = 0;
Local op: DROP TABLE IF EXISTS eap_items_1_downsample_8_mv_8 ON CLUSTER 'cluster_one_sh' SYNC;
Local op: CREATE MATERIALIZED VIEW IF NOT EXISTS eap_items_1_downsample_64_mv_7 ON CLUSTER 'cluster_one_sh' TO eap_items_1_downsample_64_local (organization_id UInt64, project_id UInt64, item_type UInt8, timestamp DateTime CODEC (DoubleDelta, ZSTD(1)), trace_id UUID, item_id UInt128, sampling_weight UInt64 CODEC (ZSTD(1)), sampling_factor Float64 CODEC (ZSTD(1)), retention_days UInt16 CODEC (T64, ZSTD(1)), indexed_name String CODEC (ZSTD(1)), attributes_bool Map(String, Bool), attributes_int Map(String, Int64), attributes_string_0 Map(String, String) CODEC (ZSTD(1)), attributes_string_1 Map(String, String) CODEC (ZSTD(1)), attributes_string_2 Map(String, String) CODEC (ZSTD(1)), attributes_string_3 Map(String, String) CODEC (ZSTD(1)), attributes_string_4 Map(String, String) CODEC (ZSTD(1)), attributes_string_5 Map(String, String) CODEC (ZSTD(1)), attributes_string_6 Map(String, String) CODEC (ZSTD(1)), attributes_string_7 Map(String, String) CODEC (ZSTD(1)), attributes_string_8 Map(String, String) CODEC (ZSTD(1)), attributes_string_9 Map(String, String) CODEC (ZSTD(1)), attributes_string_10 Map(String, String) CODEC (ZSTD(1)), attributes_string_11 Map(String, String) CODEC (ZSTD(1)), attributes_string_12 Map(String, String) CODEC (ZSTD(1)), attributes_string_13 Map(String, String) CODEC (ZSTD(1)), attributes_string_14 Map(String, String) CODEC (ZSTD(1)), attributes_string_15 Map(String, String) CODEC (ZSTD(1)), attributes_string_16 Map(String, String) CODEC (ZSTD(1)), attributes_string_17 Map(String, String) CODEC (ZSTD(1)), attributes_string_18 Map(String, String) CODEC (ZSTD(1)), attributes_string_19 Map(String, String) CODEC (ZSTD(1)), attributes_string_20 Map(String, String) CODEC (ZSTD(1)), attributes_string_21 Map(String, String) CODEC (ZSTD(1)), attributes_string_22 Map(String, String) CODEC (ZSTD(1)), attributes_string_23 Map(String, String) CODEC (ZSTD(1)), attributes_string_24 Map(String, String) CODEC (ZSTD(1)), attributes_string_25 Map(String, String) CODEC (ZSTD(1)), attributes_string_26 Map(String, String) CODEC (ZSTD(1)), attributes_string_27 Map(String, String) CODEC (ZSTD(1)), attributes_string_28 Map(String, String) CODEC (ZSTD(1)), attributes_string_29 Map(String, String) CODEC (ZSTD(1)), attributes_string_30 Map(String, String) CODEC (ZSTD(1)), attributes_string_31 Map(String, String) CODEC (ZSTD(1)), attributes_string_32 Map(String, String) CODEC (ZSTD(1)), attributes_string_33 Map(String, String) CODEC (ZSTD(1)), attributes_string_34 Map(String, String) CODEC (ZSTD(1)), attributes_string_35 Map(String, String) CODEC (ZSTD(1)), attributes_string_36 Map(String, String) CODEC (ZSTD(1)), attributes_string_37 Map(String, String) CODEC (ZSTD(1)), attributes_string_38 Map(String, String) CODEC (ZSTD(1)), attributes_string_39 Map(String, String) CODEC (ZSTD(1)), attributes_float_0 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_1 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_2 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_3 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_4 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_5 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_6 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_7 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_8 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_9 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_10 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_11 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_12 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_13 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_14 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_15 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_16 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_17 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_18 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_19 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_20 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_21 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_22 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_23 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_24 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_25 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_26 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_27 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_28 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_29 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_30 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_31 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_32 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_33 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_34 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_35 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_36 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_37 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_38 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_39 Map(String, Float64) CODEC (ZSTD(1)), attributes_array_string Map(String, Array(String)) CODEC (ZSTD(1)), attributes_array_int Map(String, Array(Int64)) CODEC (ZSTD(1)), attributes_array_float Map(String, Array(Float64)) CODEC (ZSTD(1)), attributes_array_bool Map(String, Array(Bool)) CODEC (ZSTD(1))) AS SELECT organization_id, project_id, item_type, timestamp, trace_id, item_id, indexed_name, attributes_bool, attributes_int, attributes_string_0, attributes_string_1, attributes_string_2, attributes_string_3, attributes_string_4, attributes_string_5, attributes_string_6, attributes_string_7, attributes_string_8, attributes_string_9, attributes_string_10, attributes_string_11, attributes_string_12, attributes_string_13, attributes_string_14, attributes_string_15, attributes_string_16, attributes_string_17, attributes_string_18, attributes_string_19, attributes_string_20, attributes_string_21, attributes_string_22, attributes_string_23, attributes_string_24, attributes_string_25, attributes_string_26, attributes_string_27, attributes_string_28, attributes_string_29, attributes_string_30, attributes_string_31, attributes_string_32, attributes_string_33, attributes_string_34, attributes_string_35, attributes_string_36, attributes_string_37, attributes_string_38, attributes_string_39, attributes_float_0, attributes_float_1, attributes_float_2, attributes_float_3, attributes_float_4, attributes_float_5, attributes_float_6, attributes_float_7, attributes_float_8, attributes_float_9, attributes_float_10, attributes_float_11, attributes_float_12, attributes_float_13, attributes_float_14, attributes_float_15, attributes_float_16, attributes_float_17, attributes_float_18, attributes_float_19, attributes_float_20, attributes_float_21, attributes_float_22, attributes_float_23, attributes_float_24, attributes_float_25, attributes_float_26, attributes_float_27, attributes_float_28, attributes_float_29, attributes_float_30, attributes_float_31, attributes_float_32, attributes_float_33, attributes_float_34, attributes_float_35, attributes_float_36, attributes_float_37, attributes_float_38, attributes_float_39, attributes_array_string, attributes_array_int, attributes_array_float, attributes_array_bool, downsampled_retention_days AS retention_days, sampling_weight * 64 AS sampling_weight, sampling_factor / 64 AS sampling_factor, client_sample_rate / 64 AS client_sample_rate, server_sample_rate / 64 AS server_sample_rate FROM eap_items_1_local WHERE (cityHash64(item_id) % 64) = 0;
Local op: DROP TABLE IF EXISTS eap_items_1_downsample_64_mv_8 ON CLUSTER 'cluster_one_sh' SYNC;
Local op: CREATE MATERIALIZED VIEW IF NOT EXISTS eap_items_1_downsample_512_mv_7 ON CLUSTER 'cluster_one_sh' TO eap_items_1_downsample_512_local (organization_id UInt64, project_id UInt64, item_type UInt8, timestamp DateTime CODEC (DoubleDelta, ZSTD(1)), trace_id UUID, item_id UInt128, sampling_weight UInt64 CODEC (ZSTD(1)), sampling_factor Float64 CODEC (ZSTD(1)), retention_days UInt16 CODEC (T64, ZSTD(1)), indexed_name String CODEC (ZSTD(1)), attributes_bool Map(String, Bool), attributes_int Map(String, Int64), attributes_string_0 Map(String, String) CODEC (ZSTD(1)), attributes_string_1 Map(String, String) CODEC (ZSTD(1)), attributes_string_2 Map(String, String) CODEC (ZSTD(1)), attributes_string_3 Map(String, String) CODEC (ZSTD(1)), attributes_string_4 Map(String, String) CODEC (ZSTD(1)), attributes_string_5 Map(String, String) CODEC (ZSTD(1)), attributes_string_6 Map(String, String) CODEC (ZSTD(1)), attributes_string_7 Map(String, String) CODEC (ZSTD(1)), attributes_string_8 Map(String, String) CODEC (ZSTD(1)), attributes_string_9 Map(String, String) CODEC (ZSTD(1)), attributes_string_10 Map(String, String) CODEC (ZSTD(1)), attributes_string_11 Map(String, String) CODEC (ZSTD(1)), attributes_string_12 Map(String, String) CODEC (ZSTD(1)), attributes_string_13 Map(String, String) CODEC (ZSTD(1)), attributes_string_14 Map(String, String) CODEC (ZSTD(1)), attributes_string_15 Map(String, String) CODEC (ZSTD(1)), attributes_string_16 Map(String, String) CODEC (ZSTD(1)), attributes_string_17 Map(String, String) CODEC (ZSTD(1)), attributes_string_18 Map(String, String) CODEC (ZSTD(1)), attributes_string_19 Map(String, String) CODEC (ZSTD(1)), attributes_string_20 Map(String, String) CODEC (ZSTD(1)), attributes_string_21 Map(String, String) CODEC (ZSTD(1)), attributes_string_22 Map(String, String) CODEC (ZSTD(1)), attributes_string_23 Map(String, String) CODEC (ZSTD(1)), attributes_string_24 Map(String, String) CODEC (ZSTD(1)), attributes_string_25 Map(String, String) CODEC (ZSTD(1)), attributes_string_26 Map(String, String) CODEC (ZSTD(1)), attributes_string_27 Map(String, String) CODEC (ZSTD(1)), attributes_string_28 Map(String, String) CODEC (ZSTD(1)), attributes_string_29 Map(String, String) CODEC (ZSTD(1)), attributes_string_30 Map(String, String) CODEC (ZSTD(1)), attributes_string_31 Map(String, String) CODEC (ZSTD(1)), attributes_string_32 Map(String, String) CODEC (ZSTD(1)), attributes_string_33 Map(String, String) CODEC (ZSTD(1)), attributes_string_34 Map(String, String) CODEC (ZSTD(1)), attributes_string_35 Map(String, String) CODEC (ZSTD(1)), attributes_string_36 Map(String, String) CODEC (ZSTD(1)), attributes_string_37 Map(String, String) CODEC (ZSTD(1)), attributes_string_38 Map(String, String) CODEC (ZSTD(1)), attributes_string_39 Map(String, String) CODEC (ZSTD(1)), attributes_float_0 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_1 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_2 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_3 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_4 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_5 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_6 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_7 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_8 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_9 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_10 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_11 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_12 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_13 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_14 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_15 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_16 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_17 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_18 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_19 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_20 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_21 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_22 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_23 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_24 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_25 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_26 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_27 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_28 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_29 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_30 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_31 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_32 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_33 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_34 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_35 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_36 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_37 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_38 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_39 Map(String, Float64) CODEC (ZSTD(1)), attributes_array_string Map(String, Array(String)) CODEC (ZSTD(1)), attributes_array_int Map(String, Array(Int64)) CODEC (ZSTD(1)), attributes_array_float Map(String, Array(Float64)) CODEC (ZSTD(1)), attributes_array_bool Map(String, Array(Bool)) CODEC (ZSTD(1))) AS SELECT organization_id, project_id, item_type, timestamp, trace_id, item_id, indexed_name, attributes_bool, attributes_int, attributes_string_0, attributes_string_1, attributes_string_2, attributes_string_3, attributes_string_4, attributes_string_5, attributes_string_6, attributes_string_7, attributes_string_8, attributes_string_9, attributes_string_10, attributes_string_11, attributes_string_12, attributes_string_13, attributes_string_14, attributes_string_15, attributes_string_16, attributes_string_17, attributes_string_18, attributes_string_19, attributes_string_20, attributes_string_21, attributes_string_22, attributes_string_23, attributes_string_24, attributes_string_25, attributes_string_26, attributes_string_27, attributes_string_28, attributes_string_29, attributes_string_30, attributes_string_31, attributes_string_32, attributes_string_33, attributes_string_34, attributes_string_35, attributes_string_36, attributes_string_37, attributes_string_38, attributes_string_39, attributes_float_0, attributes_float_1, attributes_float_2, attributes_float_3, attributes_float_4, attributes_float_5, attributes_float_6, attributes_float_7, attributes_float_8, attributes_float_9, attributes_float_10, attributes_float_11, attributes_float_12, attributes_float_13, attributes_float_14, attributes_float_15, attributes_float_16, attributes_float_17, attributes_float_18, attributes_float_19, attributes_float_20, attributes_float_21, attributes_float_22, attributes_float_23, attributes_float_24, attributes_float_25, attributes_float_26, attributes_float_27, attributes_float_28, attributes_float_29, attributes_float_30, attributes_float_31, attributes_float_32, attributes_float_33, attributes_float_34, attributes_float_35, attributes_float_36, attributes_float_37, attributes_float_38, attributes_float_39, attributes_array_string, attributes_array_int, attributes_array_float, attributes_array_bool, downsampled_retention_days AS retention_days, sampling_weight * 512 AS sampling_weight, sampling_factor / 512 AS sampling_factor, client_sample_rate / 512 AS client_sample_rate, server_sample_rate / 512 AS server_sample_rate FROM eap_items_1_local WHERE (cityHash64(item_id) % 512) = 0;
Local op: DROP TABLE IF EXISTS eap_items_1_downsample_512_mv_8 ON CLUSTER 'cluster_one_sh' SYNC;
Local op: ALTER TABLE eap_items_1_local ON CLUSTER 'cluster_one_sh' DROP INDEX IF EXISTS bf_conversation_id;
Local op: ALTER TABLE eap_items_1_local ON CLUSTER 'cluster_one_sh' DROP INDEX IF EXISTS bf_session_id;
Local op: ALTER TABLE eap_items_1_downsample_8_local ON CLUSTER 'cluster_one_sh' DROP INDEX IF EXISTS bf_conversation_id;
Local op: ALTER TABLE eap_items_1_downsample_8_local ON CLUSTER 'cluster_one_sh' DROP INDEX IF EXISTS bf_session_id;
Local op: ALTER TABLE eap_items_1_downsample_64_local ON CLUSTER 'cluster_one_sh' DROP INDEX IF EXISTS bf_conversation_id;
Local op: ALTER TABLE eap_items_1_downsample_64_local ON CLUSTER 'cluster_one_sh' DROP INDEX IF EXISTS bf_session_id;
Local op: ALTER TABLE eap_items_1_downsample_512_local ON CLUSTER 'cluster_one_sh' DROP INDEX IF EXISTS bf_conversation_id;
Local op: ALTER TABLE eap_items_1_downsample_512_local ON CLUSTER 'cluster_one_sh' DROP INDEX IF EXISTS bf_session_id;
Distributed op: ALTER TABLE eap_items_1_dist ON CLUSTER 'cluster_one_sh' DROP COLUMN IF EXISTS session_id;
Local op: ALTER TABLE eap_items_1_local ON CLUSTER 'cluster_one_sh' DROP COLUMN IF EXISTS session_id;
Distributed op: ALTER TABLE eap_items_1_dist ON CLUSTER 'cluster_one_sh' DROP COLUMN IF EXISTS conversation_id;
Local op: ALTER TABLE eap_items_1_local ON CLUSTER 'cluster_one_sh' DROP COLUMN IF EXISTS conversation_id;
Distributed op: ALTER TABLE eap_items_1_downsample_8_dist ON CLUSTER 'cluster_one_sh' DROP COLUMN IF EXISTS session_id;
Local op: ALTER TABLE eap_items_1_downsample_8_local ON CLUSTER 'cluster_one_sh' DROP COLUMN IF EXISTS session_id;
Distributed op: ALTER TABLE eap_items_1_downsample_8_dist ON CLUSTER 'cluster_one_sh' DROP COLUMN IF EXISTS conversation_id;
Local op: ALTER TABLE eap_items_1_downsample_8_local ON CLUSTER 'cluster_one_sh' DROP COLUMN IF EXISTS conversation_id;
Distributed op: ALTER TABLE eap_items_1_downsample_64_dist ON CLUSTER 'cluster_one_sh' DROP COLUMN IF EXISTS session_id;
Local op: ALTER TABLE eap_items_1_downsample_64_local ON CLUSTER 'cluster_one_sh' DROP COLUMN IF EXISTS session_id;
Distributed op: ALTER TABLE eap_items_1_downsample_64_dist ON CLUSTER 'cluster_one_sh' DROP COLUMN IF EXISTS conversation_id;
Local op: ALTER TABLE eap_items_1_downsample_64_local ON CLUSTER 'cluster_one_sh' DROP COLUMN IF EXISTS conversation_id;
Distributed op: ALTER TABLE eap_items_1_downsample_512_dist ON CLUSTER 'cluster_one_sh' DROP COLUMN IF EXISTS session_id;
Local op: ALTER TABLE eap_items_1_downsample_512_local ON CLUSTER 'cluster_one_sh' DROP COLUMN IF EXISTS session_id;
Distributed op: ALTER TABLE eap_items_1_downsample_512_dist ON CLUSTER 'cluster_one_sh' DROP COLUMN IF EXISTS conversation_id;
Local op: ALTER TABLE eap_items_1_downsample_512_local ON CLUSTER 'cluster_one_sh' DROP COLUMN IF EXISTS conversation_id;
Distributed op: ALTER TABLE eap_items_1_dist_ro ON CLUSTER 'cluster_one_sh' DROP COLUMN IF EXISTS session_id;
Distributed op: ALTER TABLE eap_items_1_dist_ro ON CLUSTER 'cluster_one_sh' DROP COLUMN IF EXISTS conversation_id;
Distributed op: ALTER TABLE eap_items_1_downsample_8_dist_ro ON CLUSTER 'cluster_one_sh' DROP COLUMN IF EXISTS session_id;
Distributed op: ALTER TABLE eap_items_1_downsample_8_dist_ro ON CLUSTER 'cluster_one_sh' DROP COLUMN IF EXISTS conversation_id;
Distributed op: ALTER TABLE eap_items_1_downsample_64_dist_ro ON CLUSTER 'cluster_one_sh' DROP COLUMN IF EXISTS session_id;
Distributed op: ALTER TABLE eap_items_1_downsample_64_dist_ro ON CLUSTER 'cluster_one_sh' DROP COLUMN IF EXISTS conversation_id;
Distributed op: ALTER TABLE eap_items_1_downsample_512_dist_ro ON CLUSTER 'cluster_one_sh' DROP COLUMN IF EXISTS session_id;
Distributed op: ALTER TABLE eap_items_1_downsample_512_dist_ro ON CLUSTER 'cluster_one_sh' DROP COLUMN IF EXISTS conversation_id;
-- end backward migration events_analytics_platform : 0060_add_conversation_id_and_session_id |
Move the two new UUID columns so the on-disk order is trace_id -> conversation_id -> session_id, grouping the UUID identifier columns together. Updates the AddColumn `after` targets, the downsample materialized-view column list, and all eight storage configs to match. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019JsLYHmP1AGxNuNNFazfTP
…ersation-session-id
master landed 0059_add_array_attribute_map_columns, which both takes the 0059 number and bumps the downsample materialized views from mv_6 to mv_7. Resolve the collision after merging master: - Rename this migration 0059 -> 0060 (the migration loader rejects duplicate numbers). - Bump the downsample views mv_7 -> mv_8 instead of mv_6 -> mv_7, and build the view column list from the mv_7 set (base columns + the four attributes_array_* columns from 0059) with conversation_id/session_id inserted after trace_id, so the regenerated views match the post-0059 on-disk layout. backwards_ops restores the mv_7 column set. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019JsLYHmP1AGxNuNNFazfTP
MeredithAnya
approved these changes
Jun 22, 2026
Condense the verbose explanatory comments in the migration and keep the version references current (mv_7 -> mv_8, predecessor migration 0059). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019JsLYHmP1AGxNuNNFazfTP
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds
conversation_idandsession_id(bothUUID) to the EAP items table, all three downsample tiers, and the read-only variants, and wires them through the downsample materialized views so they're populated on the read paths.Changes
Migration
0059_add_conversation_id_and_session_id.pyindexed_name) toeap_items_1+ the threeeap_items_1_downsample_{8,64,512}tiers — local, distributed, and the read-only distributed tables (the latter don't inherit schema changes from their source tables).bloom_filterindexes (bf_conversation_id,bf_session_id) on the local MergeTree tables, mirroringbf_indexed_namefrom migration 0057.mv_6→mv_7so the new columns are projected and populated on the downsampled tables.backwards_opsrestoresmv_6, drops the indexes, then drops the columns.The MV column list is built locally (base columns + the two new columns inserted after
indexed_name) rather than via the sharedget_eap_items_columns()helper, because migration 0058 also calls that helper and runs before this one — adding the columns there would make 0058 reference columns that don't exist yet on a from-scratch run.Storage configs (8 YAMLs)
UUIDcolumns oneap_items,eap_items_ro, and all three downsample tiers + their_rovariants.UUIDColumnProcessoralongsidetrace_idso they serialize/deserialize correctly as UUIDs.Testing
UUIDon all tables, bloom-filter indexes present on all four local tables, threemv_7views created projecting both columns.tests/migrations/test_eap_subset_sampling.pypasses.Out of scope
The
EAPItemsProcessordoesn't yet populate these columns from the ingested message — same follow-up pattern used forindexed_name.🤖 Generated with Claude Code
Agent transcript: https://claudescope.sentry.dev/share/AREs01jCRubjIo0PyXaY6pOsjmA2kW1zY-eoVgHM9Ds
Linear: EAP-565