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

dmagda pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/master by this push:
     new bb5dbe3  Ignite docs: added the note about continuous queries 
exactly-once guarantee.
     new 9e18e07  Merge remote-tracking branch 'origin/master'
bb5dbe3 is described below

commit bb5dbe3c4a951bddd17f2ab9094ddd69b1779cee
Author: Denis Magda <dma...@gridgain.com>
AuthorDate: Tue Oct 6 16:02:56 2020 -0700

    Ignite docs: added the note about continuous queries exactly-once guarantee.
---
 docs/_docs/key-value-api/continuous-queries.adoc | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/docs/_docs/key-value-api/continuous-queries.adoc 
b/docs/_docs/key-value-api/continuous-queries.adoc
index 8f90dbdb..73343d3 100644
--- a/docs/_docs/key-value-api/continuous-queries.adoc
+++ b/docs/_docs/key-value-api/continuous-queries.adoc
@@ -136,6 +136,21 @@ You can do this in two ways:
 * link:code-deployment/peer-class-loading[Enable peer class loading].
 ====
 
+== Events Delivery Guarantees
+
+Continuous queries ensure the exactly-once semantic for the delivery of events 
to the clients' local listeners.
+
+Both primary and backup nodes maintain an update queue that holds events that 
are processed by continuous queries
+on the server side but yet to be delivered to the clients. Suppose a primary 
node crashes
+or the cluster topology changes for any reason. In that case, every backup 
node flushes the content of its update
+queue to the client, making sure that every event is delivered to the client's 
local listener.
+
+Ignite manages a special per-partition update counter that helps to avoid 
duplicate notifications. Once an entry in
+some partition is updated, a counter for this partition is incremented on both 
primary and backup nodes. The value of
+this counter is also sent along with the event notification to the client. 
Thus, the client can skip already-processed
+events. Once the client confirms that an event is received, the primary and 
backup nodes remove the record for this event
+from their backup queues.
+
 
 == Examples
 

Reply via email to