6.4. Prioritizing Other Types of Transactions

Documentation

VoltDB Home » Documentation » Guide to Performance and Customization

6.4. Prioritizing Other Types of Transactions

There are many other types of transactions besides just stored procedure calls. There are transactions associated with database replication (DR) and snapshots, as well as transactions associated with import and topics. You cannot set a priority for individual instances of these more automated transactions, but you can set a priority for them as a group or class as part of the database configuration.

You specify the priority for snapshot and DR transactions in the configuration file using subelements of <systemsettings>/<priorities>. Each subelement takes an attribute, priority, that sets the priority of that class of transactions. For example, the following configuration sets the priority of DR transactions to 3 and snapshots to 7:

<systemsettings> 
  <priorities enabled=”true”>
    <dr priority="3"/>
    <snapshot priority="7"/>
  </priorities>
</systemsettings>

For import and topics, you can specify a priority for the transactions associated with individual import configurations and individual topics.You specify the priority as an attribute of the <configuration> or <topic> element for that target. For example, the following configuration sets the priority for the Kafka import configuration at 3 and the priority for the alerts and misc topics at 2 and 7, respectively:

<import>
  <configuration type="kafka" priority="3">
    [ ...]
  </configuration>
</import>

<topics>
  <topic name="alerts" priority="2" procedure="catchAlerts"/>
  <topic name="misc" priority="7" procedure="grabBag"/>
</topics>