AdaptiveLoadBalancingSpi not removing finished tasks from taskTops map
I have a question/comment about the behaviour of adaptive load balancing
with Ignite 2.7.
I was running a load test on our systems and noticed that eventually we were
running out of heap space. Most of the heap was being taken up by the
taskTops map within AdaptiveLoadBalancingSpi.
Each new task was adding topology data to that map but nothing was ever
There is a GridLocalEventListener registered in AdaptiveLoadBalancingSpi
that will remove tasks from the map if events of type
EVT_TASK_FINISHED/EVT_TASK_FAILED are received.
The problem is that those event types don't seem to be recorded by default.
It seems easy enough to sort by using
EventType.EVT_TASK_FAILED) but it's not obvious that this is necessary in
the first place. It took me a fair bit of digging through the code and
debugging to work out what was going on.
Is it possible to improve the adaptive load balancing behaviour a bit?
Ensuring the finished/failed event tasks get recorded by default when
adaptive load balancing is used perhaps?