Skip to content

Commit 6981901

Browse files
committed
Use protobuf functions and locks
1 parent 861a3a4 commit 6981901

File tree

2 files changed

+18
-10
lines changed

2 files changed

+18
-10
lines changed

internal/controller/nginx/agent/deployment.go

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -199,15 +199,21 @@ func (d *Deployment) SetFiles(files []File, volumeMounts []v1.VolumeMount) *broa
199199
fileOverviews = append(fileOverviews, &pb.File{FileMeta: file.Meta})
200200
}
201201

202-
volumeIgnoreFiles := make([]string, 0, len(d.latestFileNames))
203-
for _, f := range d.latestFileNames {
204-
for _, vm := range volumeMounts {
202+
// To avoid duplicates, use a set for volume ignore files
203+
volumeIgnoreSet := make(map[string]struct{}, len(d.latestFileNames))
204+
for _, vm := range volumeMounts {
205+
for _, f := range d.latestFileNames {
205206
if strings.HasPrefix(f, vm.MountPath) {
206-
volumeIgnoreFiles = append(volumeIgnoreFiles, f)
207+
volumeIgnoreSet[f] = struct{}{}
207208
}
208209
}
209210
}
210211

212+
volumeIgnoreFiles := make([]string, 0, len(volumeIgnoreSet))
213+
for f := range volumeIgnoreSet {
214+
volumeIgnoreFiles = append(volumeIgnoreFiles, f)
215+
}
216+
211217
// add ignored files to the overview as 'unmanaged' so agent doesn't touch them
212218
for _, f := range append(ignoreFiles, volumeIgnoreFiles...) {
213219
meta := &pb.FileMeta{

internal/controller/nginx/agent/file.go

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -202,15 +202,17 @@ func (fs *fileService) UpdateOverview(
202202
return &pb.UpdateOverviewResponse{}, status.Errorf(codes.NotFound, "deployment not found in store")
203203
}
204204

205-
if req != nil && req.Overview != nil && req.Overview.Files != nil {
206-
fileNames := make([]string, 0, len(req.Overview.Files))
207-
for _, f := range req.Overview.Files {
208-
fileNames = append(fileNames, f.FileMeta.GetName())
209-
}
205+
requestFiles := req.GetOverview().GetFiles()
210206

211-
deployment.latestFileNames = fileNames
207+
fileNames := make([]string, 0, len(requestFiles))
208+
for _, f := range requestFiles {
209+
fileNames = append(fileNames, f.GetFileMeta().GetName())
212210
}
213211

212+
deployment.FileLock.Lock()
213+
deployment.latestFileNames = fileNames
214+
deployment.FileLock.Unlock()
215+
214216
return &pb.UpdateOverviewResponse{}, nil
215217
}
216218

0 commit comments

Comments
 (0)