diff options
Diffstat (limited to 'filedistribution')
-rw-r--r-- | filedistribution/src/vespa/filedistribution/model/zkfacade.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/filedistribution/src/vespa/filedistribution/model/zkfacade.cpp b/filedistribution/src/vespa/filedistribution/model/zkfacade.cpp index 34705729703..96d80218cff 100644 --- a/filedistribution/src/vespa/filedistribution/model/zkfacade.cpp +++ b/filedistribution/src/vespa/filedistribution/model/zkfacade.cpp @@ -290,7 +290,12 @@ ZKFacade::invokeWatcher(void* watcherContext) { return; if (watcher) { - (*watcher->_nodeChangedWatcher)(); + try { + (*watcher->_nodeChangedWatcher)(); + } catch (const ZKConnectionLossException & e) { + LOGFWD(error, "Got connection loss exception while invoking watcher : %s", e.what()); + std::quick_exit(12); + } } else { LOGFWD(error, "Invoke called on expired watcher."); } |