Skip to content

Conversation

kcons
Copy link
Member

@kcons kcons commented Aug 15, 2025

Clustered redis doesn't support transactional pipelines, which are the default in the Buffer code.
However, we aren't too reliant on the transactionality; in most cases, we're performing single operations and adding an expiry. We don't rely on expiry for key removal, and remove or clear them explicitly.

The main multi-key cases where this might have impact are cases in which partial keysets are arguably more correct than no key at all.

We still need to be careful, but on the whole, this seems safe and is necessary to move to a standard cluster.

@kcons kcons requested review from cathteng and a team August 15, 2025 02:01
@github-actions github-actions bot added the Scope: Backend Automatically applied to PRs that change backend components label Aug 15, 2025
@kcons
Copy link
Member Author

kcons commented Aug 15, 2025

NB: technically, we should be able to make single key operations transactional, but it'd require us to change redis client libraries. We should, but I don't think we need to block on it.

@kcons kcons merged commit 5d4742a into master Aug 15, 2025
65 checks passed
@kcons kcons deleted the kcons/notxn branch August 15, 2025 16:40
Copy link

sentry-io bot commented Aug 19, 2025

Suspect Issues

This pull request was deployed and Sentry observed the following issues:

Did you find this useful? React with a 👍 or 👎

priscilawebdev pushed a commit that referenced this pull request Aug 25, 2025
…nal (#97917)

Clustered redis doesn't support transactional pipelines, which are the
default in the Buffer code.
However, we aren't too reliant on the transactionality; in most cases,
we're performing single operations and adding an expiry. We don't rely
on expiry for key removal, and remove or clear them explicitly.

The main multi-key cases where this might have impact are cases in which
partial keysets are arguably more correct than no key at all.

We still need to be careful, but on the whole, this seems safe and is
necessary to move to a standard cluster.
andrewshie-sentry pushed a commit that referenced this pull request Aug 26, 2025
…nal (#97917)

Clustered redis doesn't support transactional pipelines, which are the
default in the Buffer code.
However, we aren't too reliant on the transactionality; in most cases,
we're performing single operations and adding an expiry. We don't rely
on expiry for key removal, and remove or clear them explicitly.

The main multi-key cases where this might have impact are cases in which
partial keysets are arguably more correct than no key at all.

We still need to be careful, but on the whole, this seems safe and is
necessary to move to a standard cluster.
constantinius pushed a commit that referenced this pull request Sep 1, 2025
…nal (#97917)

Clustered redis doesn't support transactional pipelines, which are the
default in the Buffer code.
However, we aren't too reliant on the transactionality; in most cases,
we're performing single operations and adding an expiry. We don't rely
on expiry for key removal, and remove or clear them explicitly.

The main multi-key cases where this might have impact are cases in which
partial keysets are arguably more correct than no key at all.

We still need to be careful, but on the whole, this seems safe and is
necessary to move to a standard cluster.
@github-actions github-actions bot locked and limited conversation to collaborators Sep 11, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Scope: Backend Automatically applied to PRs that change backend components
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants