This is because there is a conflict between the two rules.
For example: Rule 1 : memory_limit_60_exception ==> Workload management rule. Rule 2: Maximum Memory Per Request = 30% ==> server-wide rule.
TIBCO Data Virtualization will select which of the 2 rules to execute based on
the most specific rule over a more restrictive rule.
In the example', memory_limit_60_exception' may be considered to be more specific than 'Maximum Memory Per Request', and so in a situation where both rules apply TIBCO Data virtualization will use 'memory_limit_60_exception' (instead of 'Maximum Memory Per Request').
Check the below two scenarios for a better understanding:
Scenario 1: A User 'Joe' who has been added to the Workload management rule runs the query when the Workload management rule is ENABLED.
- Both rules apply, but 'memory_limit_60_exception' takes precedence over 'Maximum Memory Per Request = 30%'
- As a result, the request reaches the 60% Limit and an Exception is raised.
Also, the same users run the query when the Workload management rule is DISABLED.
- This is fundamentally the same as not having a Workload management rule at all, and so only the server rule of Maximum Memory Per Request = 30% applies.
- As a result, memory will cap out at 30%
Scenario 2: Users who have not been added to the Workload management rule run the query
- Only the server rule i.e. Maximum Memory Per Request = 30% will apply.
- As a result, memory will cap out at 30%