Add fast path for replication events stream fetch (#16580)
We can bail early if the from token is greater than or equal to the current token.
This commit is contained in:
parent
fdce83ee60
commit
408c13801a
|
@ -0,0 +1 @@
|
||||||
|
Fix a long-standing, exceedingly rare edge case where the first event persisted by a new event persister worker might not be sent down `/sync`.
|
|
@ -157,6 +157,12 @@ class EventsStream(_StreamFromIdGen):
|
||||||
current_token: Token,
|
current_token: Token,
|
||||||
target_row_count: int,
|
target_row_count: int,
|
||||||
) -> StreamUpdateResult:
|
) -> StreamUpdateResult:
|
||||||
|
# The events stream cannot be "reset", so its safe to return early if
|
||||||
|
# the from token is larger than the current token (the DB query will
|
||||||
|
# trivially return 0 rows anyway).
|
||||||
|
if from_token >= current_token:
|
||||||
|
return [], current_token, False
|
||||||
|
|
||||||
# the events stream merges together three separate sources:
|
# the events stream merges together three separate sources:
|
||||||
# * new events
|
# * new events
|
||||||
# * current_state changes
|
# * current_state changes
|
||||||
|
|
Loading…
Reference in New Issue