private void validateFileExtensions(ApplicationId applicationId, Optional<DeployLogger> deployLogger, FilesApplicationPackage app) {
        try {
            app.validateFileExtensions();
        } catch (IllegalArgumentException e) {
            if (configserverConfig.hostedVespa()) {
                UnboundStringFlag flag = PermanentFlags.APPLICATION_FILES_WITH_UNKNOWN_EXTENSION;
                String value = flag.bindTo(flagSource).with(INSTANCE_ID, applicationId.serializedForm()).value();
                switch (value) {
                    case "FAIL" -> throw new InvalidApplicationException(e);
                    case "LOG" -> deployLogger.ifPresent(logger -> logger.logApplicationPackage(Level.WARNING, e.getMessage()));
                    default -> log.log(Level.WARNING, "Unknown value for flag " + flag.id() + ": " + value);
                }
            } else {
                deployLogger.ifPresent(logger -> logger.logApplicationPackage(Level.WARNING, e.getMessage()));
            }
        }
    }
A session for which we don't have a watcher, i.e. hitherto unknown to us.

@param sessionId session id for the new session
configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java