Currenty HBase allows operators to set system region coprocessors via hbase-site.xml to be loaded on each table in a cluster (or alternately, all tables but system tables). HBase assumes that the first loaded system coprocessor gets the first, or SYSTEM priority, with each subsequent system coproc getting incremented by 1. As a reminder, in HBase lower priorities go first.
It can be useful for an operator to be able to define a coprocessor on each table that needs a different priority. For example, an operator might want a coproc to load on each table last, so that it can enforce some system invariant and know that no other coproc will interfere with it.
I propose adding optional priority config to the hbase-site.xml configuration, separated from each coproc class in the comma-separated list by a special character (perhaps a pipe, such as table coprocs use) that's not used in class names.
The region coprocessor host will parse the priority if present and use it when instantiating the coproc.