The async creation that is used by add_kubernetes_metadata:
|
// complete processor's initialisation asynchronously to re-try on failing k8s client initialisations in case |
|
// the k8s node is not yet ready. |
|
go processor.init(config, cfg) |
can lead to instances where some events are processed by the Run method:
|
func (k *kubernetesAnnotator) Run(event *beat.Event) (*beat.Event, error) { |
|
if !k.kubernetesAvailable { |
|
return event, nil |
|
} |
before processor.init finishes so that the internal kubernetesAvailable var is still false.
This results in events that are processed without k8s metadata being attached.
The async creation that is used by add_kubernetes_metadata:
beats/libbeat/processors/add_kubernetes_metadata/kubernetes.go
Lines 121 to 123 in 9702d0a
can lead to instances where some events are processed by the Run method:
beats/libbeat/processors/add_kubernetes_metadata/kubernetes.go
Lines 335 to 338 in 9702d0a
before
processor.initfinishes so that the internalkubernetesAvailablevar is still false.This results in events that are processed without k8s metadata being attached.