)]}'
{
  "commit": "1759476c93cbaad5b9fe26f47372755fa0e5f18d",
  "tree": "8ad7aef6007e59cfc4524e844de4771bca2b0ed8",
  "parents": [
    "ea956ae20bac5be1e9917faabdcac3cab2965c12"
  ],
  "author": {
    "name": "felly",
    "email": "felly@google.com",
    "time": "Thu Feb 07 15:24:32 2019 -0800"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-piper@google.com",
    "time": "Thu Feb 07 15:26:54 2019 -0800"
  },
  "message": "Fix issue with large stdout/stderr payloads being sent over BEP atomically. While there is buffering/flushing logic built into the SynchronizedOutputStream, it did not split large atomic writes.\n\nNow the SOS will split large payloads, requiring that the BuildEventStreamer handle multiple chunks gracefully.\n\nTo maintain ordering, we place messages with stdout first, then message with stderr. For backwards compatibility with unit tests and to optimize the number of messages sent, the final stdout message may include the start of the stderr payload.\n\nRELNOTES: None\nPiperOrigin-RevId: 232956532\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "78b7058dd4e5d7df9393be3c4b936668249609c8",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/buildeventservice/BuildEventServiceModule.java",
      "new_id": "ff59590adec64fe28f67d40770d7e5de115d916a",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/buildeventservice/BuildEventServiceModule.java"
    },
    {
      "type": "modify",
      "old_id": "e0c352f6fc17a4d5e1613ff0d50e9b45dfa4ec17",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/buildeventservice/BuildEventServiceOptions.java",
      "new_id": "06e0c5ced46c008843c0d6d5ff7830b73f405f27",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/buildeventservice/BuildEventServiceOptions.java"
    },
    {
      "type": "modify",
      "old_id": "53dc437b3e967306496742218329352d88d2ddbb",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/runtime/BuildEventStreamer.java",
      "new_id": "ffb3d463b75dac9f285c31e9c105d4c84838b01e",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/runtime/BuildEventStreamer.java"
    },
    {
      "type": "modify",
      "old_id": "a96580551a8ee030c1f20ffa3e267b2734f27f52",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/runtime/SynchronizedOutputStream.java",
      "new_id": "fcdc6d2269ffb7c24f6f2c460c64f20da524c2f3",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/runtime/SynchronizedOutputStream.java"
    },
    {
      "type": "modify",
      "old_id": "40f16061d4b854e2107e7f323b4273947105243f",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/runtime/BuildEventStreamerTest.java",
      "new_id": "06545df053827b1f3c3237567486a75e545ba79e",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/runtime/BuildEventStreamerTest.java"
    }
  ]
}
