Commit 6c276c8
committed
app/vlagent: pre-fetch all namespaces at startup to avoid blocking log reading
This change improves performance and security by fetching all namespace
metadata once at application startup instead of making on-demand network
calls during log processing.
Key changes:
- Add getAllNamespaces() method to fetch all namespaces in a single API call
- Pre-fetch and cache all namespace metadata in startKubernetesCollector()
- Remove getNamespace() on-demand fetching to eliminate runtime network calls
- Change getNamespace() to cache-only lookup returning (namespace, bool)
- Skip pods from namespaces not in cache to prevent processing logs with
incomplete metadata that could bypass excludeFilter
Benefits:
- Eliminates network call latency during log reading (no blocking)
- Prevents vlagent from appearing hung during network issues
- Ensures excludeFilter has complete namespace labels/annotations for
security-sensitive filtering (e.g., audit logs)
- Simplifies code by removing timeout/retry logic
- Fail-fast: vlagent exits if unable to fetch namespaces at startup
Note: If a namespace is created after vlagent starts, pods in that namespace
will be skipped until vlagent is restarted. This is acceptable as it ensures
we never process logs without complete metadata.
Updates VictoriaMetrics#9491 parent a59fef5 commit 6c276c8
2 files changed
Lines changed: 53 additions & 48 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
293 | 293 | | |
294 | 294 | | |
295 | 295 | | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
296 | 327 | | |
297 | 328 | | |
298 | 329 | | |
| |||
351 | 382 | | |
352 | 383 | | |
353 | 384 | | |
354 | | - | |
355 | | - | |
356 | | - | |
357 | | - | |
358 | | - | |
359 | | - | |
360 | | - | |
361 | | - | |
362 | | - | |
363 | | - | |
364 | | - | |
365 | | - | |
366 | | - | |
367 | | - | |
368 | | - | |
369 | | - | |
370 | | - | |
371 | | - | |
372 | | - | |
373 | | - | |
374 | | - | |
375 | | - | |
376 | | - | |
377 | | - | |
378 | | - | |
379 | | - | |
380 | | - | |
381 | 385 | | |
382 | 386 | | |
383 | 387 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
69 | 78 | | |
70 | 79 | | |
71 | 80 | | |
| |||
176 | 185 | | |
177 | 186 | | |
178 | 187 | | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
179 | 193 | | |
180 | | - | |
181 | 194 | | |
182 | 195 | | |
183 | 196 | | |
| |||
273 | 286 | | |
274 | 287 | | |
275 | 288 | | |
276 | | - | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
277 | 296 | | |
278 | 297 | | |
279 | 298 | | |
280 | | - | |
281 | | - | |
282 | | - | |
283 | | - | |
284 | | - | |
285 | | - | |
286 | | - | |
287 | | - | |
288 | | - | |
289 | | - | |
290 | | - | |
291 | | - | |
292 | | - | |
293 | | - | |
294 | | - | |
295 | | - | |
296 | | - | |
297 | | - | |
298 | | - | |
| 299 | + | |
299 | 300 | | |
0 commit comments