Skip to content

Commit e5b1e5a

Browse files
authored
fix(go.d): fix dyncfg vnodes configs (netdata#21332)
1 parent 74623ba commit e5b1e5a

File tree

2 files changed

+22
-10
lines changed

2 files changed

+22
-10
lines changed

src/go/plugin/go.d/agent/jobmgr/dyncfg.go

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,13 @@ func (m *Manager) dyncfgConfig(fn functions.Function) {
2929

3030
//m.Infof("QQ FN: '%s'", fn)
3131

32-
switch id := fn.Args[0]; true {
32+
m.dyncfgQueuedExec(fn)
33+
}
34+
35+
func (m *Manager) dyncfgQueuedExec(fn functions.Function) {
36+
id := fn.Args[0]
37+
38+
switch {
3339
case strings.HasPrefix(id, m.dyncfgCollectorPrefixValue()):
3440
m.dyncfgCollectorExec(fn)
3541
case strings.HasPrefix(id, m.dyncfgVnodePrefixValue()):
@@ -39,6 +45,19 @@ func (m *Manager) dyncfgConfig(fn functions.Function) {
3945
}
4046
}
4147

48+
func (m *Manager) dyncfgSeqExec(fn functions.Function) {
49+
id := fn.Args[0]
50+
51+
switch {
52+
case strings.HasPrefix(id, m.dyncfgCollectorPrefixValue()):
53+
m.dyncfgCollectorSeqExec(fn)
54+
case strings.HasPrefix(id, m.dyncfgVnodePrefixValue()):
55+
m.dyncfgVnodeSeqExec(fn)
56+
default:
57+
m.dyncfgApi.SendCodef(fn, 503, "unknown function '%s' (%s).", fn.Name, id)
58+
}
59+
}
60+
4261
func unmarshalPayload(dst any, fn functions.Function) error {
4362
if v := reflect.ValueOf(dst); v.Kind() != reflect.Ptr || v.IsNil() {
4463
return fmt.Errorf("invalid config: expected a pointer to a struct, got a %s", v.Type())

src/go/plugin/go.d/agent/jobmgr/manager.go

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ func (m *Manager) run() {
161161
case <-m.ctx.Done():
162162
return
163163
case fn := <-m.dyncfgCh:
164-
m.dyncfgCollectorSeqExec(fn)
164+
m.dyncfgSeqExec(fn)
165165
}
166166
} else {
167167
select {
@@ -172,14 +172,7 @@ func (m *Manager) run() {
172172
case cfg := <-m.rmCh:
173173
m.removeConfig(cfg)
174174
case fn := <-m.dyncfgCh:
175-
switch id := fn.Args[0]; true {
176-
case strings.HasPrefix(id, m.dyncfgCollectorPrefixValue()):
177-
m.dyncfgCollectorSeqExec(fn)
178-
case strings.HasPrefix(id, m.dyncfgVnodePrefixValue()):
179-
m.dyncfgVnodeSeqExec(fn)
180-
default:
181-
m.dyncfgApi.SendCodef(fn, 503, "unknown function '%s' (%s).", fn.Name, id)
182-
}
175+
m.dyncfgSeqExec(fn)
183176
}
184177
}
185178
}

0 commit comments

Comments
 (0)