Is Twitter Causally-Consistent?

For the past times 7-8 years, several enquiry papers convey used this instance to motivate causal consistency. You must convey read this example, right?

  • Alice removes her boss from her friend list, as well as posts that on her feed that she is looking for a novel job. 
  • Tom removes his mom from the friend list, as well as posts his Spring Break photos.

Well, existence the empirical researchers nosotros are, Aleksey as well as I wanted to set Twitter inwards to examine for this scenario.

On September 25, nosotros performed this test. (I also convey a video recording of this. But since I can't stand upwards to take heed myself utter inwards recordings, I am non posting it. I audio actually weird, man.)

I showtime blocked Aleksey on my Twitter account, as well as and hence tweeted that Aleksey drinks a lot of tea (it's true). When nosotros checked Aleksey's timeline, nosotros saw that his timeline indeed did non display my tweet.

So, this was sort of an anticlimax. Twitter passed the causal-consistency examine easily. No demand to set out to a greater extent than causal-consistency papers, right?

Well,  perchance non quite. Maybe this was because Aleksey as well as I were inwards the same portion as well as our accounts autumn inwards to the same datacenter. We idea perchance nosotros should repeat the examine amongst Aleksey connected to Twitter via a proxy, but as well as hence since Aleksey's laptop was away that day, nosotros decided to examine this at or hence other time. (Maybe nosotros should disclose someone from or hence other portion as well as adjust a cross-continental Twitter causality examine this time.)

Anyways, this storey gets to a greater extent than interesting. Keep reading.

I unblocked Aleksey, as well as Aleksey checked that he was next me again, as well as nosotros called it a day.

But a couplet days later, I was tweeting something as well as wanted to include a cite to @AlekseyCharapko inwards my tweet. But Twitter didn't autocomplete for me. I in conclusion flora his draw of piece of work concern human relationship after or hence searching on Twitter, as well as saw that Aleksey is non next me. What!? My pupil doesn't follow me on Twitter? Impossible. I showed this to Aleksey as well as he was also caught past times surprise.

We as well as hence remembered well-nigh the Twitter examine nosotros did a couplet days ago.

It must last that although I unblocked Aleksey after our test, a nightly batch undertaking blocked him from my draw of piece of work concern human relationship as well as made his draw of piece of work concern human relationship unfollow me.

Reality is oft stranger than the build clean models nosotros have. Real systems convey a lot of dorsum channels as well as processes.

MAD questions

0) Some clarification on this from someone at Twitter

There was word on this at Hacker News.

Isn’t this a known characteristic of Twitter, unremarkably called a soft block or forced unfollow? You block as well as unblock someone chop-chop as well as it forces them to unfollow yous (and to a greater extent than importantly, does non indicate them that it happened). I convey heard of people fearing harassment to piece of work this technique to instruct themselves out of a person’s timeline (out of sight, out of mind) without the pseudo-confrontation of a block.

This is correct.When nosotros procedure a block asking from user A -> user B, nosotros take the follow edges betwixt user A -> user B as well as user B -> user A, as well as and hence add together a block border from user A -> user B.
When nosotros procedure an unblock asking from user A -> user B, nosotros take the block border from user A -> user B.
I imagine that the "Aleksey checked that he was next me again" was either customer caching, or eventual consistency latency. There's no nightly batch undertaking or anything doing that.
Source: I piece of work on the social graph service at Twitter.   
Here is the video segment that shows that after I unblocked Aleksey, he was able to run into my tweets inwards his timeline. I don't know what happened after that which made his draw of piece of work concern human relationship unfollow mine again.  It mightiness last that since my tweet included a cite to him, Aleksey clicked on the notification as well as could run into my tweets after that, as well as non inwards his timeline. We repeated the experiment, as well as flora that after I blocked as well as unblocked him, he was indeed all the same unfollowing me.

1) What is the right means to examine this?

Sending ii consecutive tweets from 1 draw of piece of work concern human relationship as well as monitoring from or hence other does non seem sufficient to examine causal-consistency to me. The tweets are probable partitioned amongst the user_id, as well as hence only session consistency or per-key ordering would give the impression of causal consistency, right?

To offset for this, nosotros tried or hence other test, where I tweet something, Ailidani reads it and presses the push on his drafted tweet, and Aleksey checks his feed for the result. It was no competitor again. Twitter is hence fast that it displayed my tweet on Aleksey's timeline at in 1 lawsuit as well as Ailidani's tweet didn't stand upwards a chance.

(Another affair to Federal Reserve notation for completeness. Under content preferences, nosotros disable the "show me the best tweets first" to instruct a fourth dimension ordered tweet stream.)


2) Where would yous set your money?
So let's tell nosotros develop this 3-person cross continental Twitter causal consistency test. Where would yous set your coin on?

Can nosotros infer something from what nosotros know of Twitter architecture? This is a skilful start for reasoning. But again, inwards our iii mortal test, per-key/object ordering does non help.

0 Response to "Is Twitter Causally-Consistent?"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel