Uploaded image for project: 'Geode'
  1. Geode
  2. GEODE-5034

Query Monitors are not set even if the timeout is set to 0

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • docs
    • None

    Description

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

      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}}.
      
      

       

      But when we look at the code

      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;
       }

       

      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.

      Attachments

        Activity

          People

            Unassigned Unassigned
            nnag Nabarun Nag
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: