<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Aditya Jindal - writing</title>
    <link>https://adityajindal.dev/writing</link>
    <atom:link href="https://adityajindal.dev/rss.xml" rel="self" type="application/rss+xml" />
    <description>Full-stack platform and AI engineer. Four years shipping production systems - from the AI agent platform at Simbian.AI to enterprise GenAI automation at Wells Fargo ($3M+ saved) and ML platform work at Maya Labs (YC S22). On the side I built GameTools, a reverse-engineered Battlefield community platform serving 1M+ req/day.</description>
    <language>en</language>
    <item>
      <title><![CDATA[Doris json_search was quadratic on arrays. I sent the fix upstream.]]></title>
      <link>https://adityajindal.dev/writing/doris-json-search-quadratic</link>
      <guid>https://adityajindal.dev/writing/doris-json-search-quadratic</guid>
      <pubDate>Fri, 16 Oct 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[A 2 MB JSON document took 18.5 seconds to search in Apache Doris. JSONB arrays have no offset table, and the loop asked for the length and the i-th element on every iteration. The fix is merged into apache/doris.]]></description>
    </item>
    <item>
      <title><![CDATA[Finding a psycopg connection leak in executor threads]]></title>
      <link>https://adityajindal.dev/writing/psycopg-executor-connection-leak</link>
      <guid>https://adityajindal.dev/writing/psycopg-executor-connection-leak</guid>
      <pubDate>Wed, 16 Sep 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[A pod restarted after the pool hit 50. close_old_connections() ran on the request thread. Each ThreadPoolExecutor worker took a lease and never gave it back.]]></description>
    </item>
    <item>
      <title><![CDATA[We removed a column. EU went offline.]]></title>
      <link>https://adityajindal.dev/writing/destructive-migration-killed-eu</link>
      <guid>https://adityajindal.dev/writing/destructive-migration-killed-eu</guid>
      <pubDate>Tue, 02 Jun 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[DROP COLUMN shipped in the same deploy as the code that stopped reading it. Old pods kept serving traffic against the new schema. EU had zero healthy replicas for about four minutes.]]></description>
    </item>
    <item>
      <title><![CDATA[Postgres had an index. It still sequential-scanned 1.7 million rows.]]></title>
      <link>https://adityajindal.dev/writing/postgres-index-win</link>
      <guid>https://adityajindal.dev/writing/postgres-index-win</guid>
      <pubDate>Thu, 12 Feb 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[The investigations list took 30-40 seconds. We optimized that query first. The real load was a quota check doing a sequential scan on 1.7 million rows because the composite index was in the wrong order.]]></description>
    </item>
  </channel>
</rss>