Set the priority level of Data Vault agents based on how you want to distribute the processing load.
Use the following guidelines when you set the priority level of an agent:
You can set the priority level to a number between zero and two million. A high number indicates a high priority.
If you set the agent priority level to 0 or 1, the Data Vault Service assigns the following status to the agent:
Priority level 0. Indicates that the agent is not available to process any task. The Data Vault Service does not assign a task to an agent with a priority level of 0. To make the agent available to process tasks, change the priority level to a value higher than 0.
Priority level 1. Indicates that the agent primarily processes high-priority tasks such as registering data files or other administration tasks. The Data Vault Service can assign query tasks to an agent with priority level 1 if the agent is not busy and the Data Vault Service receives a high volume of queries.
The Data Vault Service assigns tasks based on the availability and priority level of an agent. For example, the agent on one node has a priority level of 100 and the agent on a second node has a priority level of 90. The Data Vault Service assigns a task to the agent on the first node because it has the highest priority level. If the Data Vault Service receives another query and the agent on the first node is still busy with the first task, the Data Vault Service assigns the next task to the agent on the second node. However, if the agent on the first node has completed the first task and is available, then the Data Vault Service assigns the task to the agent on the first node.
The Data Vault Service uses an algorithm to ensure that agents process the most number of queries possible. For example, two agents are available to process queries and the Data Vault Service receives one query that generates ten long-running tasks and a second query that generates four tasks. The Data Vault Service does not wait until all tasks for the first query are completed before it assigns the tasks of the second query to an agent. It balances the task assignment between the two agents so that agents process the two queries in parallel.