IGNITE-10639 Improvements in doc for clearly explain things

Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/9298b2de
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/9298b2de
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/9298b2de

Branch: refs/heads/ignite-10639
Commit: 9298b2dece47cf17ba55f2d6e5d29a864922ea09
Parents: 30dc030
Author: Dmitriy Pavlov <[email protected]>
Authored: Wed Dec 19 15:34:25 2018 +0300
Committer: Dmitriy Pavlov <[email protected]>
Committed: Wed Dec 19 15:34:25 2018 +0300

----------------------------------------------------------------------
 .../pagemem/PagesWriteSpeedBasedThrottle.java   |  4 +++-
 .../cache/persistence/pagemem/README.md         | 21 ++++++++++++++++++--
 2 files changed, 22 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/9298b2de/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PagesWriteSpeedBasedThrottle.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PagesWriteSpeedBasedThrottle.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PagesWriteSpeedBasedThrottle.java
index 2dd8127..9e4975c 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PagesWriteSpeedBasedThrottle.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PagesWriteSpeedBasedThrottle.java
@@ -29,7 +29,9 @@ import org.apache.ignite.internal.util.typedef.internal.U;
 /**
  * Throttles threads that generate dirty pages during ongoing checkpoint.
  * Designed to avoid zero dropdowns that can happen if checkpoint buffer is 
overflowed.
- * Uses average checkpoint write speed and moment speed of marking pages as 
dirty.
+ * Uses average checkpoint write speed and moment speed of marking pages as 
dirty.<br>
+ *
+ * See also: <a 
href="https://github.com/apache/ignite/tree/master/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/pagemem#speed-based-throttling";>Speed-based
 throttling description</a>.
  */
 public class PagesWriteSpeedBasedThrottle implements PagesWriteThrottlePolicy {
     /** Maximum dirty pages in region. */

http://git-wip-us.apache.org/repos/asf/ignite/blob/9298b2de/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/README.md
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/README.md
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/README.md
index 57e623d..722050c 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/README.md
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/README.md
@@ -2,11 +2,28 @@ Apache Ignite Native Peristence Page Memory
 -------------------------------------------
 This package contains page memory implementation for case persitence is 
enabled.
 
-Speed Based Throttling
-----------------------
+
+Throttling
+----------
+Throttling is an intentional slowdown of operation in the grid to equate 
throughput of the storage and speed of user operations.
+
+Throttling is implemented at physical level of operations, so it operated not 
with user entries, but with page memory pages.
+
 For an introduction, please see
 [wiki 
PagesWriteThrottling](https://cwiki.apache.org/confluence/display/IGNITE/Ignite+Persistent+Store+-+under+the+hood#IgnitePersistentStore-underthehood-PagesWriteThrottling)
 
+There are two types of throttling implemented in Apache Ignite:
+* Checkpoint buffer overflow protection.
+
+This CP Buffer throttling is enabled by default. It is activated if CP buffer 
is close to being filled.
+In this case, there is an exponential backoff at 2/3 when filling reached.
+Since the CP buffer is being cleaned as the checkpoint progresses, this more 
or less behaves like trotting.
+
+* the whole region marked dirty protection.
+This type of throttling protects region segments from being completely filled 
by dirty pages when checkpoint progress is far from completion.
+
+## Speed Based Throttling
+
 If throttling is enabled in User configuration, then Speed based throttling is 
applied.
 
 Speed based throttling is implemented by

Reply via email to