I may wrong here. Please correct me if I'm.
When a server comes up, a separate thread would take care
sending #INVITE message to its neighbours and Parallely
it can take care other activities.
Yes, you *could* do that. The problem is that if you have
been down for more than a few hours, having a separate thread
that sends ETRN to all your peers will result in your MTA
receiving all the several hour's backlog in a few minutes.
Yes, That is the expected behavior.
It's not exactly clear how to do proper rate-limiting in this
case, or even if it should be attempted at all. You need a
very good predictive function for system load that knows
where the "knee" in the performance curve is. The problem is
that said function has to be quite reactive (reflecting the
past few seconds of performance and an accurate prediction of
the next few) but at the same time it isn't prone to false
positives (throttling all inbound mail because of a very
short term issue that will be cleared in 5 seconds or so).
Yes, We should have a intelligent function which does the
rate control.
Somebody needs to take all this sort of stuff and publish an
Informational RFC on Operational Considerations.... Any takers?
I'm ready to take up.