Adds failfast mode for unroutable requests. - #32
Conversation
|
Should I take this opportunity to bump linkerd-tcp to 0.0.3? |
|
@stevej re: linkerd-tcp-0.0.3, I think we should do another release soon too, but was thinking we could have a separate branch to update CHANGES.md once we're ready to release. So for now I'd vote to leave it as is. |
c23d894 to
caefde3
Compare
* Fixes Issue #26 * Adds a failfast mode for currently unroutable requests. * Adds an integration test failfast. * Adds a mock namerd. * Adds a mock static webserver. * Improves some comments.
|
I gave this branch a try and was able to successfully reproduce the fail fast behavior that's intended. I ran into a separate issue thought that seems potentially related. I started by configuring linkerd-tcp with a path that's resolvable using namerd's dtab, and verified that I could successfully proxy an HTTP request through linkerd-tcp. After making the initial successful request, I used namerctl to change the the dtab in namerd so that the path was no longer resolvable. After that, I made a second request to linkerd-tcp, which failed. In the linkerd-tcp logs, I see: After that I made a third request to linkerd-tcp, which causes the process to panic and exit with status code 101. In the linkerd-tcp logs, I see: |
Problem:
If a request coming through is unroutable (e.g. if no routable path is given) then linkerd-tcp hangs.
Solution:
Add a failfast mode that immediately drops unroutable requests.