We allowed A -> B -> A with the same channel before.
In ractor framework, when an actor handle sending another message which need to be handled by itself, there will be a loop in actor handler chain, pay self trigger this error because the forwarding TLC channel actor is same in our old code.
In this rare scenario, there will be no error but only the later message can not be handled, it's error-prone here.
In this fix, we don't allow to use same channel in the next jump for path finding.
Fixes #300
We allowed
A -> B -> A
with the same channel before.In ractor framework, when an actor handle sending another message which need to be handled by itself, there will be a loop in actor handler chain, pay self trigger this error because the forwarding TLC channel actor is same in our old code.
In this rare scenario, there will be no error but only the later message can not be handled, it's error-prone here.
In this fix, we don't allow to use same channel in the next jump for path finding.