|
@@ -31,7 +31,7 @@ How reprocessing works
|
|
|
redirected at this point. The new group can either:
|
|
|
|
|
|
a. Have events by itself, but also show a success message based on the data in activity.
|
|
|
- b. Be totally empty but suggest a search for original_group_id based on data in activity.
|
|
|
+ b. Be totally empty but suggest a search for original_issue_id based on data in activity.
|
|
|
|
|
|
However, there's no special flag for whether that new group has been a
|
|
|
result of reprocessing.
|
|
@@ -89,6 +89,7 @@ from sentry import nodestore, features, eventstore
|
|
|
from sentry.attachments import CachedAttachment, attachment_cache
|
|
|
from sentry import models
|
|
|
from sentry.utils import snuba
|
|
|
+from sentry.utils.safe import set_path, get_path
|
|
|
from sentry.utils.cache import cache_key_for_event
|
|
|
from sentry.utils.redis import redis_clusters
|
|
|
from sentry.eventstore.processing import event_processing_store
|
|
@@ -150,7 +151,6 @@ def delete_unprocessed_events(project_id, event_ids):
|
|
|
|
|
|
def reprocess_event(project_id, event_id, start_time):
|
|
|
|
|
|
- from sentry.event_manager import set_tag
|
|
|
from sentry.tasks.store import preprocess_event_from_reprocessing
|
|
|
from sentry.ingest.ingest_consumer import CACHE_TIMEOUT
|
|
|
|
|
@@ -187,7 +187,7 @@ def reprocess_event(project_id, event_id, start_time):
|
|
|
|
|
|
# Step 1: Fix up the event payload for reprocessing and put it in event
|
|
|
# cache/event_processing_store
|
|
|
- set_tag(data, "original_group_id", event.group_id)
|
|
|
+ set_path(data, "contexts", "reprocessing", "original_issue_id", value=event.group_id)
|
|
|
cache_key = event_processing_store.store(data)
|
|
|
|
|
|
# Step 2: Copy attachments into attachment cache
|
|
@@ -255,16 +255,11 @@ def _copy_attachment_into_cache(attachment_id, attachment, cache_key, cache_time
|
|
|
|
|
|
|
|
|
def is_reprocessed_event(data):
|
|
|
- from sentry.event_manager import get_tag
|
|
|
+ return bool(_get_original_issue_id(data))
|
|
|
|
|
|
- return bool(get_tag(data, "original_group_id"))
|
|
|
|
|
|
-
|
|
|
-def _get_original_group_id(data):
|
|
|
- from sentry.event_manager import get_tag
|
|
|
-
|
|
|
- # XXX: Have real snuba column
|
|
|
- return get_tag(data, "original_group_id")
|
|
|
+def _get_original_issue_id(data):
|
|
|
+ return get_path(data, "contexts", "reprocessing", "original_issue_id")
|
|
|
|
|
|
|
|
|
def _get_sync_redis_client():
|
|
@@ -283,7 +278,7 @@ def mark_event_reprocessed(data):
|
|
|
if not is_reprocessed_event(data):
|
|
|
return
|
|
|
|
|
|
- key = _get_sync_counter_key(_get_original_group_id(data))
|
|
|
+ key = _get_sync_counter_key(_get_original_issue_id(data))
|
|
|
_get_sync_redis_client().decr(key)
|
|
|
|
|
|
|