Summary
Make the regular Watch retry backoff abortable in packages/kube-client/lib/cache/Reflector.js.
Rationale
Reflector.listAndWatch() retries connection-refused and HTTP 429 Watch request errors. Its retry delay does not receive this.signal. If cancellation occurs during this delay, the reflector waits for the backoff timer to complete.
The WatchList retry path already passes this.signal to delay().
Affected area
packages/kube-client/lib/cache/Reflector.js
Reflector.listAndWatch()
Required change
Pass the reflector abort signal to the retry backoff delay for retriable regular Watch request errors. Keep the behavior aligned with the WatchList retry path.
Acceptance criteria
- Aborting the reflector interrupts the regular Watch retry backoff without waiting for the full timer duration.
- The abort error remains handled as an expected cancellation by the existing run loop.
- Add or update focused test coverage if suitable with the related client-go ports.
Backlinks
Summary
Make the regular Watch retry backoff abortable in
packages/kube-client/lib/cache/Reflector.js.Rationale
Reflector.listAndWatch()retries connection-refused and HTTP 429 Watch request errors. Its retry delay does not receivethis.signal. If cancellation occurs during this delay, the reflector waits for the backoff timer to complete.The WatchList retry path already passes
this.signaltodelay().Affected area
packages/kube-client/lib/cache/Reflector.jsReflector.listAndWatch()Required change
Pass the reflector abort signal to the retry backoff delay for retriable regular Watch request errors. Keep the behavior aligned with the WatchList retry path.
Acceptance criteria
Backlinks