)]}'
{
  "commit": "5db7b540a4524940288dc2f13c69730ac664925c",
  "tree": "680f8163fa394c22078eefbbfbf558da1284552f",
  "parents": [
    "48dc08d8ccc46e9352458b0fc472b27541d11802"
  ],
  "author": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Mon Jul 02 19:03:04 2018 +0300"
  },
  "committer": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Mon Jul 02 19:03:04 2018 +0300"
  },
  "message": "Upstream: fixed tcp_nopush with gRPC.\n\nWith gRPC it is possible that a request sending is blocked due to flow\ncontrol.  Moreover, further sending might be only allowed once the\nbackend sees all the data we\u0027ve already sent.  With such a backend\nit is required to clear the TCP_NOPUSH socket option to make sure all\nthe data we\u0027ve sent are actually delivered to the backend.\n\nAs such, we now clear TCP_NOPUSH in ngx_http_upstream_send_request()\nalso on NGX_AGAIN if c-\u003ewrite-\u003eready is set.  This fixes a test (which\nwaits for all the 64k bytes as per initial window before allowing more\nbytes) with sendfile enabled when the body was written to a file\nin a different context.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "47cc6cc552c6125a15df4d336f512e2aac33dc1b",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_upstream.c",
      "new_id": "0760dc2914e7cf7a984013ca04f38a4d62bee8a1",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_upstream.c"
    }
  ]
}
