Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitcb991bf

Browse files
mafredripull[bot]
authored andcommitted
fix: Improve closure of provisioner and agent tailnet dial (#6199)
1 parentdb16dc5 commitcb991bf

File tree

5 files changed

+17
-3
lines changed

5 files changed

+17
-3
lines changed

‎agent/apphealth_test.go‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ func TestAppHealth_NotSpamming(t *testing.T) {
158158
// Ensure we haven't made more than 2 (expected 1 + 1 for buffer) requests in the last second.
159159
// if there is a bug where we are spamming the healthcheck route this will catch it.
160160
time.Sleep(time.Second)
161-
require.LessOrEqual(t,*counter,int32(2))
161+
require.LessOrEqual(t,atomic.LoadInt32(counter),int32(2))
162162
}
163163

164164
funcsetupAppReporter(ctx context.Context,t*testing.T,apps []codersdk.WorkspaceApp,handlers []http.Handler) (agent.WorkspaceAgentApps,func()) {

‎coderd/coderdtest/coderdtest.go‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -396,13 +396,16 @@ func NewProvisionerDaemon(t *testing.T, coderAPI *coderd.API) io.Closer {
396396
funcNewExternalProvisionerDaemon(t*testing.T,client*codersdk.Client,org uuid.UUID,tagsmap[string]string) io.Closer {
397397
echoClient,echoServer:=provisionersdk.MemTransportPipe()
398398
ctx,cancelFunc:=context.WithCancel(context.Background())
399+
serveDone:=make(chanstruct{})
399400
t.Cleanup(func() {
400401
_=echoClient.Close()
401402
_=echoServer.Close()
402403
cancelFunc()
404+
<-serveDone
403405
})
404406
fs:=afero.NewMemMapFs()
405407
gofunc() {
408+
deferclose(serveDone)
406409
err:=echo.Serve(ctx,fs,&provisionersdk.ServeOptions{
407410
Listener:echoServer,
408411
})

‎coderd/workspaceagents.go‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -447,6 +447,8 @@ func (api *API) dialWorkspaceAgentTailnet(r *http.Request, agentID uuid.UUID) (*
447447
Logger:api.Logger.Named("tailnet"),
448448
})
449449
iferr!=nil {
450+
_=clientConn.Close()
451+
_=serverConn.Close()
450452
returnnil,xerrors.Errorf("create tailnet conn: %w",err)
451453
}
452454

‎provisionerd/provisionerd.go‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -520,5 +520,9 @@ func (p *Server) closeWithError(err error) error {
520520

521521
p.opts.Logger.Debug(context.Background(),"closing server with error",slog.Error(err))
522522

523+
ifc,ok:=p.clientValue.Load().(proto.DRPCProvisionerDaemonClient);ok {
524+
_=c.DRPCConn().Close()
525+
}
526+
523527
returnerr
524528
}

‎provisionerd/provisionerd_test.go‎

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1097,7 +1097,6 @@ func createProvisionerDaemonClient(t *testing.T, server provisionerDaemonTestSer
10971097
}()
10981098
t.Cleanup(func() {
10991099
cancelFunc()
1100-
_=serverPipe.Close()
11011100
<-closed
11021101
})
11031102
returnproto.NewDRPCProvisionerDaemonClient(clientPipe)
@@ -1117,10 +1116,15 @@ func createProvisionerClient(t *testing.T, server provisionerTestServer) sdkprot
11171116
require.NoError(t,err)
11181117
srv:=drpcserver.New(mux)
11191118
ctx,cancelFunc:=context.WithCancel(context.Background())
1120-
t.Cleanup(cancelFunc)
1119+
closed:=make(chanstruct{})
11211120
gofunc() {
1121+
deferclose(closed)
11221122
_=srv.Serve(ctx,serverPipe)
11231123
}()
1124+
t.Cleanup(func() {
1125+
cancelFunc()
1126+
<-closed
1127+
})
11241128
returnsdkproto.NewDRPCProvisionerClient(clientPipe)
11251129
}
11261130

@@ -1150,6 +1154,7 @@ type provisionerDaemonTestServer struct {
11501154
func (p*provisionerDaemonTestServer)AcquireJob(ctx context.Context,empty*proto.Empty) (*proto.AcquiredJob,error) {
11511155
returnp.acquireJob(ctx,empty)
11521156
}
1157+
11531158
func (p*provisionerDaemonTestServer)CommitQuota(ctx context.Context,com*proto.CommitQuotaRequest) (*proto.CommitQuotaResponse,error) {
11541159
ifp.commitQuota==nil {
11551160
return&proto.CommitQuotaResponse{

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp