diff --git a/agent/xds/routes.go b/agent/xds/routes.go index eb5a5e69b6..fd1a4ab9d4 100644 --- a/agent/xds/routes.go +++ b/agent/xds/routes.go @@ -270,8 +270,11 @@ func findIngressServiceMatchingUpstream(l structs.IngressListener, u structs.Ups return &s } if s.Name == structs.WildcardSpecifier && - s.NamespaceOrDefault() == wantSID.NamespaceOrDefault() { - foundSameNSWildcard = &s + s.NamespaceOrDefault() == wantSID.NamespaceOrDefault() && + s.PartitionOrDefault() == wantSID.PartitionOrDefault() { + // Make a copy so we don't take a reference to the loop variable + found := s + foundSameNSWildcard = &found } } // Didn't find an exact match. Return the wildcard from same service if we