fix: rollback logs warning on clean sessions [DIA-40867] #52
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Currently, when fastapi-sqla encounters an http error, it will rollback the session, regardless of the error, and log an associated warning. However, this causes a lot of log noise for inconsequential rollbacks (e.g. 404s will also trigger this warning).
This takes an optimistic approach and checks if a session is dirty (which could but doesn't necessarily indicate that data will be written to DB) before logging the warning, effectively silencing the log when a rollback is expected to be no-op.
See https://app.datadoghq.com/logs?query=app%3Anotepad%20env%3Adev-ca2%20scope%3Acore&agg_m=count&agg_t=count&event=AQAAAYAewq6X7ACj4AAAAABBWUFld3JUdEFBQmxxbk1TTEppcE1nQUk&index=main&from_ts=1649769234000&to_ts=1649783634000&live=false for an example of such log that this would silence.