You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "nabarun (JIRA)" <ji...@apache.org> on 2018/04/09 18:21:00 UTC

[jira] [Updated] (GEODE-5034) Query Monitors are not set even if the timeout is set to 0

     [ https://issues.apache.org/jira/browse/GEODE-5034?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

nabarun updated GEODE-5034:
---------------------------
    Description: 
In the section "Monitoring Queries for Low Memory" it is stated that
{noformat}
When the query memory monitoring feature is on, the default query time out is set to five hours. You can override this value by setting a larger or smaller, non -1 value to the existing query time out system variable {{gemfire.cache.MAX_QUERY_EXECUTION_TIME}}.

{noformat}
 

But when we look at the code
{code:java}
public QueryMonitor getQueryMonitor() {
 // Check to see if monitor is required if ResourceManager critical heap percentage is set
 // or whether we override it with the system variable;
 boolean monitorRequired =
 !this.queryMonitorDisabledForLowMem && queryMonitorRequiredForResourceManager;
 // Added for DUnit test purpose, which turns-on and off the this.testMaxQueryExecutionTime.
 if (!(MAX_QUERY_EXECUTION_TIME > 0 || monitorRequired)) {
 // if this.testMaxQueryExecutionTime is set, send the QueryMonitor.
 // Else send null, so that the QueryMonitor is turned-off.
 return null;
 }{code}
 

We can see that the monitor is returned as null when the timeout is set to a non positive numeral.

 

Solution:

We should mention in the docs that the monitors will not be activated if the timeout is set a non positive integer.

  was:
In the section "Monitoring Queries for Low Memory" it is stated that

{noformat}

When the query memory monitoring feature is on, the default query time out is set to five hours. You can override this value by setting a larger or smaller, non -1 value to the existing query time out system variable {{gemfire.cache.MAX_QUERY_EXECUTION_TIME}}.

{noformat}

 

But when we look at the code
{code:java}
public QueryMonitor getQueryMonitor() {
 // Check to see if monitor is required if ResourceManager critical heap percentage is set
 // or whether we override it with the system variable;
 boolean monitorRequired =
 !this.queryMonitorDisabledForLowMem && queryMonitorRequiredForResourceManager;
 // Added for DUnit test purpose, which turns-on and off the this.testMaxQueryExecutionTime.
 if (!(MAX_QUERY_EXECUTION_TIME > 0 || monitorRequired)) {
 // if this.testMaxQueryExecutionTime is set, send the QueryMonitor.
 // Else send null, so that the QueryMonitor is turned-off.
 return null;
 }{code}
 

We can see that the monitor is returned as null when the timeout is set to a non positive numeral.


> Query Monitors are not set even if the timeout is set to 0
> ----------------------------------------------------------
>
>                 Key: GEODE-5034
>                 URL: https://issues.apache.org/jira/browse/GEODE-5034
>             Project: Geode
>          Issue Type: Bug
>          Components: docs
>            Reporter: nabarun
>            Priority: Major
>
> In the section "Monitoring Queries for Low Memory" it is stated that
> {noformat}
> When the query memory monitoring feature is on, the default query time out is set to five hours. You can override this value by setting a larger or smaller, non -1 value to the existing query time out system variable {{gemfire.cache.MAX_QUERY_EXECUTION_TIME}}.
> {noformat}
>  
> But when we look at the code
> {code:java}
> public QueryMonitor getQueryMonitor() {
>  // Check to see if monitor is required if ResourceManager critical heap percentage is set
>  // or whether we override it with the system variable;
>  boolean monitorRequired =
>  !this.queryMonitorDisabledForLowMem && queryMonitorRequiredForResourceManager;
>  // Added for DUnit test purpose, which turns-on and off the this.testMaxQueryExecutionTime.
>  if (!(MAX_QUERY_EXECUTION_TIME > 0 || monitorRequired)) {
>  // if this.testMaxQueryExecutionTime is set, send the QueryMonitor.
>  // Else send null, so that the QueryMonitor is turned-off.
>  return null;
>  }{code}
>  
> We can see that the monitor is returned as null when the timeout is set to a non positive numeral.
>  
> Solution:
> We should mention in the docs that the monitors will not be activated if the timeout is set a non positive integer.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)