As I know, Flink uses thread model, that means one TaskManager process may run many different operator threads from different jobs. So tasks from different jobs will compete for memory and CPU in the one process. In the worst case scenario, the bad job will eat most of CPU and memroy which may lead to OOM, and then the regular job died too. And there's another problem, tasks from different jobs will print there logs into the same file(the taskmanager log file). This increases the difficulty of debugging.
As I know, Storm will spawn workers for every job. The tasks in one worker belong to the same job. So I'm confused the purpose or advantages of Flink design. One more question, is there any tips to solves the issues above? Or any suggestions to implemention the similar desgin with Storm ? Thank you for any answers in advance! Regards, Jark Wu