private void nodeChanged() {
        zkWatcherExecutor.execute(() -> {
            Status newStatus = Status.UNKNOWN;
            try {
                ChildData node = fileCache.getCurrentData();
                if (node != null) {
                    newStatus = Status.parse(Utf8.toString(node.getData()));
                    sessionStatusChanged(newStatus);
                }
            } catch (NotFoundException e) {
                log.log(Level.INFO, "Session or application not found when handling session change to " + newStatus.name() + " for session " + sessionId);
                metrics.incSessionChangeErrors();
            } catch (Exception e) {
                log.log(Level.WARNING, "Error handling session change to " + newStatus.name() + " for session " + sessionId, e);
                metrics.incSessionChangeErrors();
            }
        });
    }
Watches session state for a session (/config/v2/tenants/&lt;tenantName&gt;/sessions/&lt;n&gt;/sessionState in ZooKeeper)
The session must be in the session repo.

@author Vegard Havdal
@author hmusum
configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionStateWatcher.java