Here is the scenario we cannot support for now. User cannot cancel tasks after master node is restarted. Of course, we need to restore IgniteCompute.cancelTask(sesId) first.
I am against changing closures execution mechanics. I would better simplify and optimize task execution. This way, both tasks and lightweight closures will benefit. --Yakov