You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Joining a team with real history is not slow — it is unusable. Measured on agmsg 1.2.2 against a team with 17,300 messages: agmsg-cloud sync <team> ran for over four hours, and what the user got at the end was a team they could not read.
The umbrella for "history-proportional join is broken", tracking the symptom end to end. Individual causes get their own numbers as they are established; this one stays open until a team of this size can be joined and read.
Related: #908 (spawn cost), #835 (exit 13 with no diagnostics), #909 (engine running under a halted team), #901 (join cannot tell a locked team from an empty one).
Joining a team with real history is not slow — it is unusable. Measured on agmsg 1.2.2 against a team with 17,300 messages:
agmsg-cloud sync <team>ran for over four hours, and what the user got at the end was a team they could not read.End state after 4+ hours
So: four hours, 4,100 messages unreadable, and no roster at all.
The cost is linear in history, and dev never sees it
Measured throughput: 5 messages/second, the same for both the apply pass and the reprocess pass. One join costs roughly
history x 200ms x 2 passes.That ratio is the reason this survived: every development-sized team is fast.
Known cost centres
Some of these are measured, some are not. Listed so the work can be split, not because all of them are established causes.
printf|sedforks in the quoting helper. Benchmarked at 32x1000 calls: 127 seconds, against 0.131 seconds for the equivalent bash expansion.agefork per message, six processes per ACK row.pull-bootstrapnever touches it, and a machine without the key never starts the engine. So on a large team the roster is always last, and without the key it never appears.unsupported_cipherat a clean boundary (seq 13,201). The reprocess that would clear them failed with exit 13 and no diagnostic — see storage_sync_prepare_push returns 13 with nothing on stdout or stderr #835, and An engine was running for a team that had just reported itself halted — starter unidentified #909 for what was running afterwards.What this issue is for
The umbrella for "history-proportional join is broken", tracking the symptom end to end. Individual causes get their own numbers as they are established; this one stays open until a team of this size can be joined and read.
Related: #908 (spawn cost), #835 (exit 13 with no diagnostics), #909 (engine running under a halted team), #901 (join cannot tell a locked team from an empty one).