Ignite docs: added the note about continuous queries exactly-once guarantee.
@@ -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
