)]}'
{
  "commit": "938ba8531adf19da8f0d10a4e6c7ce65e3ba8bae",
  "tree": "956323698fe25508a1dc667a4368c3f52b217803",
  "parents": [
    "c6c9bcbd3a5edb0eae4d1dabbabddc2ebee5d23d"
  ],
  "author": {
    "name": "Thomas Gales",
    "email": "tgales@fuchsia.infra.roller.google.com",
    "time": "Mon Dec 04 21:15:43 2023 +0000"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Mon Dec 04 13:17:00 2023 -0800"
  },
  "message": "[roll] Roll cobalt [cobalt] Avoid deadlock on DO_NOT_COLLECT\n\nOn deletion, Cobalt gets stuck for 10 minutes until the timeout in\nWaitUntilSave gets triggered. The deadlock occurs because initial-thread\nis holding a lock on data_mutex_ so no new calls to GetMetricAggregate\nwill return until after the deletion is written to disk, but\nwriteback_thread_ also wants to lock data_mutex_ when it saves the\nchanges to disk.\n\nThere\u0027s no reason inital-thread needs to wait for the save to disk, so\nwe can get rid of this problem by not calling WaitUntilSave.\n\nOriginal-Fixed: b/314009944\nTested: Set policy to DO_NOT_COLLECT on smart display, deadlock not seen\nTested: `./cobaltb.py test`\nOriginal-Reviewed-on: https://fuchsia-review.googlesource.com/c/cobalt/+/953958\nOriginal-Revision: abd793554459fb58d042ab4fe9e2476338a24475\nGitOrigin-RevId: 8932d18e16599011b5830d34d3eded640c5b9952\nChange-Id: I95812106487c43dd7018b7bf2e8a1538f09304f9\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "122254186628064890d801050fc5abb46cdf1b0d",
      "old_mode": 33188,
      "old_path": "third_party/flower",
      "new_id": "bdcf059484da901858e0430ea430fe80e5171c97",
      "new_mode": 33188,
      "new_path": "third_party/flower"
    }
  ]
}
