Closed akram closed 3 years ago
The onClose method for some reason calls io.fabric8.kubernetes.client.informers.cache.Reflector.startWatcher(). This method has a sleep time of 5 seconds.
this.watcher = new ReflectorWatcher<>(store, lastSyncResourceVersion, this::startWatcher, this::reListAndSync);
There is a problem as, the 3rd argument of the constructor is supposed to be an onClose
method ; but here we are passing a startWatcher
, that seems to be a confusion of the API.
I am doing some tests to pass another method to see if that's a descent fix.
While stopping registered informers, there is always a fixed 5 seconds time per informer.
Here a gist for a reproducer: https://gist.github.com/akram/bbe5eb8793db580b82d8bfc320ecc7e6
Logs does not reveal where is it coming from. Between these 2 lines there is always 5 seconds
and
Please note that an additional 5 seconds await is done and logged after stopping the informer when the serviceExecutor is shutdown.
Is there a way to make this delay shorter? is it related to
okhttp
or is it something done inkubernetes-client
?