Skip to content

Commit 7bfdd21

Browse files
go lint
Signed-off-by: LiZhenCheng9527 <[email protected]>
1 parent 158f43f commit 7bfdd21

File tree

3 files changed

+39
-36
lines changed

3 files changed

+39
-36
lines changed

pkg/dns/ads_handler.go

+7-11
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import (
2020
"net"
2121
"net/netip"
2222
"slices"
23-
"time"
2423

2524
clusterv3 "github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3"
2625
v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3"
@@ -88,8 +87,12 @@ func (adsResolver *AdsDnsResolver) refreshAdsDns() bool {
8887
return true
8988
}
9089
// adsResolver.DnsResolver.resolve(e)
91-
addres, ttl := adsResolver.DnsResolver.resolve(e)
92-
adsResolver.adsDnsResolve(e, addres, ttl)
90+
addresses, err := adsResolver.DnsResolver.resolve(e)
91+
if err != nil {
92+
log.Errorf("failed to dns resolve: %v", err)
93+
return false
94+
}
95+
adsResolver.adsDnsResolve(e, addresses)
9396
adsResolver.adsCache.ClusterCache.Flush()
9497
return true
9598
}
@@ -99,13 +102,7 @@ func (adsResolver *AdsDnsResolver) refreshAdsWorker() {
99102
}
100103
}
101104

102-
func (adsResolver *AdsDnsResolver) adsDnsResolve(domain *pendingResolveDomain, addrs []string, ttl time.Duration) {
103-
if ttl > domain.refreshRate {
104-
ttl = domain.refreshRate
105-
}
106-
if ttl == 0 {
107-
ttl = DeRefreshInterval
108-
}
105+
func (adsResolver *AdsDnsResolver) adsDnsResolve(domain *pendingResolveDomain, addrs []string) {
109106
for _, c := range domain.clusters {
110107
ready := overwriteDnsCluster(c, domain.domainName, addrs)
111108
if ready {
@@ -115,7 +112,6 @@ func (adsResolver *AdsDnsResolver) adsDnsResolve(domain *pendingResolveDomain, a
115112
}
116113
}
117114
}
118-
return
119115
}
120116

121117
func overwriteDnsCluster(cluster *clusterv3.Cluster, domain string, addrs []string) bool {

pkg/dns/dns.go

+11-5
Original file line numberDiff line numberDiff line change
@@ -100,20 +100,26 @@ func (r *DNSResolver) removeUnwatchedDomain(domains map[string]*pendingResolveDo
100100
}
101101

102102
// This functions were copied and adapted from github.com/istio/istio/pilot/pkg/model/network.go.
103-
func (r *DNSResolver) resolve(v *pendingResolveDomain) ([]string, time.Duration) {
103+
func (r *DNSResolver) resolve(v *pendingResolveDomain) ([]string, error) {
104104
r.RLock()
105105
entry := r.cache[v.domainName]
106106
// This can happen when the domain is deleted before the refresher tick reaches
107107
if entry == nil {
108108
r.RUnlock()
109-
return []string{}, time.Duration(0)
109+
return []string{}, fmt.Errorf("cache entry for domain %s not found", v.domainName)
110110
}
111111
r.RUnlock()
112112

113113
addrs, ttl, err := r.doResolve(v.domainName, v.refreshRate)
114114
if err != nil {
115-
log.Errorf("dns resolve failed: %v", err)
116-
return []string{}, time.Duration(0)
115+
return []string{}, fmt.Errorf("dns resolve failed: %v", err)
116+
}
117+
118+
if ttl > v.refreshRate {
119+
ttl = v.refreshRate
120+
}
121+
if ttl == 0 {
122+
ttl = DeRefreshInterval
117123
}
118124

119125
r.RLock()
@@ -122,7 +128,7 @@ func (r *DNSResolver) resolve(v *pendingResolveDomain) ([]string, time.Duration)
122128

123129
// push to refresh queue
124130
r.dnsRefreshQueue.AddAfter(v, ttl)
125-
return addrs, ttl
131+
return addrs, nil
126132
}
127133

128134
// resolveDomains takes a slice of cluster

pkg/dns/dns_test.go

+21-20
Original file line numberDiff line numberDiff line change
@@ -43,15 +43,6 @@ type fakeDNSServer struct {
4343
hosts map[string]int
4444
}
4545

46-
func (r *DNSResolver) GetDNSAddresses(domain string) []string {
47-
r.Lock()
48-
defer r.Unlock()
49-
if entry, ok := r.cache[domain]; ok {
50-
return entry.addresses
51-
}
52-
return nil
53-
}
54-
5546
func TestDNS(t *testing.T) {
5647
fakeDNSServer := newFakeDNSServer()
5748

@@ -63,7 +54,8 @@ func TestDNS(t *testing.T) {
6354
stopCh := make(chan struct{})
6455
defer close(stopCh)
6556
testDNSResolver.StartAdsDnsResolver(stopCh)
66-
testDNSResolver.DnsResolver.resolvConfServers = []string{fakeDNSServer.Server.PacketConn.LocalAddr().String()}
57+
dnsServer := fakeDNSServer.Server.PacketConn.LocalAddr().String()
58+
testDNSResolver.DnsResolver.resolvConfServers = []string{dnsServer}
6759

6860
testCases := []struct {
6961
name string
@@ -229,16 +221,6 @@ func (s *fakeDNSServer) ServeDNS(w dns.ResponseWriter, r *dns.Msg) {
229221
}
230222
}
231223

232-
func (r *DNSResolver) GetAllCachedDomains() []string {
233-
r.RLock()
234-
defer r.RUnlock()
235-
out := make([]string, 0, len(r.cache))
236-
for domain := range r.cache {
237-
out = append(out, domain)
238-
}
239-
return out
240-
}
241-
242224
func (s *fakeDNSServer) setHosts(domain string, surfix int) {
243225
s.mu.Lock()
244226
defer s.mu.Unlock()
@@ -251,6 +233,25 @@ func (s *fakeDNSServer) setTTL(ttl uint32) {
251233
s.ttl = ttl
252234
}
253235

236+
func (r *DNSResolver) GetAllCachedDomains() []string {
237+
r.RLock()
238+
defer r.RUnlock()
239+
out := make([]string, 0, len(r.cache))
240+
for domain := range r.cache {
241+
out = append(out, domain)
242+
}
243+
return out
244+
}
245+
246+
func (r *DNSResolver) GetDNSAddresses(domain string) []string {
247+
r.Lock()
248+
defer r.Unlock()
249+
if entry, ok := r.cache[domain]; ok {
250+
return entry.addresses
251+
}
252+
return nil
253+
}
254+
254255
func TestGetPendingResolveDomain(t *testing.T) {
255256
utCluster := clusterv3.Cluster{
256257
Name: "testCluster",

0 commit comments

Comments
 (0)