Opened 7 years ago

Closed 7 years ago

#1300 closed defect (fixed)

Router fails to build inbound client tunnels

Reported by: zzz Owned by:
Priority: major Milestone: 0.9.14
Component: router/general Version: 0.9.13
Keywords: Cc:
Parent Tickets: Sensitive: no


Router successfully builds an OB client tunnel, and then uses it (pairing) to build the paired IB tunnel. But after repeated attempts it doesn't work, either conn limits at the OBEP or the new OBEP conn throttling (0.9.12 ref. #1134).

But we won't build any more OB tunnels because we prioritize building tunnels for pools that are empty. So it will take 10 minutes to replace the sole OB tunnel that isn't working, while trying a hundred times or more to build IB tunnels in parallel.

So the priority sort needs a little more random in it, or less strict, or something. Maybe if a pool is empty, the paired pool should be high priority too, so we get more than one to build through.

Not a new problem but the 0.9.12 OBEP throttling made it worse, I think.

See BuildExecutor?.TunnelPoolComparator?


Change History (3)

comment:1 Changed 7 years ago by zzz

This can happen in the other direction also. Need a general solution.

comment:2 Changed 7 years ago by zzz

Status: newtesting

Hopefully fixed in a24e539afcc630ed2da03ef9ee54c5e65922d073 0.9.13-7.

25% of time, don't prefer the empty tunnels in the sort, so other pools get a chance to build, which may get us unstuck.

Needs testing and may need to tweak the percentage.

comment:3 Changed 7 years ago by zzz

Resolution: fixed
Status: testingclosed
Note: See TracTickets for help on using tickets.