Skip to content
4 changes: 3 additions & 1 deletion internal/provider/kubernetes/controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -256,7 +256,9 @@ func isTransientError(err error) bool {
kerrors.IsServiceUnavailable(err) ||
kerrors.IsStoreReadError(err) ||
kerrors.IsInternalError(err) ||
kerrors.IsUnexpectedServerError(err)
kerrors.IsUnexpectedServerError(err) ||
errors.Is(err, context.Canceled) ||
errors.Is(err, context.DeadlineExceeded)
}

// Reconcile handles reconciling all resources in a single call. Any resource event should enqueue the
Expand Down
10 changes: 10 additions & 0 deletions internal/provider/kubernetes/controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1603,6 +1603,12 @@ func TestIsTransientError(t *testing.T) {
serviceUnavailableErr := kerrors.NewServiceUnavailable("service unavailable")
badRequestErr := kerrors.NewBadRequest("bad request")

// new test errors for context
canceledErr := context.Canceled
deadlineExceededErr := context.DeadlineExceeded
wrappedCanceledErr := fmt.Errorf("wrapped: %w", context.Canceled)
wrappedDeadlineExceededErr := fmt.Errorf("wrapped: %w", context.DeadlineExceeded)

testCases := []struct {
name string
err error
Expand All @@ -1614,6 +1620,10 @@ func TestIsTransientError(t *testing.T) {
{"ServiceUnavailable", serviceUnavailableErr, true},
{"BadRequest", badRequestErr, false},
{"NilError", nil, false},
{"ContextCanceled", canceledErr, true},
{"ContextDeadlineExceeded", deadlineExceededErr, true},
{"WrappedContextCanceled", wrappedCanceledErr, true},
{"WrappedContextDeadlineExceeded", wrappedDeadlineExceededErr, true},
}

for _, tc := range testCases {
Expand Down
5 changes: 2 additions & 3 deletions internal/provider/kubernetes/filters.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ func (r *gatewayAPIReconciler) getExtensionRefFilters(ctx context.Context) ([]un
uExtResourceList := &unstructured.UnstructuredList{}
uExtResourceList.SetGroupVersionKind(gvk)
if err := r.client.List(ctx, uExtResourceList); err != nil {
r.log.Info("no associated resources found for %s", gvk.String())
Comment thread
TomerJLevy marked this conversation as resolved.
Outdated
r.log.Info("no associated resources found", "GVK", gvk.String())
return nil, fmt.Errorf("failed to list %s: %w", gvk.String(), err)
Comment thread
zhaohuabing marked this conversation as resolved.
}

Expand Down Expand Up @@ -57,7 +57,7 @@ func (r *gatewayAPIReconciler) getExtensionBackendResources(ctx context.Context)
uExtResourceList := &unstructured.UnstructuredList{}
uExtResourceList.SetGroupVersionKind(gvk)
if err := r.client.List(ctx, uExtResourceList); err != nil {
r.log.Info("no associated backend resources found for %s", gvk.String())
Comment thread
TomerJLevy marked this conversation as resolved.
Outdated
r.log.Info("no associated backend resources found", "GVK", gvk.String())
return nil, fmt.Errorf("failed to list %s: %w", gvk.String(), err)
}

Expand Down Expand Up @@ -122,7 +122,6 @@ func (r *gatewayAPIReconciler) processRouteFilterConfigMapRef(
resourceMap.allAssociatedConfigMaps.Insert(utils.NamespacedName(configMap).String())
resourceTree.ConfigMaps = append(resourceTree.ConfigMaps, configMap)
r.log.Info("processing ConfigMap", "namespace", filter.Namespace, "name", string(filter.Spec.DirectResponse.Body.ValueRef.Name))

}
}
}
Expand Down
3 changes: 2 additions & 1 deletion release-notes/current.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,9 @@ new features: |

bug fixes: |
Fixed %ROUTE_KIND% operator to be lower-cased when used by clusterStatName in EnvoyProxy API.
Fixed maxAcceptPerSocketEvent being ignored in ClientTrafficPolicy
Fixed maxAcceptPerSocketEvent being ignored in ClientTrafficPolicy.
Fixed the topologyInjectorDisabled and the local cluster was not defined.
Fixed handling of context-related transient errors to prevent incorrect state reconciliation and unintended behavior.

# Enhancements that improve performance.
performance improvements: |
Expand Down