@@ -43,8 +43,6 @@ type DNSResolver struct {
43
43
client * dns.Client
44
44
ResolvConfServers []string
45
45
Cache map [string ]* DomainCacheEntry
46
- // dns refresh priority queue based on exp
47
- // DnsRefreshQueue workqueue.TypedDelayingInterface[any]
48
46
sync.RWMutex
49
47
}
50
48
@@ -64,7 +62,6 @@ type PendingResolveDomain struct {
64
62
func NewDNSResolver () (* DNSResolver , error ) {
65
63
r := & DNSResolver {
66
64
Cache : map [string ]* DomainCacheEntry {},
67
- // DnsRefreshQueue: workqueue.NewTypedDelayingQueueWithConfig(workqueue.TypedDelayingQueueConfig[any]{Name: "dnsRefreshQueue"}),
68
65
client : & dns.Client {
69
66
DialTimeout : 5 * time .Second ,
70
67
ReadTimeout : 5 * time .Second ,
@@ -109,24 +106,14 @@ func (r *DNSResolver) Resolve(domainName string) ([]string, time.Duration, error
109
106
r .RUnlock ()
110
107
111
108
addrs , ttl , err := r .doResolve (domainName )
112
- fmt .Printf ("domain name is: %#v, address is: %#v, ttl is: %#v\n " , domainName , addrs , ttl )
113
109
if err != nil {
114
110
return []string {}, DeRefreshInterval , fmt .Errorf ("dns resolve failed: %v" , err )
115
111
}
116
112
117
- // if ttl > v.refreshRate {
118
- // ttl = v.refreshRate
119
- // }
120
- // if ttl == 0 {
121
- // ttl = DeRefreshInterval
122
- // }
123
-
124
113
r .RLock ()
125
114
entry .addresses = addrs
126
115
r .RUnlock ()
127
116
128
- // push to refresh queue
129
- // r.DnsRefreshQueue.AddAfter(domainName, ttl)
130
117
return addrs , ttl , nil
131
118
}
132
119
@@ -137,7 +124,6 @@ func (r *DNSResolver) ResolveDomains(domainName string) {
137
124
r .Cache [domainName ] = & DomainCacheEntry {}
138
125
}
139
126
r .Unlock ()
140
- // r.DnsRefreshQueue.AddAfter(domainName, 0)
141
127
}
142
128
143
129
// doResolve is copied and adapted from github.com/istio/istio/pilot/pkg/model/network.go.
@@ -240,44 +226,6 @@ func getMinTTL(m *dns.Msg, refreshRate time.Duration) time.Duration {
240
226
return minTTL
241
227
}
242
228
243
- // Get domain name and refreshrate from cluster, and also store cluster and port in the return addresses for later use
244
- // func getPendingResolveDomain(clusters []*clusterv3.Cluster) map[string]*pendingResolveDomain {
245
- // domains := make(map[string]*pendingResolveDomain)
246
-
247
- // for _, cluster := range clusters {
248
- // if cluster.LoadAssignment == nil {
249
- // continue
250
- // }
251
-
252
- // for _, e := range cluster.LoadAssignment.Endpoints {
253
- // for _, le := range e.LbEndpoints {
254
- // socketAddr, ok := le.GetEndpoint().GetAddress().GetAddress().(*v3.Address_SocketAddress)
255
- // if !ok {
256
- // continue
257
- // }
258
- // address := socketAddr.SocketAddress.Address
259
- // if _, err := netip.ParseAddr(address); err == nil {
260
- // // This is an ip address
261
- // continue
262
- // }
263
-
264
- // if v, ok := domains[address]; ok {
265
- // v.clusters = append(v.clusters, cluster)
266
- // } else {
267
- // domainWithRefreshRate := &pendingResolveDomain{
268
- // domainName: address,
269
- // clusters: []*clusterv3.Cluster{cluster},
270
- // refreshRate: cluster.GetDnsRefreshRate().AsDuration(),
271
- // }
272
- // domains[address] = domainWithRefreshRate
273
- // }
274
- // }
275
- // }
276
- // }
277
-
278
- // return domains
279
- // }
280
-
281
229
func (r * DNSResolver ) GetAllCachedDomains () []string {
282
230
r .RLock ()
283
231
defer r .RUnlock ()
0 commit comments