Why does enabling Workload Management rules result in high memory usage for a request in TIBCO Data Virtualization?

Why does enabling Workload Management rules result in high memory usage for a request in TIBCO Data Virtualization?

book

Article ID: KB0071070

calendar_today

Updated On:

Products

TIBCO Data Virtualization

Description

When working with the workload management rule, it can be observed that the per request memory usage exceeds the "Maximum Memory Per Request" value, which is set from TIBCO Data Virtualization Studio > Administration > Configuration > "Maximum Memory Per Request".

Issue/Introduction

This article explains the reason behind high memory usage in TIBCO Data Virtualization when workload management rule is enabled.

Environment

All supported environment

Resolution

This is because there is a conflict between the two rules.
For example:  Rule 1 : memory_limit_60_exception ==> Workload management rule.
 
User-added image

                      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%

Additional Information