Skip to content

Commit 553895b

Browse files
committed
remove extra lock + cache
1 parent 89d40a7 commit 553895b

File tree

1 file changed

+12
-28
lines changed

1 file changed

+12
-28
lines changed

src/sentry/event_manager.py

Lines changed: 12 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,6 @@
8282
from sentry.issues.producer import PayloadType, produce_occurrence_to_kafka
8383
from sentry.killswitches import killswitch_matches_context
8484
from sentry.lang.native.utils import STORE_CRASH_REPORTS_ALL, convert_crashreport_count
85-
from sentry.locks import locks
8685
from sentry.models.activity import Activity
8786
from sentry.models.environment import Environment
8887
from sentry.models.event import EventDict
@@ -701,38 +700,23 @@ def _pull_out_data(jobs: Sequence[Job], projects: ProjectsMapping) -> None:
701700

702701

703702
def _set_project_platform_if_needed(project: Project, event: Event) -> None:
704-
if event.platform not in VALID_PLATFORMS or event.get_tag("sample_event") == "yes":
703+
if project.platform:
705704
return
706705

707-
# Use a lock to prevent race conditions when multiple events are processed
708-
# concurrently for a project with no initial platform
709-
cache_key = f"project-platform-cache:{project.id}"
710-
lock_key = f"project-platform-lock:{project.id}"
711-
if cache.get(cache_key) is not None:
706+
if event.platform not in VALID_PLATFORMS or event.get_tag("sample_event") == "yes":
712707
return
713708

714-
try:
715-
with locks.get(lock_key, duration=60, name="project-platform-lock").acquire():
716-
if cache.get(cache_key) is not None:
717-
return
718-
else:
719-
cache.set(cache_key, "1", 60 * 5)
720-
721-
if not project.platform:
722-
updated = Project.objects.filter(
723-
Q(id=project.id) & (Q(platform__isnull=True) | Q(platform=""))
724-
).update(platform=event.platform)
725-
726-
if updated:
727-
create_system_audit_entry(
728-
organization=project.organization,
729-
target_object=project.id,
730-
event=audit_log.get_event_id("PROJECT_EDIT"),
731-
data={**project.get_audit_log_data(), "platform": event.platform},
732-
)
709+
updated = Project.objects.filter(
710+
Q(id=project.id) & (Q(platform__isnull=True) | Q(platform=""))
711+
).update(platform=event.platform)
733712

734-
except Exception:
735-
logger.exception("Failed to infer and set project platform")
713+
if updated:
714+
create_system_audit_entry(
715+
organization=project.organization,
716+
target_object=project.id,
717+
event=audit_log.get_event_id("PROJECT_EDIT"),
718+
data={**project.get_audit_log_data(), "platform": event.platform},
719+
)
736720

737721

738722
@sentry_sdk.tracing.trace

0 commit comments

Comments
 (0)