)]}'
{
  "commit": "78ab71a60003665a38ef255728a9c8a723d008aa",
  "tree": "99a113612bbff0e9743706c9f996aa8514384144",
  "parents": [
    "77b331a23be1dd40fd66ee6a37ee421ed1f5cf5e"
  ],
  "author": {
    "name": "CritasWang",
    "email": "critas@outlook.com",
    "time": "Thu Feb 05 18:58:38 2026 +0800"
  },
  "committer": {
    "name": "CritasWang",
    "email": "critas@outlook.com",
    "time": "Thu Feb 05 18:58:38 2026 +0800"
  },
  "message": "fix: improve error handling and prevent race conditions\n\n- Fix race condition in getSession() by using atomic shift() with null check\n- Add OOM error handling in BufferPool.acquire() with clear error messages\n- Improve insertTabletsParallel() error reporting with failed indices and details\n- Add maxRows limit to toColumnar() to prevent memory exhaustion (default 100K)\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6eef90f707b6e5257b8fcf16d8153e042cbda7e2",
      "old_mode": 33188,
      "old_path": "src/client/BaseSessionPool.ts",
      "new_id": "8580daffc24c2a59dcd98ca81c351ae761acd968",
      "new_mode": 33188,
      "new_path": "src/client/BaseSessionPool.ts"
    },
    {
      "type": "modify",
      "old_id": "e273d14d01d8933d190f6e472ea51dbd32d96a70",
      "old_mode": 33188,
      "old_path": "src/client/SessionDataSet.ts",
      "new_id": "346ddde5432c7ae1a6f80f6e6323232f3fe8e73a",
      "new_mode": 33188,
      "new_path": "src/client/SessionDataSet.ts"
    },
    {
      "type": "modify",
      "old_id": "d15d19b3565f5f3258555fac017bf927334a5ab8",
      "old_mode": 33188,
      "old_path": "src/utils/BufferPool.ts",
      "new_id": "11e32e00e9219677f53a1fd330a7fd03dd3100bc",
      "new_mode": 33188,
      "new_path": "src/utils/BufferPool.ts"
    }
  ]
}
