logspout icon indicating copy to clipboard operation
logspout copied to clipboard

RoutesAPI locking after deleting routes for stopped containers

Open samuelwu90 opened this issue 9 years ago • 1 comments

Hi all - I've run into an issue where the RoutesAPI locks (all endpoints hang indefinitely) after a route is deleted for a container that's just been stopped.

Observations:

  • creating routes seems to be okay, I can create as many as I want without any locking, it's only when deleting a route on a container that was just stopped does the api lock
  • creating & deleting routes that don't match running containers seems to work fine
  • deleting routes for stopped containers sometimes works up to 2-3 times, but it always ends up locking the api at some point
  • after the api becomes locked, logs are still routed correctly and the debug logging (with the DEBUG env set to "true") still shows that the logspout container is reading in docker events, it's just that all requests to endpoints hang indefinitely:
curl -v http://127.0.0.1:8000/routes
* Hostname was NOT found in DNS cache
*   Trying 127.0.0.1...
* Connected to 127.0.0.1 (127.0.0.1) port 8000 (#0)
> GET /routes HTTP/1.1
> User-Agent: curl/7.35.0
> Host: 127.0.0.1:8000
> Accept: */*
> 

My first guess would be that the RouteManager is getting locked somewhere with a race condition, but I haven't had a chance to dig deeper yet.

Any help would be greatly appreciated!

samuelwu90 avatar Apr 08 '16 07:04 samuelwu90

I'm having the same issue (also seems like #220). I can start the latest logspout container or use v3.1, but any time I try to call the /routes API, it just hangs.

@mattaitchison / @michaelshobbs / @progrium any ideas?

mhamann avatar Feb 25 '17 16:02 mhamann