Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@ Main (unreleased)

- Schedule new path targets faster in `loki.source.file`. (@kalleep)


### Bugfixes

- Stop `loki.source.kubernetes` discarding log lines with duplicate timestamps. (@ciaranj)
Expand All @@ -66,6 +65,8 @@ Main (unreleased)

- `local.file_match` now publish targets faster whenever targets in arguments changes. (@kalleep)

- Fix `loki.source.podlogs` component to only register Kubernetes field index for `spec.nodeName` when node filtering is enabled, preventing "Index with name field:spec.nodeName does not exist" errors. (@QuentinBisson)

v1.11.2
-----------------

Expand Down
11 changes: 11 additions & 0 deletions internal/component/loki/source/podlogs/controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,17 @@ func (ctrl *controller) configureInformers(ctx context.Context, informers cache.
informerCtx, cancel := context.WithTimeout(ctx, informerSyncTimeout)
defer cancel()

// Register field index for spec.nodeName only if node filtering is enabled
if ctrl.reconciler.nodeFilterEnabled && ctrl.reconciler.getNodeFilterName() != "" {
if err := informers.IndexField(informerCtx, &corev1.Pod{}, "spec.nodeName", func(obj client.Object) []string {
pod := obj.(*corev1.Pod)
return []string{pod.Spec.NodeName}
}); err != nil {
return fmt.Errorf("failed to register field index for spec.nodeName: %w", err)
}
level.Debug(ctrl.log).Log("msg", "registered field index for spec.nodeName")
}

for _, ty := range types {
informer, err := informers.GetInformer(informerCtx, ty)
if err != nil {
Expand Down