Skip to content

fix(spans): Unlink distributed payload keys individually to avoid cross-slot errors#110790

Merged
lvthanh03 merged 3 commits intomasterfrom
tony/fix-unlink-batch
Mar 16, 2026
Merged

fix(spans): Unlink distributed payload keys individually to avoid cross-slot errors#110790
lvthanh03 merged 3 commits intomasterfrom
tony/fix-unlink-batch

Conversation

@lvthanh03
Copy link
Copy Markdown
Member

@lvthanh03 lvthanh03 commented Mar 16, 2026

Each distributed payload key has a unique hash tag {project:trace:span_id}, so batching multiple keys into a single UNLINK command causes ClusterCrossSlotError. Unlink them one at a time within the pipeline instead.

Refs STREAM-799

@lvthanh03 lvthanh03 requested review from a team as code owners March 16, 2026 19:27
@github-actions github-actions bot added the Scope: Backend Automatically applied to PRs that change backend components label Mar 16, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 16, 2026

Backend Test Failures

Failures on 5affac7 in this run:

tests/sentry/spans/test_buffer.py::test_schema_examples[single-chunk1-basic_span]log
tests/sentry/spans/test_buffer.py:1616: in test_schema_examples
    span = Span(
E   TypeError: Span.__new__() got an unexpected keyword argument 'end_timestamp'
tests/sentry/spans/test_buffer.py::test_schema_examples[cluster-nochunk-basic_span]log
tests/sentry/spans/test_buffer.py:1616: in test_schema_examples
    span = Span(
E   TypeError: Span.__new__() got an unexpected keyword argument 'end_timestamp'
tests/sentry/spans/test_buffer.py::test_schema_examples[cluster-chunk1-null_fields]log
tests/sentry/spans/test_buffer.py:1616: in test_schema_examples
    span = Span(
E   TypeError: Span.__new__() got an unexpected keyword argument 'end_timestamp'
tests/sentry/spans/test_buffer.py::test_schema_examples[single-nochunk-basic_span]log
tests/sentry/spans/test_buffer.py:1616: in test_schema_examples
    span = Span(
E   TypeError: Span.__new__() got an unexpected keyword argument 'end_timestamp'
tests/sentry/spans/test_buffer.py::test_schema_examples[single-chunk1-null_fields]log
tests/sentry/spans/test_buffer.py:1616: in test_schema_examples
    span = Span(
E   TypeError: Span.__new__() got an unexpected keyword argument 'end_timestamp'
tests/sentry/spans/test_buffer.py::test_schema_examples[cluster-nochunk-span_with_accepted_outcome]log
tests/sentry/spans/test_buffer.py:1616: in test_schema_examples
    span = Span(
E   TypeError: Span.__new__() got an unexpected keyword argument 'end_timestamp'
tests/sentry/spans/test_buffer.py::test_schema_examples[cluster-chunk1-span_with_accepted_outcome]log
tests/sentry/spans/test_buffer.py:1616: in test_schema_examples
    span = Span(
E   TypeError: Span.__new__() got an unexpected keyword argument 'end_timestamp'
tests/sentry/spans/test_buffer.py::test_schema_examples[cluster-chunk1-basic_span]log
tests/sentry/spans/test_buffer.py:1616: in test_schema_examples
    span = Span(
E   TypeError: Span.__new__() got an unexpected keyword argument 'end_timestamp'
tests/sentry/spans/test_buffer.py::test_schema_examples[single-chunk1-span_with_accepted_outcome]log
tests/sentry/spans/test_buffer.py:1616: in test_schema_examples
    span = Span(
E   TypeError: Span.__new__() got an unexpected keyword argument 'end_timestamp'
tests/sentry/spans/test_buffer.py::test_schema_examples[cluster-nochunk-null_fields]log
tests/sentry/spans/test_buffer.py:1616: in test_schema_examples
    span = Span(
E   TypeError: Span.__new__() got an unexpected keyword argument 'end_timestamp'
tests/sentry/spans/test_buffer.py::test_schema_examples[single-nochunk-span_with_accepted_outcome]log
tests/sentry/spans/test_buffer.py:1616: in test_schema_examples
    span = Span(
E   TypeError: Span.__new__() got an unexpected keyword argument 'end_timestamp'
tests/sentry/spans/test_buffer.py::test_schema_examples[single-nochunk-null_fields]log
tests/sentry/spans/test_buffer.py:1616: in test_schema_examples
    span = Span(
E   TypeError: Span.__new__() got an unexpected keyword argument 'end_timestamp'

@lvthanh03 lvthanh03 merged commit 4bb9d80 into master Mar 16, 2026
61 checks passed
@lvthanh03 lvthanh03 deleted the tony/fix-unlink-batch branch March 16, 2026 20:17
JonasBa pushed a commit that referenced this pull request Mar 16, 2026
…ss-slot errors (#110790)

Each distributed payload key has a unique hash tag
{project:trace:span_id}, so batching multiple keys into a single UNLINK
command causes `ClusterCrossSlotError`. Unlink them one at a time within
the pipeline instead.
@linear-code
Copy link
Copy Markdown

linear-code bot commented Mar 23, 2026

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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