Skip to content

Commit f439a5c

Browse files
authored
testserver: add locking for secret ACLs (#3587)
Fixes this: ``` fatal error: concurrent map writes goroutine 2662 [running]: internal/runtime/maps.fatal({0x102f562ed?, 0x103479c40?}) /Users/runner/go/pkg/mod/golang.org/[email protected]/src/runtime/panic.go:1058 +0x20 github.com/databricks/cli/libs/testserver.AddDefaultHandlers.func70({{0x14002c811a0, 0x4}, 0x14002356c60, 0x140020961b0, {0x14001842800, 0x50, 0x200}, 0x14002096300, 0x1400088e1a0, {0x103740b80, ...}}) /Users/runner/work/cli/cli/libs/testserver/handlers.go:489 +0x264 github.com/databricks/cli/libs/testserver.(*Server).Handle.func1({0x10373d1e0, 0x14000def500}, 0x14001e09540) /Users/runner/work/cli/cli/libs/testserver/server.go:276 +0x228 ``` https://github.com/databricks/cli/actions/runs/17618351931/job/50057421389?pr=3586
1 parent faebed1 commit f439a5c

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

libs/testserver/handlers.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -445,6 +445,8 @@ func AddDefaultHandlers(server *Server) {
445445
})
446446

447447
server.Handle("GET", "/api/2.0/secrets/acls/get", func(req Request) any {
448+
defer req.Workspace.LockUnlock()()
449+
448450
scope := req.URL.Query().Get("scope")
449451
principal := req.URL.Query().Get("principal")
450452
scopeAcls := req.Workspace.Acls[scope]
@@ -461,6 +463,8 @@ func AddDefaultHandlers(server *Server) {
461463
})
462464

463465
server.Handle("POST", "/api/2.0/secrets/acls/put", func(req Request) any {
466+
defer req.Workspace.LockUnlock()()
467+
464468
var request workspace.PutAcl
465469
if err := json.Unmarshal(req.Body, &request); err != nil {
466470
return Response{
@@ -476,6 +480,8 @@ func AddDefaultHandlers(server *Server) {
476480
})
477481

478482
server.Handle("POST", "/api/2.0/secrets/acls/delete", func(req Request) any {
483+
defer req.Workspace.LockUnlock()()
484+
479485
var request workspace.DeleteAcl
480486
if err := json.Unmarshal(req.Body, &request); err != nil {
481487
return Response{

0 commit comments

Comments
 (0)