)]}'
{
  "commit": "7d5dcf51ec532fc22705bfc392d9f376123ce04a",
  "tree": "ddda29310562f27821702ed5dda7476b47bc0b21",
  "parents": [
    "8a87ebcbc9f5f399bb58c4cba1bda972a4ea8c03"
  ],
  "author": {
    "name": "Kaushik Lingarkar",
    "email": "klingarkar@nvidia.com",
    "time": "Thu Jul 30 14:37:08 2026 -0700"
  },
  "committer": {
    "name": "Kaushik Lingarkar",
    "email": "klingarkar@nvidia.com",
    "time": "Thu Jul 30 15:25:52 2026 -0700"
  },
  "message": "Never throw when describing a queued ITS task\n\nWorkQueue builds the worker thread\u0027s name from a queued task\u0027s\ntoString() before it invokes the task. This is done in Gerrit core\u0027s\nWorkQueue and ideally should be fixed to protect its executor against\nthis. An exception from toString() causes the task to be dropped without\nrunning and without reporting a rejection or a cancellation, so the\nin-flight permit which Throttle holds for it is never released, and the\nplugin loses that capacity for the lifetime of the server.\n\nCatch while delegating to the wrapped task\u0027s toString() and fall back to\nits class name, so the thread still gets a name and the task still runs.\n\nChange-Id: Ifdb19197deb4dbf1e268cc33b557ec64317fc7e4\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "df71201b1e14697e74d0e1302c959f721b425e37",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/its/base/workflow/RuntimeQueueMap.java",
      "new_id": "52f06e62709d875b8ee8ce0b97d578a9e960ba42",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/its/base/workflow/RuntimeQueueMap.java"
    },
    {
      "type": "modify",
      "old_id": "35734d59e88742da4e97f355e0763cee71dc6ce9",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/its/base/workflow/Throttle.java",
      "new_id": "028657099050b245b398b093c5b7b7299d88c31f",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/its/base/workflow/Throttle.java"
    }
  ]
}
