You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by km...@apache.org on 2018/04/09 17:02:42 UTC

[geode] branch develop updated: GEODE-5029: Improve docs around query timeout and low memory (#1755)

This is an automated email from the ASF dual-hosted git repository.

kmiller pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
     new 2c44745  GEODE-5029: Improve docs around query timeout and low memory (#1755)
2c44745 is described below

commit 2c44745f3414298a65bd1d2221056c3586e7c360
Author: Karen Miller <ka...@users.noreply.github.com>
AuthorDate: Mon Apr 9 10:02:38 2018 -0700

    GEODE-5029: Improve docs around query timeout and low memory (#1755)
    
    * GEODE-5029: Improve docs around query timeout and low memory
    
    * GEODE-5029 Revise wording
     - both davebarnes97 and joeymcallister contributed rewrite suggestions
    implemented in this commit
---
 .../source/subnavs/geode-subnav.erb                |  5 ++-
 .../query_additional/advanced_querying.html.md.erb | 12 +++++---
 .../query_additional/query_timeout.html.md.erb     | 36 ++++++++++++++++++++++
 .../monitor_queries_for_low_memory.html.md.erb     | 27 +++++++++++-----
 4 files changed, 66 insertions(+), 14 deletions(-)

diff --git a/geode-book/master_middleman/source/subnavs/geode-subnav.erb b/geode-book/master_middleman/source/subnavs/geode-subnav.erb
index 2f12b59..0ef028a 100644
--- a/geode-book/master_middleman/source/subnavs/geode-subnav.erb
+++ b/geode-book/master_middleman/source/subnavs/geode-subnav.erb
@@ -1272,7 +1272,10 @@ limitations under the License.
                                         <a href="/docs/guide/<%=vars.product_version_nodot%>/developing/querying_basics/performance_considerations.html">Performance Considerations</a>
                                     </li>
                                     <li>
-                                        <a href="/docs/guide/<%=vars.product_version_nodot%>/developing/querying_basics/monitor_queries_for_low_memory.html">Monitoring Queries for Low Memory</a>
+                                        <a href="/docs/guide/<%=vars.product_version_nodot%>/developing/querying_basics/monitor_queries_for_low_memory.html">Monitoring Low Memory When Querying</a>
+                                    </li>
+                                    <li>
+                                        <a href="/docs/guide/<%=vars.product_version_nodot%>/developing/query_additional/query_timeout.html">Timeouts for Long-Running Queries</a>
                                     </li>
                                     <li>
                                         <a href="/docs/guide/<%=vars.product_version_nodot%>/developing/query_additional/using_query_bind_parameters.html">Using Query Bind Parameters</a>
diff --git a/geode-docs/developing/query_additional/advanced_querying.html.md.erb b/geode-docs/developing/query_additional/advanced_querying.html.md.erb
index ce758a2..0e79736 100644
--- a/geode-docs/developing/query_additional/advanced_querying.html.md.erb
+++ b/geode-docs/developing/query_additional/advanced_querying.html.md.erb
@@ -25,17 +25,19 @@ This section includes advanced querying topics such as using query indexes, usin
 
     This topic covers considerations for improving query performance.
 
--   **[Monitoring Queries for Low Memory](../querying_basics/monitor_queries_for_low_memory.html)**
+-   **[Monitoring Low Memory When Querying](../querying_basics/monitor_queries_for_low_memory.html)**
 
     The query monitoring feature prevents out-of-memory exceptions from occurring when you execute queries or create indexes.
 
--   **[Using Query Bind Parameters](../query_additional/using_query_bind_parameters.html)**
+-   **[Timeouts for Long-Running Queries](../query_additional/query_timeout.html)**
 
-    Using query bind parameters in <%=vars.product_name%> queries is similar to using prepared statements in SQL where parameters can be set during query execution. This allows user to build a query once and execute it multiple times by passing the query conditions during run time.
+    Configure a timeout value for long running queries, such that they do
+not complete, and <%=vars.product_name%> throws an exception when a 
+query runs for longer than the configured value.
 
--   **[Working with Indexes](../query_index/query_index.html)**
+-   **[Using Query Bind Parameters](../query_additional/using_query_bind_parameters.html)**
 
-    The <%=vars.product_name%> query engine supports indexing. An index can provide significant performance gains for query execution.
+    Using query bind parameters in <%=vars.product_name%> queries is similar to using prepared statements in SQL where parameters can be set during query execution. This allows you to build a query once and execute it multiple times by passing the query conditions during run time.
 
 -   **[Querying Partitioned Regions](../querying_basics/querying_partitioned_regions.html)**
 
diff --git a/geode-docs/developing/query_additional/query_timeout.html.md.erb b/geode-docs/developing/query_additional/query_timeout.html.md.erb
new file mode 100644
index 0000000..223bd60
--- /dev/null
+++ b/geode-docs/developing/query_additional/query_timeout.html.md.erb
@@ -0,0 +1,36 @@
+---
+title: Timeouts for Long-Running Queries
+---
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+<a id="topic_long-running-queries"></a>
+
+<%=vars.product_name%> can monitor and throw an exception when
+a query runs longer than a configured amount of time.
+This feature is enabled by setting the `critical-heap-percentage` attribute 
+which detects that the JVM has too little heap memory.
+
+The default query timeout is five hours.
+Set a different amount of time, in milliseconds,
+by specifying the system variable `gemfire.cache.MAX_QUERY_EXECUTION_TIME`.
+A value of -1 explicitly disables the timeout.
+
+When enabled, a query that runs longer than the configured timeout
+will be cancelled such that it does not finish,
+and <%=vars.product_name%> throws a `QueryExecutionTimeoutException`.
diff --git a/geode-docs/developing/querying_basics/monitor_queries_for_low_memory.html.md.erb b/geode-docs/developing/querying_basics/monitor_queries_for_low_memory.html.md.erb
index e958c6c..9939573 100644
--- a/geode-docs/developing/querying_basics/monitor_queries_for_low_memory.html.md.erb
+++ b/geode-docs/developing/querying_basics/monitor_queries_for_low_memory.html.md.erb
@@ -1,5 +1,5 @@
 ---
-title: Monitoring Queries for Low Memory
+title: Monitoring Low Memory When Querying
 ---
 
 <!--
@@ -24,13 +24,24 @@ limitations under the License.
 
 The query monitoring feature prevents out-of-memory exceptions from occurring when you execute queries or create indexes.
 
-This feature is automatically enabled when you set a `critical-heap-percentage` attribute for the resource-manager element in cache.xml or by using the `cache.getResourceManager().setCriticalHeapPercentage(float heapPercentage)` API. Use this feature to cancel out queries that are taking too long and to warn the user that there are low memory conditions when they are running queries or creating indexes.
-
-You can override this feature by setting the system property `gemfire.cache.DISABLE_QUERY_MONITOR_FOR_LOW_MEMORY` to true.
-
-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`.
-
-When system memory is low (as determined by the critical heap percentage threshold that you defined in cache.xml or in the getResourceManager API ), queries will throw a `QueryExecutionLowMemoryException`. Any indexes that are in the process of being created will throw an `InvalidIndexException` with the message indicating the reason.
+You enable this feature when you set 
+a `critical-heap-percentage` attribute for the resource-manager element
+in the `cache.xml` file or by using the
+`cache.getResourceManager().setCriticalHeapPercentage(float heapPercentage)`
+API. When this feature is enabled and
+heap memory usage exceeds
+the threshold due to running a query or creating an index,
+the resource manager throws an exception
+and cancels the running query or index creation.
+
+You can explicitly disable this feature by setting the system property `gemfire.cache.DISABLE_QUERY_MONITOR_FOR_LOW_MEMORY` to true.
+
+When system memory is low,
+as determined by the critical heap percentage threshold defined in 
+the `cache.xml` file or in the getResourceManager API,
+queries will throw a `QueryExecutionLowMemoryException`.
+Any indexes that are in the process of being created will throw
+an `InvalidIndexException` with the message indicating the reason.
 
 ## <a id="topic_685CED6DE7D0449DB8816E8ABC1A6E6F__section_2E9DEEC9D9C94D038543DDE03BC60B20" class="no-quick-link"></a>Partitioned Region Queries and Low Memory
 

-- 
To stop receiving notification emails like this one, please contact
kmiller@apache.org.