You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
TLDR: Prior to this patch, multiple unit tests in the `rpc` package
were misconfiguring their heartbeat interval and timeout. This patch
fixes this.
The issue was that there were two separate locations for these tunable
parameters:
- `RPCHeartbeat{Interval,Timeout}` fields in
`ContextOptions` (previously via `*base.Config`, recently as
direct fields in `ContextOptions`)
- also, two private fields `heartbeat{Interval,Timeout}`
The former was copied into the latter during `NewContext()`.
Only the latter (the private fields) matter for the actual behavior.
Prior to this commit, the tests would call `NewContext()` and then
afterwards would override the fields in `ContextOptions`. These
overrides were thus ineffective because the value was already copied
by that time.
In addition to this design bug, there were a couple of additional bugs
lurking: the overrides defined by the tests were problematic in some
cases. If these overrides had been effective, the tests would break.
The problem was discovered after
8d2d2bf merged, because in that
commit some of the overrides from broken tests were taken on board and
became effective. This started causing flakes.
The fix is to remove the ambiguity in configuration and remove the
problematic overrides from offending tests.
Release note: None
0 commit comments