)]}'
{
  "commit": "7b9e678637c22453bd768aec6c0ec5785615a8cc",
  "tree": "ade0445927885accb3eb77d54ff8bc829ea02d15",
  "parents": [
    "29205e5490ef17c6b8bce3b9a9e0820461b3e964"
  ],
  "author": {
    "name": "Saša Živkov",
    "email": "sasa.zivkov@sap.com",
    "time": "Fri Jan 19 10:08:15 2024 +0100"
  },
  "committer": {
    "name": "Saša Živkov",
    "email": "sasa.zivkov@sap.com",
    "time": "Fri Jan 19 10:37:13 2024 +0100"
  },
  "message": "Fix heartbeat task leak after lock reclaim\n\nReclaiming an existing lock (re)started the heartbeat task but it missed\nto set the heartbeatTask reference. After a reclaimed lock was closed\nthe heartbeat task wasn\u0027t stopped because the heartbeatTask reference\nwas null. The heartbeat thread continued to run on the scheduled rate\nindefinitely.\n\nMake sure to set the heartbeatTask reference after a lock is reclaimed.\nExtend the tests to verify the heartbeat task is running/stopped.\n\nChange-Id: Iecb7b77f54ad416a3a4de27bf26942270cfc3c1e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d65e21688dfd918665779d9c97f426abd30e713c",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/spannerrefdb/Lock.java",
      "new_id": "0dde4edef7718e070f594b999d9db9598425a1f7",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/spannerrefdb/Lock.java"
    },
    {
      "type": "modify",
      "old_id": "5ecfcc75e22406835c5fc7a853d94a954371eebf",
      "old_mode": 33188,
      "old_path": "src/test/java/com/googlesource/gerrit/plugins/spannerrefdb/EmulatedSpannerRefDb.java",
      "new_id": "c5aa09b3bf664c9800278515acd0a0edadbe0985",
      "new_mode": 33188,
      "new_path": "src/test/java/com/googlesource/gerrit/plugins/spannerrefdb/EmulatedSpannerRefDb.java"
    },
    {
      "type": "modify",
      "old_id": "e8beaa8c36332b19204f9d8c4a56c513155e07b6",
      "old_mode": 33188,
      "old_path": "src/test/java/com/googlesource/gerrit/plugins/spannerrefdb/LockTest.java",
      "new_id": "a88052bf614bc1eb6ae82930550818a79f2a7f1a",
      "new_mode": 33188,
      "new_path": "src/test/java/com/googlesource/gerrit/plugins/spannerrefdb/LockTest.java"
    },
    {
      "type": "modify",
      "old_id": "499ac5772553b89e4ec44428fc5a45a071f6e8dc",
      "old_mode": 33188,
      "old_path": "src/test/java/com/googlesource/gerrit/plugins/spannerrefdb/RealSpannerRefDb.java",
      "new_id": "17121961d4bf280766301c5e0bf4366776d017d5",
      "new_mode": 33188,
      "new_path": "src/test/java/com/googlesource/gerrit/plugins/spannerrefdb/RealSpannerRefDb.java"
    },
    {
      "type": "modify",
      "old_id": "3eb6d0cf0c563deed37a1211c1c68b7bd7ded62d",
      "old_mode": 33188,
      "old_path": "src/test/java/com/googlesource/gerrit/plugins/spannerrefdb/SpannerTestSystem.java",
      "new_id": "0cadd3d6350fdfce3de44675a27263a728fe9de9",
      "new_mode": 33188,
      "new_path": "src/test/java/com/googlesource/gerrit/plugins/spannerrefdb/SpannerTestSystem.java"
    }
  ]
}
