)]}'
{
  "commit": "1c93439e98cc4efb3a44880278a9cbbe5628d36b",
  "tree": "3a23dc1a917bfe7e51f95459fcfd375b8c9a3702",
  "parents": [
    "19c62e17795603abf3c74a16272c05b1b9e3a3f3"
  ],
  "author": {
    "name": "Luca Milanesio",
    "email": "luca.milanesio@gmail.com",
    "time": "Wed Aug 28 22:36:58 2024 +0100"
  },
  "committer": {
    "name": "Luca Milanesio",
    "email": "luca.milanesio@gmail.com",
    "time": "Wed Aug 28 22:49:33 2024 +0100"
  },
  "message": "Add missing Singleton to ActiveWokersCheck and DeadlockCheck\n\nThe ActiveWorkersCheck was triggering the creation\nof a new check for every incoming REST-API call, causing\npotential deadlocks because of the creation of the\nDropWizard\u0027s MetricMaker.\n\nAs a consequence, the Gerrit instance could have ran\nout of incoming HTTP threads.\n\nSee as example stack trace:\n\nHTTP GET /config/server/healthcheck~status\n   java.lang.Thread.State: BLOCKED (on object monitor)\n\tat com.google.gerrit.metrics.dropwizard.DropWizardMetricMaker.newCounter(DropWizardMetricMaker.java:142)\n\t- waiting to lock \u003c0x00007f828e8b80b0\u003e (a com.google.gerrit.metrics.dropwizard.DropWizardMetricMaker)\n\tat com.google.gerrit.server.plugins.PluginMetricMaker.newCounter(PluginMetricMaker.java:55)\n\tat com.googlesource.gerrit.plugins.healthcheck.HealthCheckMetrics.getFailureCounterMetric(HealthCheckMetrics.java:33)\n\tat com.googlesource.gerrit.plugins.healthcheck.check.AbstractHealthCheck.\u003cinit\u003e(AbstractHealthCheck.java:54)\n\tat com.googlesource.gerrit.plugins.healthcheck.check.ActiveWorkersCheck.\u003cinit\u003e(ActiveWorkersCheck.java:46)\n\nChange-Id: I947b46b58e1d44840b3a44f740627e55dc3194aa\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8684ef8d7018149c3003b14281890fbfe5834f95",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/healthcheck/check/ActiveWorkersCheck.java",
      "new_id": "5fe83e41fe8e4ce2982bf72deebea958aa2b0b18",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/healthcheck/check/ActiveWorkersCheck.java"
    },
    {
      "type": "modify",
      "old_id": "3d4b6725fa7a2daf9486797ffe8ea831d0b453bd",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/healthcheck/check/DeadlockCheck.java",
      "new_id": "9caca0e34723bae442a46ccbdbaf24025cd19c99",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/healthcheck/check/DeadlockCheck.java"
    }
  ]
}
