Apache CouchDB

Clone this repo:
  1. 5ff5921 Merge pull request #15 from apache/ioq_update_hist by iilyak · 4 months ago master 2.1.2
  2. b1ce76d Log from 0 is undefined by ILYA Khlopotov · 4 months ago
  3. 8ada5fa Merge pull request #13 from apache/allow-for-dynamic-ioq-classes by Russell Branca · 6 months ago
  4. c0ce268 Add dynamic IOQ class documentation by Russell Branca · 6 months ago allow-for-dynamic-ioq-classes
  5. d6e7a78 Allow dynamic classes in is_valid_class by Russell Branca · 6 months ago

IOQ classes

The following are the list of IOQ classes:

  • interactive
  • db_update
  • view_update
  • db_compact
  • view_compact
  • internal_repl
  • low

Bypassing IOQ

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.

Setting priorities

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.