Skip to content

Commit e0446ed

Browse files
authoredMar 18, 2025
build: Upgrade arroyo to 2.20 (#87289)
1 parent d00c80c commit e0446ed

File tree

4 files changed

+11
-20
lines changed

4 files changed

+11
-20
lines changed
 

‎requirements-base.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ requests>=2.32.3
6565
rfc3339-validator>=0.1.2
6666
rfc3986-validator>=0.1.1
6767
# [end] jsonschema format validators
68-
sentry-arroyo>=2.19.9
68+
sentry-arroyo>=2.20.0
6969
sentry-kafka-schemas>=1.1.2
7070
sentry-ophio==1.0.0
7171
sentry-protos>=0.1.62

‎requirements-dev-frozen.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ click==8.1.7
2929
click-didyoumean==0.3.0
3030
click-plugins==1.1.1
3131
click-repl==0.3.0
32-
confluent-kafka==2.3.0
32+
confluent-kafka==2.8.0
3333
covdefaults==2.3.0
3434
coverage==7.6.4
3535
cronsim==2.6
@@ -180,7 +180,7 @@ rpds-py==0.20.0
180180
rsa==4.8
181181
s3transfer==0.10.0
182182
selenium==4.16.0
183-
sentry-arroyo==2.19.9
183+
sentry-arroyo==2.20.0
184184
sentry-cli==2.16.0
185185
sentry-covdefaults-disable-branch-coverage==1.0.2
186186
sentry-devenv==1.16.0

‎requirements-frozen.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ click==8.1.7
2626
click-didyoumean==0.3.0
2727
click-plugins==1.1.1
2828
click-repl==0.3.0
29-
confluent-kafka==2.3.0
29+
confluent-kafka==2.8.0
3030
cronsim==2.6
3131
cryptography==43.0.1
3232
cssselect==1.0.3
@@ -123,7 +123,7 @@ rfc3986-validator==0.1.1
123123
rpds-py==0.20.0
124124
rsa==4.8
125125
s3transfer==0.10.0
126-
sentry-arroyo==2.19.9
126+
sentry-arroyo==2.20.0
127127
sentry-forked-email-reply-parser==0.5.12.post1
128128
sentry-kafka-schemas==1.1.2
129129
sentry-ophio==1.0.0

‎src/sentry/spans/consumers/process_segments/factory.py

+6-15
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
from arroyo.processing.strategies.abstract import ProcessingStrategy, ProcessingStrategyFactory
1010
from arroyo.processing.strategies.commit import CommitOffsets
1111
from arroyo.processing.strategies.produce import Produce
12-
from arroyo.processing.strategies.run_task import RunTask
1312
from arroyo.processing.strategies.unfold import Unfold
1413
from arroyo.types import Commit, FilteredPayload, Message, Partition, Value
1514
from sentry_kafka_schemas.codecs import Codec
@@ -67,17 +66,11 @@ def create_with_partitions(
6766
else:
6867
produce_step = commit_step
6968

70-
# XXX: Remove after https://github.com/getsentry/arroyo/pull/427: Unfold
71-
# does not pass through the commit and there is no way to access it from
72-
# the generator function.
73-
zip_commit = RunTask(
74-
function=lambda m: (m.payload, m.committable),
75-
next_step=Unfold(generator=_unfold_segment, next_step=produce_step),
76-
)
69+
unfold_step = Unfold(generator=_unfold_segment, next_step=produce_step)
7770

7871
return run_task_with_multiprocessing(
7972
function=_process_message,
80-
next_step=zip_commit,
73+
next_step=unfold_step,
8174
max_batch_size=self.max_batch_size,
8275
max_batch_time=self.max_batch_time,
8376
pool=self.pool,
@@ -105,13 +98,11 @@ def _process_message(message: Message[KafkaPayload]) -> list[Span]:
10598
# raise InvalidMessage(message.value.partition, message.value.offset)
10699

107100

108-
def _unfold_segment(message: tuple[list[Span], Mapping[Partition, int]]):
109-
spans, committable = message
110-
last = len(spans) - 1
111-
for i, span in enumerate(spans):
101+
def _unfold_segment(spans: list[Span]):
102+
for span in spans:
112103
if span is not None:
113104
yield Value(
114-
payload=KafkaPayload(key=None, value=orjson.dumps(span), headers=[]),
115-
committable=committable if i == last else {},
105+
KafkaPayload(key=None, value=orjson.dumps(span), headers=[]),
106+
{},
116107
timestamp=None,
117108
)

0 commit comments

Comments
 (0)