[arvados] updated: 2.7.0-6549-g8a5db7b48c
git repository hosting
git at public.arvados.org
Mon May 6 15:07:56 UTC 2024
Summary of changes:
lib/controller/handler_test.go | 20 ++++++++++++++++++++
lib/controller/localdb/log_activity.go | 7 ++++++-
lib/controller/trash.go | 11 ++++++++++-
3 files changed, 36 insertions(+), 2 deletions(-)
via 8a5db7b48c1fb11423110490267fea17161f7674 (commit)
via 5fb720b670c3bd986898d7597e700cb12d1647ae (commit)
from f049ebcb40b5509413f73840ead3ef8893f9331b (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit 8a5db7b48c1fb11423110490267fea17161f7674
Author: Tom Clegg <tom at curii.com>
Date: Mon May 6 11:07:47 2024 -0400
21611: Fix test race by waiting for dblocks to be released.
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom at curii.com>
diff --git a/lib/controller/handler_test.go b/lib/controller/handler_test.go
index afc7ec93bf..ff1d43da41 100644
--- a/lib/controller/handler_test.go
+++ b/lib/controller/handler_test.go
@@ -20,6 +20,7 @@ import (
"testing"
"time"
+ "git.arvados.org/arvados.git/lib/controller/dblock"
"git.arvados.org/arvados.git/lib/controller/rpc"
"git.arvados.org/arvados.git/sdk/go/arvados"
"git.arvados.org/arvados.git/sdk/go/arvadostest"
@@ -65,6 +66,25 @@ func (s *HandlerSuite) SetUpTest(c *check.C) {
func (s *HandlerSuite) TearDownTest(c *check.C) {
s.cancel()
+
+ // Wait for dblocks to be released. Otherwise, a subsequent
+ // test might time out waiting to acquire them.
+ timeout := time.After(10 * time.Second)
+ for _, locker := range []*dblock.DBLocker{dblock.TrashSweep, dblock.ContainerLogSweep} {
+ ok := make(chan struct{})
+ go func() {
+ if locker.Lock(context.Background(), s.handler.dbConnector.GetDB) {
+ locker.Unlock()
+ }
+ close(ok)
+ }()
+ select {
+ case <-timeout:
+ c.Log("timed out waiting for dblocks")
+ c.Fail()
+ case <-ok:
+ }
+ }
}
func (s *HandlerSuite) TestConfigExport(c *check.C) {
diff --git a/lib/controller/trash.go b/lib/controller/trash.go
index d1a54b4238..662ea26751 100644
--- a/lib/controller/trash.go
+++ b/lib/controller/trash.go
@@ -25,7 +25,7 @@ func (h *Handler) periodicWorker(workerName string, interval time.Duration, lock
return
}
defer locker.Unlock()
- for time.Sleep(interval); ctx.Err() == nil; time.Sleep(interval) {
+ for ctxSleep(ctx, interval); ctx.Err() == nil; ctxSleep(ctx, interval) {
if !locker.Check() {
// context canceled
return
@@ -85,3 +85,12 @@ DELETE FROM logs
return nil
})
}
+
+// Sleep for the given duration, but return early if ctx cancels
+// before that.
+func ctxSleep(ctx context.Context, d time.Duration) {
+ select {
+ case <-ctx.Done():
+ case <-time.After(d):
+ }
+}
commit 5fb720b670c3bd986898d7597e700cb12d1647ae
Author: Tom Clegg <tom at curii.com>
Date: Mon May 6 10:45:39 2024 -0400
21611: Log "disabled by config" log message only once.
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom at curii.com>
diff --git a/lib/controller/localdb/log_activity.go b/lib/controller/localdb/log_activity.go
index 9c9660aec4..9f9674e08b 100644
--- a/lib/controller/localdb/log_activity.go
+++ b/lib/controller/localdb/log_activity.go
@@ -13,10 +13,15 @@ import (
"git.arvados.org/arvados.git/sdk/go/ctxlog"
)
+var loggedLogActivityDisabled = false
+
func (conn *Conn) logActivity(ctx context.Context) {
p := conn.cluster.Users.ActivityLoggingPeriod.Duration()
if p < 1 {
- ctxlog.FromContext(ctx).Debug("logActivity disabled by config")
+ if !loggedLogActivityDisabled {
+ ctxlog.FromContext(ctx).Debug("logActivity disabled by config")
+ loggedLogActivityDisabled = true
+ }
return
}
user, _, err := ctrlctx.CurrentAuth(ctx)
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list