sentry icon indicating copy to clipboard operation
sentry copied to clipboard

create rc-processing-transaction

Open kneeyo1 opened this issue 1 year ago • 3 comments

This creates rc processing transactions redis cluster specifically for transactions. For now as part of the rollout, this only initializes the new eventstore.

kneeyo1 avatar Oct 16 '24 17:10 kneeyo1

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?

lynnagara avatar Oct 16 '24 22:10 lynnagara

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?

lynnagara avatar Oct 16 '24 22:10 lynnagara

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

kneeyo1 avatar Oct 17 '24 02:10 kneeyo1

: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_task
Stack 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

codecov[bot] avatar Oct 21 '24 05:10 codecov[bot]

🚨 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.

github-actions[bot] avatar Oct 21 '24 17:10 github-actions[bot]

PR reverted: 56b7027e6b21f334bf22ff0b3977e25a4d0d4d27

getsentry-bot avatar Oct 22 '24 20:10 getsentry-bot