-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
create rc-processing-transaction #79200
base: master
Are you sure you want to change the base?
Conversation
there's a lot of places in code where you need to implement the dual writing, have you considered putting the dual writing logic in one place only inside the |
Co-authored-by: Lyn Nagara <[email protected]>
@@ -524,7 +525,11 @@ def post_process_group( | |||
) | |||
return | |||
with metrics.timer("tasks.post_process.delete_event_cache"): | |||
event_processing_store.delete_by_key(cache_key) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do you also need to update line 520 to point at the transacations store?
Co-authored-by: Lyn Nagara <[email protected]>
i think there are a few more places in the codebase where this is needed.. e.g. sentry/src/sentry/event_manager.py Lines 1104 to 1107 in 939be86
can you check the whole codebase? |
if event_type == "transaction": | ||
processing.transaction_processing_store.delete_by_key(cache_key) | ||
else: | ||
processing.event_processing_store.delete_by_key(cache_key) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you have this if/else block twice in this file..
suggest to refactor to something like:
processing_store = transaction_processing_store if event_type == "transaction" else event_processing_store
processing_store.get(cache_key)
processing_store.store(data)
processing_store.delete_by_key(cache_key)
also, there needs to be a 3rd time, as line 509 also needs to go to either the event or transaction processing store
that is from the
The rest of the references in the codebase are test cases (and reprocessing, which I'm not sure if it needs to be updated) but I think they don't need to know about the split |
This creates rc processing transactions redis cluster specifically for transactions. For now as part of the rollout, this only initializes the new eventstore.