diff --git a/util/src/main/java/io/kubernetes/client/informer/cache/ReflectorRunnable.java b/util/src/main/java/io/kubernetes/client/informer/cache/ReflectorRunnable.java index b39d49e2b5..7fc167bdaa 100644 --- a/util/src/main/java/io/kubernetes/client/informer/cache/ReflectorRunnable.java +++ b/util/src/main/java/io/kubernetes/client/informer/cache/ReflectorRunnable.java @@ -223,10 +223,15 @@ private void watchHandler(Watchable watch) { continue; } if (eventType.get() == EventType.ERROR) { - String errorMessage = - String.format("got ERROR event and its status: %s", item.status.toString()); - log.error(errorMessage); - throw new RuntimeException(errorMessage); + if (item.status != null && item.status.getCode() == HttpURLConnection.HTTP_GONE) { + log.info("Watch connection expired: {}", item.status.getMessage()); + return; + } else { + String errorMessage = + String.format("got ERROR event and its status: %s", item.status.toString()); + log.error(errorMessage); + throw new RuntimeException(errorMessage); + } } ApiType obj = item.object;