Recovery heap usage

Hi,

When doing recovery (Or moving an index between 1 node to another), the node receiving the index is getting its heap usage to 99% and than some times crashes due to OOM.

What can i do to avoid that?

The heap size is 8GB and the each shard size is around 7GB.

Also, what will happen if a shard size is bigger than the heap size? Should i simply split it to more shards?

Can max_merge_segments help here?