[arvados] created: 2.1.0-2600-g042f0d37d

git repository hosting git at public.arvados.org
Mon Jun 13 18:14:36 UTC 2022


        at  042f0d37dacebddef9d2d7232fa2e5b9922a9451 (commit)


commit 042f0d37dacebddef9d2d7232fa2e5b9922a9451
Author: Tom Clegg <tom at curii.com>
Date:   Mon Jun 13 14:06:42 2022 -0400

    Add cache debug logs.
    
    Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom at curii.com>

diff --git a/lib/service/cmd.go b/lib/service/cmd.go
index 679cbede1..1e44c45a9 100644
--- a/lib/service/cmd.go
+++ b/lib/service/cmd.go
@@ -114,7 +114,7 @@ func (c *command) RunCommand(prog string, args []string, stdin io.Reader, stdout
 
 	// Now that we've read the config, replace the bootstrap
 	// logger with a new one according to the logging config.
-	log = ctxlog.New(stderr, cluster.SystemLogs.Format, cluster.SystemLogs.LogLevel)
+	log = ctxlog.New(stderr, cluster.SystemLogs.Format, "debug")
 	logger := log.WithFields(logrus.Fields{
 		"PID":       os.Getpid(),
 		"ClusterID": cluster.ClusterID,
diff --git a/services/keep-web/cache.go b/services/keep-web/cache.go
index d5fdc4997..605f073b8 100644
--- a/services/keep-web/cache.go
+++ b/services/keep-web/cache.go
@@ -234,6 +234,7 @@ func (c *cache) GetSession(token string) (arvados.CustomFileSystem, *cachedSessi
 	sess, _ := ent.(*cachedSession)
 	expired := false
 	if sess == nil {
+		c.logger.Debugf("no cached session for token %31.31s", token)
 		c.metrics.sessionMisses.Inc()
 		sess = &cachedSession{
 			expire: now.Add(c.cluster.Collections.WebDAVCache.TTL.Duration()),
@@ -251,9 +252,11 @@ func (c *cache) GetSession(token string) (arvados.CustomFileSystem, *cachedSessi
 		sess.keepclient = keepclient.New(sess.arvadosclient)
 		c.sessions.Add(token, sess)
 	} else if sess.expire.Before(now) {
+		c.logger.Debugf("expired session for token %31.31s", token)
 		c.metrics.sessionMisses.Inc()
 		expired = true
 	} else {
+		c.logger.Debugf("using cached session for token %31.31s", token)
 		c.metrics.sessionHits.Inc()
 	}
 	select {
@@ -262,8 +265,10 @@ func (c *cache) GetSession(token string) (arvados.CustomFileSystem, *cachedSessi
 	}
 	fs, _ := sess.fs.Load().(arvados.CustomFileSystem)
 	if fs != nil && !expired {
+		c.logger.Debug("using existing fs from cached session")
 		return fs, sess, nil
 	}
+	c.logger.Debug("creating new fs for cached session")
 	fs = sess.client.SiteFileSystem(sess.keepclient)
 	fs.ForwardSlashNameSubstitution(c.cluster.Collections.ForwardSlashNameSubstitution)
 	sess.fs.Store(fs)
@@ -284,12 +289,14 @@ func (c *cache) pruneSessions() {
 		s := ent.(*cachedSession)
 		if s.expire.Before(now) {
 			c.sessions.Remove(token)
+			c.logger.Debugf("removed session for token %31.31s (expired %s)", token, s.expire)
 			continue
 		}
 		if fs, ok := s.fs.Load().(arvados.CustomFileSystem); ok {
 			size += fs.MemorySize()
 		}
 	}
+	c.logger.Debugf("pruneSessions: current size is %d, max/2 is %d", size, c.cluster.Collections.WebDAVCache.MaxCollectionBytes/2)
 	// Remove tokens until reaching size limit, starting with the
 	// least frequently used entries (which Keys() returns last).
 	for i := len(keys) - 1; i >= 0; i-- {
@@ -307,7 +314,9 @@ func (c *cache) pruneSessions() {
 			continue
 		}
 		c.sessions.Remove(token)
-		size -= fs.MemorySize()
+		fssize := fs.MemorySize()
+		size -= fssize
+		c.logger.Debugf("removed session for token %31.31s (size was %d, remaining size is %d)", token, fssize, size)
 	}
 }
 
diff --git a/services/keep-web/handler.go b/services/keep-web/handler.go
index 54b8c0216..fab927621 100644
--- a/services/keep-web/handler.go
+++ b/services/keep-web/handler.go
@@ -19,6 +19,7 @@ import (
 	"strings"
 	"sync"
 
+	"git.arvados.org/arvados.git/lib/cmd"
 	"git.arvados.org/arvados.git/sdk/go/arvados"
 	"git.arvados.org/arvados.git/sdk/go/arvadosclient"
 	"git.arvados.org/arvados.git/sdk/go/auth"
@@ -68,7 +69,7 @@ func (h *handler) setup() {
 }
 
 func (h *handler) serveStatus(w http.ResponseWriter, r *http.Request) {
-	json.NewEncoder(w).Encode(struct{ Version string }{version})
+	json.NewEncoder(w).Encode(struct{ Version string }{cmd.Version.String()})
 }
 
 // updateOnSuccess wraps httpserver.ResponseWriter. If the handler
diff --git a/services/keep-web/main.go b/services/keep-web/main.go
index 7a23cd1fa..cd379dc6b 100644
--- a/services/keep-web/main.go
+++ b/services/keep-web/main.go
@@ -16,10 +16,6 @@ import (
 	"github.com/prometheus/client_golang/prometheus"
 )
 
-var (
-	version = "dev"
-)
-
 var Command = service.Command(arvados.ServiceNameKeepweb, newHandlerOrErrorHandler)
 
 func newHandlerOrErrorHandler(ctx context.Context, cluster *arvados.Cluster, token string, reg *prometheus.Registry) service.Handler {

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list