8 ms·
This is correct. When we process a block request from user A -> user B, we remove the follow edges between user A -> user B and user B -> user A, and then add
by x5315 8y ago
This is correct.
When we process a block request from user A -> user B, we remove the follow edges between user A -> user B and user B -> user A, and then add a block edge from user A -> user B.
When we process an unblock request from user A -> user B, we remove the block edge from user A -> user B.
I imagine that the "Aleksey checked that he was following me again" was either client caching, or eventual consistency latency. There's no nightly batch job or anything doing that.
Source: I work on the social graph service at Twitter.
- mad44 8y agoAfter the test, I unblocked Aleksey, and this tweet includes the video where we saw that Aleksey could see my tweets in his timeline again. Something went wrong after that I guess. https://twitter.com/muratdemirbas/status/1062763863332937728 https://twitter.com/muratdemirbas/status/1062763863332937728
- mad44 8y agoYet, another update. It might be that since my tweet included a mention to him, Aleksey clicked on the notification and could see my tweets after that, and not in his timeline. We repeated the experiment, and found that after I blocked and unblocked him, he was indeed still unfollowing me.
- x5315 8y agoAh ok. :thumbsup: I described how the logic works above, but we're always subject to and victims of replication or cache-expiration latency. So it could have been that.