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)