| commit | 4039fe6d721ea6b444c9550550ca29f8d4ec72dd | [log] [tgz] |
|---|---|---|
| author | Paul J. Davis <davispa@us.ibm.com> | Mon Jun 29 13:54:36 2020 -0500 |
| committer | Paul J. Davis <davispa@us.ibm.com> | Mon Jun 29 13:54:36 2020 -0500 |
| tree | ce6a5be03cb7d335241c6147d3194362161e9c47 | |
| parent | 396c77cdc1740876a46445eb40a7f08aa0bbc0b3 [diff] |
Implement request deduplication This adds a hash to each ioq_q which is then used by ioq_server to deduplicate read requests to a given channel.
The following are the list of IOQ classes:
One can configure an ioq bypass, which removes an IO class from prioritization, as below:
config:set("ioq.bypass", "view_update", "true")
Note that setting an IOQ bypass can effectively trump all other classes, especially in the case of an interactive bypass v. compaction. This can lead to high disk usage.
The priority for a class can also be set ala:
config:set("ioq", "compaction", "0.3")
Or globally, using snippet/rpc:
s:set_config("ioq", "compaction", "0.314", global)
rpc:multicall(config, set, ["ioq", "compaction", "0.217"])
As the interactive class is ‘everything else’ its priority cannot be directly set.