Hey community,

I'm trying to understand t_relay () when a forward times out.

This is an abbreviated version of what i have:

Request_route {
...
Route(do1)
}

Route [do1]  {
...
T_on_reply (1reply)
T_on_failure (1fail)
T_relay ()
}

Reply_route[1reply] {
...
If (t_check_status (302)) {
  Route (do2)
}
}

Failure_route [1fail] {
Xlog (dafail1)
}

Route [do2]{
...
T_on_reply (2reply)
T_on_failure (2fail)
T_relay ()
}

Reply_route [2reply]{
Xlog (twerked)
}

Failure_route [2fail]{
Xlog (failured)
}

The case im currently interested in is when the first relay (do1) returns a 302 and then the second (do2) times out.

What happens on the second when it times out, it hits the 1fail failure_route. This messes with my logic as i would've expected (and want to find out how to make it) hit the 2nd failure_route.

I also noticed that if i loop and try the do2 again after the first failure it will then hit the 2fail route.

Any clarification on this subject would be greatly appreciated,

Ryan