Redis is transport, Postgres is truth: how I unlearned a bad habitA worker crashed. The retry ran. The job executed twice. Redis looked healthy. The queue looked healthy. Nothing explained why the retry didn't know where to continue. For a long time, I thought the a8 min read·arpitdev.hashnode.devJun 2
I didn't think I needed a blog_versions tableFor a long time, I thought a blog_sessions table was enough. A blog had a topic, an outline, a draft, a final version, and a status. If a user wanted changes, I'd update a few fields and run the pipel5 min read·arpitdev.hashnode.devMay 31
The race condition hidden inside counter++A practical walkthrough of the READ-MODIFY-WRITE race condition — from a two-thread C experiment to PostgreSQL FOR UPDATE locks in production system.6 min read·arpitdev.hashnode.devMay 26