Hello. Five days ago (06.10.22) something happened to streams. Now stream sometimes send very old events.
Simple Python code to demonstrate this bug:
from sseclient import SSEClient as EventSource
from datetime import datetime,timezone
import json
for event in EventSource("https://stream.wikimedia.org/v2/stream/mediawiki.revision-create"):
if event.event == 'message':
try:
e = json.loads(event.data)
except ValueError:
pass
else:
now = datetime.now(timezone.utc).strftime("%Y-%m-%d") # today
if not e["meta"]["dt"].startswith(now): # if not today
# write to logs
f = open("bug.log", "a")
f.write("Now: {0}; Meta:dt: {1}; rev_timestamp: {2})\n".format(now, e["meta"]["dt"], e["rev_timestamp"]))
f.close()After ~30 minutes:
Now: 2022-10-11; Meta:dt: 2022-10-04T13:11:16Z; rev_timestamp: 2022-10-04T13:11:16Z)
Now: 2022-10-11; Meta:dt: 2022-10-04T13:11:15Z; rev_timestamp: 2022-10-04T13:11:15Z)
Now: 2022-10-11; Meta:dt: 2022-10-04T13:11:09Z; rev_timestamp: 2022-10-04T13:11:06Z)
Now: 2022-10-11; Meta:dt: 2022-10-04T13:11:16Z; rev_timestamp: 2022-10-04T13:11:16Z)
Now: 2022-10-11; Meta:dt: 2022-10-04T13:11:16Z; rev_timestamp: 2022-10-04T13:11:16Z)
Now: 2022-10-11; Meta:dt: 2022-10-04T13:11:16Z; rev_timestamp: 2022-10-04T13:11:15Z)
Now: 2022-10-11; Meta:dt: 2022-10-04T13:11:16Z; rev_timestamp: 2022-10-04T13:11:16Z)
…8k+ lines.
This does not happen immediately after startup. Maybe it related with reconnections or something like that.
This problem didn't exist before.