Commit Graph

244 Commits

Author SHA1 Message Date
Philip Monk
e1419d1787 contact-store: no-op if adding old contact
%contact-store is responsible for sending updates about contacts, eg
profile color.  When it hears an update, it fans that out to its
subsribers, unless that update is stale.  If you reguarly fan out stale
updates, then they reverberate across the network indefinitely -- we
call this "echoing".

To cut off this echoing, all edits have a timestamp, and we consider any
updates from before this timestamp to be stale.  Additions are separate
from edits, and for them we instead do a value comparison on the contact
-- if it didn't change, we consider the update stale.

The problem with this scheme is that if an addition and edit happen one
after the other in quick succession, you might have the following
sequence:

- add comes in with timestamp T1
- edit comes in with timestamp T2 after T1
- we hear an echo of the add, and that errantly applies because it
  passes our "did the contact actually change" check
- we hear an echo of the edit, which applies because T2 is after T1
- GOTO 3

Each time we apply the stale update, we fan that out to our subscribers,
and if any two hosts subscribe to each other, this will loop.  This may
even loop unconditionally because the ship that made the profile changes
seems like it might not recognize that those changes didn't come from
itself, so it sends them to all the groups it's in.  If so, that's an
important issue to fix.

Fixes tloncorp/landscape-issues#1442
2022-12-12 13:03:41 -07:00
Hunter Miller
cec4e11448
Merge pull request #6141 from urbit/hm/change-ota-source
migration: set official ota source
2022-12-09 12:22:50 -06:00
Hunter Miller
ff0231e761 migration: set official ota source 2022-12-09 12:22:04 -06:00
Hunter Miller
38919352c8 migration: adding crash fix 2022-12-09 11:07:51 -06:00
Liam Fitzgerald
4584067e7d Merge branch 'lf/gladio-2' 2022-12-09 15:23:18 +10:00
Liam Fitzgerald
cf2c73a0e1 group-store: make %migrate idempotent 2022-12-09 12:39:47 +10:00
Liam Fitzgerald
eedc50f9e4 group-store: add /wait endpoints 2022-12-09 12:22:22 +10:00
Liam Fitzgerald
1a1dec6268 group-store: handle alpha correctly 2022-12-09 09:34:56 +10:00
Hunter Miller
9fc6cf7a40 kelvin: update 2022-12-08 11:01:48 -06:00
Hunter Miller
8ac999593a migration: update source 2022-12-08 10:55:03 -06:00
Hunter Miller
d4cce14ff4 bill: removing notify 2022-12-08 07:56:21 -06:00
Hunter Miller
e4560339ec migration: fixing state versions 2022-12-08 07:53:00 -06:00
Liam Fitzgerald
45b9686b06 migration: remove docket for landscape 2022-12-07 08:41:01 +10:00
Liam Fitzgerald
fbb2bd865e migration: uninstall through %docket 2022-12-07 08:36:35 +10:00
Liam Fitzgerald
d9a895c214 Merge remote-tracking branch 'origin/master' into lf/migration-prep 2022-12-07 08:32:05 +10:00
Liam Fitzgerald
e600ded69c migration: install %talk 2022-12-07 08:30:04 +10:00
Liam Fitzgerald
6841f726a7 metadata-pull-hook: disabling remove on nack 2022-12-05 13:09:30 +10:00
Liam Fitzgerald
e4827915d8 group-pull-hook: disabling remove on nack 2022-12-05 13:08:51 +10:00
Liam Fitzgerald
a4c597d281 graph-pull-hook: do not archive on nack 2022-12-05 11:07:40 +10:00
Hunter Miller
7a3066b922 Merge branch 'lf/gladio-2' of github.com:urbit/urbit into lf/gladio-2 2022-11-30 20:15:53 -06:00
Hunter Miller
c3d4c538aa Revert "migration: correcting take-migrate ship"
This reverts commit ec23cc5318.
2022-11-30 20:13:42 -06:00
Hunter Miller
92c6ffa283 Revert "migration: fixing bad @tas"
This reverts commit 81419a8a03.
2022-11-30 20:13:23 -06:00
Hunter Miller
cae675f4d4 Revert "migration: correctly parsing ship"
This reverts commit 173b641df4.
2022-11-30 20:12:23 -06:00
Hunter Miller
feb305b59e Revert "migration: undoing ship/src.bowl change, adding logging to imports"
This reverts commit de1cdcefbb.
2022-11-30 20:12:17 -06:00
Liam Fitzgerald
0f6ae4b74a group-store: fix flag declaration 2022-12-01 11:22:41 +10:00
Hunter Miller
de1cdcefbb migration: undoing ship/src.bowl change, adding logging to imports 2022-11-30 16:46:47 -06:00
Hunter Miller
173b641df4 migration: correctly parsing ship 2022-11-30 15:31:56 -06:00
Hunter Miller
81419a8a03 migration: fixing bad @tas 2022-11-30 15:26:25 -06:00
Hunter Miller
ec23cc5318 migration: correcting take-migrate ship 2022-11-30 15:20:11 -06:00
Hunter Miller
51262860bb bill: removing notify because contention 2022-11-30 13:47:58 -06:00
Liam Fitzgerald
0a555981cc landscape: optionally disable memory mitigations in OTA 2022-11-29 13:25:15 +10:00
Liam Fitzgerald
37339bed31 group-store: cleanup sign handling 2022-11-29 13:17:28 +10:00
Liam Fitzgerald
06a2fe5b69 landscape: crash the event if migration fails 2022-11-29 13:12:10 +10:00
Liam Fitzgerald
ce1332565e graph-store: drop signatures 2022-11-25 18:14:53 +10:00
Liam Fitzgerald
8f6366d1c9 landscape: remove testing cruft 2022-11-25 12:32:13 +10:00
Liam Fitzgerald
9d0877c219 landscape: support pending state in migration 2022-11-24 15:42:50 +10:00
Liam Fitzgerald
0f7f4d554d graph-store: use standard archive format 2022-11-24 15:16:17 +10:00
Liam Fitzgerald
b76ea6516c graph-store: add thread for recovering archives 2022-11-24 15:12:21 +10:00
Liam Fitzgerald
d9ae7c307b graph-store: standardise archive format 2022-11-24 14:55:02 +10:00
Liam Fitzgerald
ab578c7018 graph-store: nuke groups desk and uninstall 2022-11-24 14:52:03 +10:00
Liam Fitzgerald
a64881ccb2 graph-store: drop archives and backup 2022-11-24 14:41:07 +10:00
Liam Fitzgerald
e41e589367 landscape: add backups to groups 2 migration 2022-11-24 14:21:17 +10:00
Liam Fitzgerald
dd04bd8f79 landscape: include club migration 2022-11-23 14:29:40 +10:00
Liam Fitzgerald
bc787310d9 landscape: fix wire consistency in migration 2022-11-23 12:43:11 +10:00
Liam Fitzgerald
d5f3374756 landscape: sketch of staggered deployment 2022-11-22 16:09:40 +10:00
Liam Fitzgerald
bc535a5683 landscape: fix broken migration 2022-11-07 13:35:51 +10:00
Liam Fitzgerald
11be7d59d2 landscape: rework migration slightly 2022-11-07 12:02:15 +10:00
Liam Fitzgerald
db34d0cfc8 migrate: fix agent name 2022-10-31 15:41:47 +10:00
Liam Fitzgerald
53621ecb98 landscape: migration scripts for heap & dms 2022-10-25 15:20:40 +10:00
Liam Fitzgerald
5e89835c5d landscape: migration works for chat/groups 2022-10-25 13:49:25 +10:00