schema = WritableTableSchema( columns=all_columns, local_table_name="sentry_local", dist_table_name="sentry_dist", storage_set_key=StorageSetKey.EVENTS, mandatory_conditions=mandatory_conditions, prewhere_candidates=prewhere_candidates, ) storage = WritableTableStorage( storage_key=StorageKey.EVENTS, storage_set_key=StorageSetKey.EVENTS, schema=schema, query_processors=query_processors, stream_loader=KafkaStreamLoader( processor=EventsProcessor(promoted_tag_columns), default_topic="events", replacement_topic="event-replacements", commit_log_topic="snuba-commit-log", ), query_splitters=query_splitters, replacer_processor=ErrorsReplacer( schema=schema, required_columns=[col.escaped for col in required_columns], tag_column_map=get_tag_column_map(), promoted_tags=get_promoted_tags(), state_name=ReplacerState.EVENTS, ), )
"deleted", "retention_days", ] storage = WritableTableStorage( storage_key=StorageKey.ERRORS, storage_set_key=StorageSetKey.EVENTS, schema=schema, query_processors=[ PostReplacementConsistencyEnforcer( project_column="project_id", replacer_state_name=ReplacerState.ERRORS, ), MappingColumnPromoter(mapping_specs={"tags": promoted_tag_columns}), ArrayJoinKeyValueOptimizer("tags"), PrewhereProcessor(), ], stream_loader=KafkaStreamLoader( processor=ErrorsProcessor(promoted_tag_columns), default_topic="events", replacement_topic="errors-replacements", ), replacer_processor=ErrorsReplacer( write_schema=schema, read_schema=schema, required_columns=required_columns, tag_column_map={"tags": promoted_tag_columns, "contexts": {}}, promoted_tags={"tags": list(promoted_tag_columns.keys()), "contexts": []}, state_name=ReplacerState.ERRORS, ), )
storage_set_key=StorageSetKey.ERRORS_V2, schema=schema, query_processors=query_processors, query_splitters=query_splitters, mandatory_condition_checkers=[ProjectIdEnforcer()], stream_loader=build_kafka_stream_loader_from_settings( processor=ErrorsProcessor(promoted_tag_columns), pre_filter=KafkaHeaderFilter("transaction_forwarder", "1"), default_topic=Topic.EVENTS, replacement_topic=Topic.EVENT_REPLACEMENTS, commit_log_topic=Topic.COMMIT_LOG, subscription_scheduler_mode=SchedulingWatermarkMode.PARTITION, subscription_scheduled_topic=Topic.SUBSCRIPTION_SCHEDULED_EVENTS, subscription_result_topic=Topic.SUBSCRIPTION_RESULTS_EVENTS, ), replacer_processor=ErrorsReplacer( schema=schema, required_columns=required_columns, tag_column_map={ "tags": promoted_tag_columns, "contexts": {} }, promoted_tags={ "tags": list(promoted_tag_columns.keys()), "contexts": [] }, state_name=ReplacerState.ERRORS_V2, use_promoted_prewhere=False, ), )