westphal-jan commented on a change in pull request #15140:
URL: https://github.com/apache/flink/pull/15140#discussion_r594312807



##########
File path: 
flink-connectors/flink-connector-rabbitmq2/src/main/java/org/apache/flink/connector/rabbitmq2/source/README.md
##########
@@ -0,0 +1,63 @@
+# RabbitMQ Source
+
+Flink's RabbitMQ connector provides a source which enables you to receive 
messages from a RabbitMQ
+queue in three different consistency modes: at-most-once, at-least-once, and 
exactly-once.
+
+## Consistency Behaviour
+With __at-most-once__, the source will reach each message and automatically 
acknowledges it to
+RabbitMQ. The message content is then polled by the output. If the system 
crashes in the meantime,
+the messages that the source buffers are lost.
+
+By contrast, the messages in the __at-least-once__ mode are not automatically 
acknowledged but
+instead the delivery tag is stored in order to acknowledge it later to 
RabbitMQ. Messages are polled
+by the output and when the notification for a completed checkpoint is received 
the messages that were
+polled are acknowledged to RabbitMQ. Therefore, the mode requires 
_checkpointing enabled_. This way,
+it is assured that the messages are correctly processed by the system. If the 
system crashes in the
+meantime, the unacknowledged messages will be resend by RabbitMQ to assure 
at-least-once behavior.
+
+The __exactly-once-mode__ mode uses _correlation ids_ to deduplicate messages. 
Correlation ids need
+to be set by the user in order for the mode to function. In addition, it 
requires _checkpointing enabled_

Review comment:
       Done.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to