From 354ae7734a08bcb406ffb55046bc2ec3aeb3d3e7 Mon Sep 17 00:00:00 2001 From: felmer <franz-josef.elmer@id.ethz.ch> Date: Thu, 15 Jun 2023 09:41:32 +0200 Subject: [PATCH] SSDM-13489: Adding log statements in context of caching file system views --- .../dss/generic/server/ftp/DSSFileSystemView.java | 10 ++++++++++ .../cisd/openbis/dss/generic/server/ftp/FtpServer.java | 5 ++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/server-original-data-store/source/java/ch/systemsx/cisd/openbis/dss/generic/server/ftp/DSSFileSystemView.java b/server-original-data-store/source/java/ch/systemsx/cisd/openbis/dss/generic/server/ftp/DSSFileSystemView.java index aa8a3fe81ed..57dcb2aa9a3 100644 --- a/server-original-data-store/source/java/ch/systemsx/cisd/openbis/dss/generic/server/ftp/DSSFileSystemView.java +++ b/server-original-data-store/source/java/ch/systemsx/cisd/openbis/dss/generic/server/ftp/DSSFileSystemView.java @@ -15,6 +15,7 @@ */ package ch.systemsx.cisd.openbis.dss.generic.server.ftp; +import java.lang.ref.Cleaner; import java.lang.reflect.InvocationHandler; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; @@ -115,6 +116,15 @@ public class DSSFileSystemView implements FileSystemView { this.sessionToken = sessionToken; this.cache = new Cache(); + Cleaner cleaner = Cleaner.create(); + cleaner.register(cache, new Runnable() + { + @Override + public void run() + { + operationLog.info("Finish cache for session " + sessionToken + ": " + cache); + } + }); this.service = (IServiceForDataStoreServer) Proxy.newProxyInstance(getClass().getClassLoader(), new Class[] { IServiceForDataStoreServer.class }, new ServiceInvocationHandler(service)); diff --git a/server-original-data-store/source/java/ch/systemsx/cisd/openbis/dss/generic/server/ftp/FtpServer.java b/server-original-data-store/source/java/ch/systemsx/cisd/openbis/dss/generic/server/ftp/FtpServer.java index 580ff84a36c..0d85b3e2dda 100644 --- a/server-original-data-store/source/java/ch/systemsx/cisd/openbis/dss/generic/server/ftp/FtpServer.java +++ b/server-original-data-store/source/java/ch/systemsx/cisd/openbis/dss/generic/server/ftp/FtpServer.java @@ -350,14 +350,17 @@ public class FtpServer implements FileSystemFactory, org.apache.sshd.common.file String sessionToken = ((FtpUser) user).getSessionToken(); DSSFileSystemView fileSystemView = new DSSFileSystemView(sessionToken, openBisService, generalInfoService, v3api, pathResolverRegistry); + operationLog.info("Get file system views set for session " + sessionToken + " (" + + fileSystemViewsBySessionToken.size() + " sessions are cached)"); Set<DSSFileSystemView> views = fileSystemViewsBySessionToken.get(sessionToken); if (views == null) { + operationLog.info("Create new file system views set for session " + sessionToken); views = new HashSet<>(); fileSystemViewsBySessionToken.put(sessionToken, views); } views.add(fileSystemView); - operationLog.info(views.size() + " filesystem views"); + operationLog.info("There are " + views.size() + " file system views sets cached for session " + sessionToken); return fileSystemView; } else { -- GitLab