)]}'
{
  "commit": "4fd15155942f7655784ee12b96c2a776b64c83e7",
  "tree": "334a0ab5e0d3230c1cf779e6791af987c87ab4d9",
  "parents": [
    "f068c45dbe60411425493e58a5e8722df0f4083e"
  ],
  "author": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Mon Mar 02 21:44:32 2015 +0300"
  },
  "committer": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Mon Mar 02 21:44:32 2015 +0300"
  },
  "message": "Upstream: avoid duplicate finalization.\n\nA request may be already finalized when ngx_http_upstream_finalize_request()\nis called, due to filter finalization: after filter finalization upstream\ncan be finalized via ngx_http_upstream_cleanup(), either from\nngx_http_terminate_request(), or because a new request was initiated\nto an upstream.  Then the upstream code will see an error returned from\nthe filter chain and will call the ngx_http_upstream_finalize_request()\nfunction again.\n\nTo prevent corruption of various upstream data in this situation, make sure\nto do nothing but merely call ngx_http_finalize_request().\n\nProdded by Yichun Zhang, for details see the thread at\nhttp://nginx.org/pipermail/nginx-devel/2015-February/006539.html.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "23208c80ee85856963d601e2c8e20af196da408a",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_upstream.c",
      "new_id": "7066d14afa533452c21022cf3ac0c51a7f3544e8",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_upstream.c"
    }
  ]
}
