understand the bug before trying to fix itpic.twitter.com/J9Y3rV6gXS
This is the legacy version of twitter.com. We will be shutting it down on June 1, 2020. Please switch to a supported browser, or disable the extension which masks your browser. You can see a list of supported browsers in our Help Center.
I tell computers what to do for living. Software Engineer at Stripe.
You can add location information to your Tweets, such as your city or precise location, from the web and via third-party applications. You always have the option to delete your Tweet location history. Learn more
Add this Tweet to your website by copying the code below. Learn more
Add this video to your website by copying the code below. Learn more
By embedding Twitter content in your website or app, you are agreeing to the Twitter Developer Agreement and Developer Policy.
| Country | Code | For customers of |
|---|---|---|
| United States | 40404 | (any) |
| Canada | 21212 | (any) |
| United Kingdom | 86444 | Vodafone, Orange, 3, O2 |
| Brazil | 40404 | Nextel, TIM |
| Haiti | 40404 | Digicel, Voila |
| Ireland | 51210 | Vodafone, O2 |
| India | 53000 | Bharti Airtel, Videocon, Reliance |
| Indonesia | 89887 | AXIS, 3, Telkomsel, Indosat, XL Axiata |
| Italy | 4880804 | Wind |
| 3424486444 | Vodafone | |
| » See SMS short codes for other countries | ||
This timeline is where you’ll spend most of your time, getting instant updates about what matters to you.
Hover over the profile pic and click the Following button to unfollow any account.
When you see a Tweet you love, tap the heart — it lets the person who wrote it know you shared the love.
The fastest way to share someone else’s Tweet with your followers is with a Retweet. Tap the icon to send it instantly.
Add your thoughts about any Tweet with a Reply. Find a topic you’re passionate about, and jump right in.
Get instant insight into what people are talking about now.
Follow more accounts to get instant updates about topics you care about.
See the latest conversations about any topic instantly.
Catch up instantly on the best stories happening as they unfold.
understand the bug before trying to fix itpic.twitter.com/J9Y3rV6gXS
i think i need a better example bug here, the example here is something i ran into recently but it's a bit confusing
I could imagine a concurrency bug where a high level global lock prevents the bug from happening (but also hurts throughout) whereas the bug fix removes the need for a lock
I once saw 1) a client was getting a postgres lock to prevent concurrent runs of a job but concurrent runs were detected 2) redis was setup as a secondary lock for the system 3) it was later discovered the client was closing its transaction early which was releasing the pg lock
(The transaction was closed early because a function call to update an unrelated table was attempting to START and CLOSE its own transaction, but instead the pg library swallowed the redundant START, and then closed the lock transaction at the end of the function)
This reminds me a lot of a Redis pipelining bug that @b0rk found a few years ago. IIRC, client was timing out and not reading responses to requests, so other clients were getting random responses from other requests
Scary!
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.