diff --git a/xds/internal/resolver/serviceconfig.go b/xds/internal/resolver/serviceconfig.go index bf1c53fc93b..9eaff52dbcc 100644 --- a/xds/internal/resolver/serviceconfig.go +++ b/xds/internal/resolver/serviceconfig.go @@ -255,6 +255,9 @@ func (cs *configSelector) generateHash(rpcInfo iresolver.RPCInfo, hashPolicies [ } func (cs *configSelector) newInterceptor(rt *route, cluster *routeCluster) (iresolver.ClientInterceptor, error) { + if len(cs.httpFilterConfig) == 0 { + return nil, nil + } interceptors := make([]iresolver.ClientInterceptor, 0, len(cs.httpFilterConfig)) for _, filter := range cs.httpFilterConfig { if router.IsRouterFilter(filter.Filter) { diff --git a/xds/internal/resolver/xds_resolver_test.go b/xds/internal/resolver/xds_resolver_test.go index 46229823580..9bce8ffe8bf 100644 --- a/xds/internal/resolver/xds_resolver_test.go +++ b/xds/internal/resolver/xds_resolver_test.go @@ -1197,11 +1197,6 @@ func (s) TestXDSResolverHTTPFilters(t *testing.T) { selectErr string newStreamErr string }{ - { - name: "empty filters", - ldsFilters: []xdsclient.HTTPFilter{}, - selectErr: "no router filter present", - }, { name: "no router filter", ldsFilters: []xdsclient.HTTPFilter{