[
https://issues.apache.org/jira/browse/FLINK-22698?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17350315#comment-17350315
]
Michał Ciesielczyk commented on FLINK-22698:
--------------------------------------------
Thanks.
When the delivery times out, but the the consumer was not cancelled yet,
nothing will happen - the consumer internal queue (LinkedBlockingQueue) will be
checked again (one null check needs to be added, as the poll returns null
instead of blocking the thread).
If the consumer was cancelled, the main loop in the source will be completed
and the job will be able to stop gracefully.
I will checkout the implementation of other sources. I will write here if I
find something that might be of help. Thanks for the suggestion.
> RabbitMQ source does not stop unless message arrives in queue
> -------------------------------------------------------------
>
> Key: FLINK-22698
> URL: https://issues.apache.org/jira/browse/FLINK-22698
> Project: Flink
> Issue Type: Bug
> Components: Connectors/ RabbitMQ
> Affects Versions: 1.12.0
> Reporter: Austin Cawley-Edwards
> Assignee: Michał Ciesielczyk
> Priority: Major
> Attachments: taskmanager_thread_dump.json
>
>
> In a streaming job with multiple RMQSources, a stop-with-savepoint request
> has unexpected behavior. Regular checkpoints and savepoints complete
> successfully, it is only the stop-with-savepoint request where this behavior
> is seen.
>
> *Expected Behavior:*
> The stop-with-savepoint request stops the job with a FINISHED state.
>
> *Actual Behavior:*
> The stop-with-savepoint request either times out or hangs indefinitely unless
> a message arrives in all the queues that the job consumes from after the
> stop-with-savepoint request is made.
>
> *Current workaround:*
> Send a sentinel value to each of the queues consumed by the job that the
> deserialization schema checks in its isEndOfStream method. This is cumbersome
> and makes it difficult to do stateful upgrades, as coordination with another
> system is now necessary.
>
>
> The TaskManager thread dump is attached.
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)