create rc-processing-transaction
This creates rc processing transactions redis cluster specifically for transactions. For now as part of the rollout, this only initializes the new eventstore.
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 transaction_processing_store implementation, so that none of the callsites need to change when rolling this out?
i think there are a few more places in the codebase where this is needed.. e.g. https://github.com/getsentry/sentry/blob/939be86fe916546f6020dcddeba2f5207071e8d8/src/sentry/event_manager.py#L1104-L1107
can you check the whole codebase?
i think there are a few more places in the codebase where this is needed.. e.g.
https://github.com/getsentry/sentry/blob/939be86fe916546f6020dcddeba2f5207071e8d8/src/sentry/event_manager.py#L1104-L1107
can you check the whole codebase?
that is from the _nodestore_save_many function which checks first to ensure the event type is not a transaction
if event.get_event_type() not in ("transaction", "generic") and job["groups"]:
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
:x: 1 Tests Failed:
| Tests completed | Failed | Passed | Skipped |
|---|---|---|---|
| 22063 | 1 | 22062 | 218 |
View the top 1 failed tests by shortest run time
tests.sentry.eventstream.kafka.test_dispatch test_dispatch_taskStack Traces | 0.06s run time
#x1B[1m#x1B[.../eventstream/kafka/test_dispatch.py#x1B[0m:85: in test_dispatch_task mock_dispatch.assert_called_once_with( #x1B[1m#x1B[.../hostedtoolcache/Python/3.12.6....../x64/lib/python3.12/unittest/mock.py#x1B[0m:959: in assert_called_once_with return self.assert_called_with(*args, **kwargs) #x1B[1m#x1B[.../hostedtoolcache/Python/3.12.6....../x64/lib/python3.12/unittest/mock.py#x1B[0m:947: in assert_called_with raise AssertionError(_error_message()) from cause #x1B[1m#x1B[31mE AssertionError: expected call not found.#x1B[0m #x1B[1m#x1B[31mE Expected: dispatch_post_process_group_task('generic', event_id='fe0ee9a2bc3b415497bad68aaf70dc7f', project_id=1, group_id=43, primary_hash='311ee66a5b8e697929804ceb1c456ffe', is_new=False, is_regression=None, is_new_group_environment=False, queue='post_process_errors', group_states=None, occurrence_id=None)#x1B[0m #x1B[1m#x1B[31mE Actual: dispatch_post_process_group_task(eventstream_type='generic', event_id='fe0ee9a2bc3b415497bad68aaf70dc7f', project_id=1, group_id=43, primary_hash='311ee66a5b8e697929804ceb1c456ffe', occurrence_id=None, is_new=False, is_regression=None, is_new_group_environment=False, group_states=None, queue='post_process_errors')#x1B[0m
To view individual test run time comparison to the main branch, go to the Test Analytics Dashboard
🚨 Warning: This pull request contains Frontend and Backend changes!
It's discouraged to make changes to Sentry's Frontend and Backend in a single pull request. The Frontend and Backend are not atomically deployed. If the changes are interdependent of each other, they must be separated into two pull requests and be made forward or backwards compatible, such that the Backend or Frontend can be safely deployed independently.
Have questions? Please ask in the #discuss-dev-infra channel.
PR reverted: 56b7027e6b21f334bf22ff0b3977e25a4d0d4d27