Currently our path handover logic when everything is working smoothly is to use an introset (which has a lifetime of 20min) until we are within the publish interval (5 mins), then go look for a new introset. It would be useful to make this configurable, particular to allow experimenting with how different path hold times work in practice.
Proposal:
- add a new
[paths] handover-buffer setting which specifies a # of seconds value.
- keep using our current intros as long as we have at least 2 intros that expire more than (that setting) seconds.
- Once we don't, start looking for a new introset. (We probably want to rate-limit this to polling for new introsets every, say, 15s).
- pick a suitable default. Our current (hard-coded) value looks like 300, but I think we could go quite a bit lower, perhaps 60. Maybe keep the default at 300 for now, and we can experiment with lowering it for future releases?
Currently our path handover logic when everything is working smoothly is to use an introset (which has a lifetime of 20min) until we are within the publish interval (5 mins), then go look for a new introset. It would be useful to make this configurable, particular to allow experimenting with how different path hold times work in practice.
Proposal:
[paths] handover-buffersetting which specifies a # of seconds value.