austince opened a new pull request #12001:
URL: https://github.com/apache/flink/pull/12001


   ## What is the purpose of the change
   
   This pull request makes the queue declaration in the RabbitMQ Source and 
Sink consistent. Previously, the Source asserted a durable queue while the Sink 
asserted a transient queue. This made using the same queue for input and output 
impossible (as described in the ticket FLINK-17204). The rationale for setting 
queues to durable by default is taken from the RabbitMQ UI defaults, shown here:
   
   
![rmq-add-new-queue](https://user-images.githubusercontent.com/4655775/81102687-f787a500-8edd-11ea-86ec-4e98551843c4.png)
   
   The classes can still be overridden if end users want different default 
semantics.
   
   ## Brief change log
   
     - The `RMQSink` asserts durable queues
   
   ## Verifying this change
   
   This change added tests and can be verified as follows:
   
   *(example:)*
     - Added a unit test 
`RMQSourceTest.testOpenCallDeclaresQueueInStandardMode()`, similar to the 
existing tests in `RMQSinkTest`, which confirm that the queue is asserted with 
consistent parametersTaskManagers during the execution, verifying that recovery 
happens correctly.*
   - Updated the existing unit tests in `RMQSinkTest` to assert that durable 
queues are created
   
   ## Does this pull request potentially affect one of the following parts:
   
     - Dependencies (does it add or upgrade a dependency): (yes / **no**)
     - The public API, i.e., is any changed class annotated with 
`@Public(Evolving)`: (yes / **no**)
     - The serializers: (yes / **no** / don't know)
     - The runtime per-record code paths (performance sensitive): (yes / **no** 
/ don't know)
     - Anything that affects deployment or recovery: JobManager (and its 
components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: (yes / **no** / 
don't know)
     - The S3 file system connector: (yes / **no** / don't know)
   
   ## Documentation
   
     - Does this pull request introduce a new feature? (yes / **no**)
     - If yes, how is the feature documented? (not applicable / docs / JavaDocs 
/ **not documented**)
   
   I couldn't find any mention of the current configuration in the JavaDocs 
[[RMQSink]](https://ci.apache.org/projects/flink/flink-docs-release-1.10/api/java/org/apache/flink/streaming/connectors/rabbitmq/RMQSink.html)
 
[[RMQSource]](https://ci.apache.org/projects/flink/flink-docs-release-1.10/api/java/org/apache/flink/streaming/connectors/rabbitmq/RMQSource.html),
 though I'm happy to add docs around this if that would be helpful.
   


----------------------------------------------------------------
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