ACArpit Chauhaninarpitdev.hashnode.dev·Jun 2 · 8 min readRedis 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 a00
ACArpit Chauhaninarpitdev.hashnode.dev·May 31 · 5 min readI 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 pipel00
ACArpit Chauhaninarpitdev.hashnode.dev·May 26 · 6 min readThe race condition hidden inside counter++Most developers see counter++ and assume it is one operation. It isn't. That assumption is exactly why race conditions are easy to create and hard to debug. I understood this properly only after runni00