Github user zentol commented on the issue:

    https://github.com/apache/flink/pull/5394
  
    How about calling `Thread.currentThread().interrupt();` only after having 
left the loop?
    ```
    public void run(SourceContext<T> ctx) throws Exception {
        boolean setInterruptFlag = false;
        while (running) {
                try {
                        Thread.sleep(20);
                } catch (InterruptedException ignored) {
                        setInterruptFlag = true;
                }
        }
        if (setInterruptFlag) {
                Thread.currentThread().interrupt();
        }
    }
    ```
    
    This should behave like the original proposal, without the hot loop.


---

Reply via email to