Teradata recommends that you do not use system throttles with utilities. When creating system throttles, explicitly exclude utilities. However, if system throttles do apply to utility work, make sure that the system throttle limit is greater than the utility throttle limit to prevent hung jobs.
Consider the following situation leading to a deadlock. There are a utility throttle and a system throttle that are applicable to the FastLoad utility. Both throttles are set at 2. When 2 FastLoad jobs are submitted, the following events occur:
- The first FastLoad starts a Unit of Work using the control SQL session associated with it. The system throttle counter is at 1.
- The second FastLoad starts a Unit of Work using the control SQL session associated with it. The system throttle counter is at 2.
- The first FastLoad tries to update the restart log on the auxiliary SQL session associated with it, but it is delayed because the system throttle counter is already at 2.
- The second FastLoad tries to update the restart log on the auxiliary SQL session associated with it, but it is delayed because the system throttle counter is already at 2.
Both FastLoads are delayed indefinitely.
Now consider a similar situation with a better result. In the following events, the system throttle is set to 3, greater than the utility throttle:
- The first FastLoad starts a Unit of Work using the control SQL session associated with it. The system throttle counter is at 1.
- The second FastLoad starts a Unit of Work using the control SQL session associated with it. The system throttle counter is at 2.
- The first FastLoad updates the restart log on the auxiliary SQL session associated with it. The system throttle counter is at 3, the limit. When the updates completes, the system throttle counter is back to 2.
- The second FastLoad updates the restart log on the auxiliary SQL session associated with it. The system throttle counter is at 3, the limit. When the updates completes, the system throttle counter is back to 2.
- The first FastLoad ends the Unit of Work using the control SQL session associated with it. The system throttle counter is at 1.
- The second FastLoad ends the Unit of Work using the control SQL session associated with it. The system throttle counter is at 0.