All versions of fabio have the following bug:
If you delete all routes of a service with the route del service manual override then paths registered by this service are still considered for routing.
Given this routing table
route add serviceA /foo http://127.0.0.1:5000/
route add serviceB /foo/bar http://127.0.0.1:5001/
route del serviceB
the log will print the correct routing table
route add serviceA /foo http://127.0.0.1:5000/
but internally there is still a route for /foo/bar with no targets which is evaluated during lookup. Therefore, a request for /foo/bar will not be routed to serviceA but to nowhere since the dangling route has no targets.
The current workaround is to add a manual override for the specific route to serviceA, e.g.
route add serviceA /foo/bar http://127.0.0.1:5000/
All versions of fabio have the following bug:
If you delete all routes of a service with the
route del servicemanual override then paths registered by this service are still considered for routing.Given this routing table
the log will print the correct routing table
but internally there is still a route for
/foo/barwith no targets which is evaluated during lookup. Therefore, a request for/foo/barwill not be routed toserviceAbut to nowhere since the dangling route has no targets.The current workaround is to add a manual override for the specific route to serviceA, e.g.