20602: Disable queue when testing DumpRequests.
authorTom Clegg <tom@curii.com>
Thu, 8 Jun 2023 18:30:23 +0000 (14:30 -0400)
committerTom Clegg <tom@curii.com>
Thu, 8 Jun 2023 18:31:39 +0000 (14:31 -0400)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@curii.com>

lib/service/cmd.go
lib/service/cmd_test.go

index 026a01ecae8a38d1ab6369fdf654adc6c942eab3..37eac86d253f8324fdd4d029791e9fef8b1db755 100644 (file)
@@ -213,7 +213,7 @@ func (c *command) RunCommand(prog string, args []string, stdin io.Reader, stdout
 // JSON file in the specified directory.
 func (c *command) requestQueueDumpCheck(cluster *arvados.Cluster, prog string, reg *prometheus.Registry, srv *http.Server, logger logrus.FieldLogger) {
        outdir := cluster.SystemLogs.RequestQueueDumpDirectory
-       if outdir == "" || cluster.ManagementToken == "" {
+       if outdir == "" || cluster.ManagementToken == "" || cluster.API.MaxConcurrentRequests < 1 {
                return
        }
        logger = logger.WithField("worker", "RequestQueueDump")
index 5a7fbc0520801a8504a00f3a5b945484860247c3..97a6bd8a4c979cd26b39c4c2cd93c75e82dbcd13 100644 (file)
@@ -210,7 +210,9 @@ Clusters:
  zzzzz:
   SystemRootToken: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
   ManagementToken: bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
-  API: {MaxConcurrentRequests: %d}
+  API:
+   MaxConcurrentRequests: %d
+   MaxQueuedRequests: 0
   SystemLogs: {RequestQueueDumpDirectory: %q}
   Services:
    Controller:
@@ -268,15 +270,15 @@ Clusters:
                        panic("timed out")
                }
        }
-       for {
-               time.Sleep(time.Second / 100)
+       for delay := time.Second / 100; ; delay = delay * 2 {
+               time.Sleep(delay)
                j, err := os.ReadFile(tmpdir + "/arvados-controller-requests.json")
                if os.IsNotExist(err) && deadline.After(time.Now()) {
                        continue
                }
-               c.Check(err, check.IsNil)
-               c.Logf("%s", stderr.String())
-               c.Logf("%s", string(j))
+               c.Assert(err, check.IsNil)
+               c.Logf("stderr:\n%s", stderr.String())
+               c.Logf("json:\n%s", string(j))
 
                var loaded []struct{ URL string }
                err = json.Unmarshal(j, &loaded)