@cryptotaxi247 / netdata-1 / commits / e5b1e5a1e

fix(go.d): fix dyncfg vnodes configs (#21332)

Ilya Mashchenko committed Nov 21, 2025 at 16:09 UTC e5b1e5a1e1968099aa2b1a756620936857508b32
2 files changed +22 -10
src/go/plugin/go.d/agent/jobmgr/dyncfg.go
+20 -1
@@ -29,7 +29,13 @@ func (m *Manager) dyncfgConfig(fn functions.Function) {
29
30 //m.Infof("QQ FN: '%s'", fn)
31
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 {
39 case strings.HasPrefix(id, m.dyncfgCollectorPrefixValue()):
40 m.dyncfgCollectorExec(fn)
41 case strings.HasPrefix(id, m.dyncfgVnodePrefixValue()):
@@ -39,6 +45,19 @@ func (m *Manager) dyncfgConfig(fn functions.Function) {
45 }
46 }
47
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 +
61 func unmarshalPayload(dst any, fn functions.Function) error {
62 if v := reflect.ValueOf(dst); v.Kind() != reflect.Ptr || v.IsNil() {
63 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
+2 -9
@@ -161,7 +161,7 @@ func (m *Manager) run() {
161 case <-m.ctx.Done():
162 return
163 case fn := <-m.dyncfgCh:
164 - m.dyncfgCollectorSeqExec(fn)
164 + m.dyncfgSeqExec(fn)
165 }
166 } else {
167 select {
@@ -172,14 +172,7 @@ func (m *Manager) run() {
172 case cfg := <-m.rmCh:
173 m.removeConfig(cfg)
174 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)
176 }
177 }
178 }