)]}'
{
  "commit": "e641a740978447f0b29785580e46d2e30e822001",
  "tree": "793d73b5ae478a6248d055b18926e6cd85c46918",
  "parents": [
    "04bebb3f99b2045da0deb090afb4e6c4eacb67f5"
  ],
  "author": {
    "name": "Adam Kocoloski",
    "email": "kocolosk@apache.org",
    "time": "Wed Dec 18 15:22:18 2019 -0500"
  },
  "committer": {
    "name": "Adam Kocoloski",
    "email": "kocolosk@apache.org",
    "time": "Mon Jan 06 13:12:55 2020 -0500"
  },
  "message": "Enable users to bypass IOQ for certain IO classes\n\nThis patch allows an administrator to configure a \"bypass\" which\nwill cause a particular class of IO to be submitted directly to the\nfile descriptor or OS process instead of going through the IO queueing\nmechanism. Installing a bypass can result in higher throughput and\nlower latency, at the expense of less control over the stability of the\nsystem.\n\nA bypass is configured via the `ioq.priority` configuration block:\n\n[ioq.bypass]\nread \u003d true\nwrite \u003d true\ncompaction \u003d false\n\nThis configuration will cause user-submitted read IO to be submitted\ndirectly. At this time the following classes are available:\n\n- os_process\n- read\n- write\n- view_update\n- shard_sync\n- compaction\n\nThis also expands the \"compaction\" queue to be a general-purpose\n\"background\" queue that handles IO for both compaction and internal\nreplication (aka shard_sync). The other four classes are handled by the\n\"interactive\" queue. As before, the [ioq] ratio setting determines the\nlikelihood that background IO will be selected ahead of interactive IO\nwhen both queues are non-empty.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9ca26567a63e8222856e73ff56f12a721967b68d",
      "old_mode": 33188,
      "old_path": "src/ioq.erl",
      "new_id": "81d94a36f4081d4181171666d2ce4ba91902c85f",
      "new_mode": 33188,
      "new_path": "src/ioq.erl"
    }
  ]
}
