X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/8051c3a14d40f0d410e4ddf54d89a084475d807e..5f42faf0818c229196b26535a0669eeb2bf27386:/services/ws/event_source.go diff --git a/services/ws/event_source.go b/services/ws/event_source.go index daf9a94cc1..9acfca50e4 100644 --- a/services/ws/event_source.go +++ b/services/ws/event_source.go @@ -1,3 +1,7 @@ +// Copyright (C) The Arvados Authors. All rights reserved. +// +// SPDX-License-Identifier: AGPL-3.0 + package main import ( @@ -239,11 +243,13 @@ func (ps *pgEventSource) NewSink() eventSink { } func (ps *pgEventSource) DB() *sql.DB { + ps.WaitReady() return ps.db } func (ps *pgEventSource) DBHealth() error { - ctx, _ := context.WithDeadline(context.Background(), time.Now().Add(time.Second)) + ctx, cancel := context.WithDeadline(context.Background(), time.Now().Add(time.Second)) + defer cancel() var i int return ps.db.QueryRowContext(ctx, "SELECT 1").Scan(&i) } @@ -282,7 +288,7 @@ func (sink *pgEventSink) Stop() { // Ensure this sink cannot fill up and block the // server-side queue (which otherwise could in turn // block our mtx.Lock() here) - for _ = range sink.channel { + for range sink.channel { } }() sink.source.mtx.Lock()