apache / apisix

The Cloud-Native API Gateway
https://apisix.apache.org/blog/
Apache License 2.0
14.34k stars 2.5k forks source link

bug: dns_client reslove error #10896

Open ShenFeng312 opened 8 months ago

ShenFeng312 commented 8 months ago

Current Behavior

DNS client has removed all results from the DNS server that are either of a different type or have a different name.

Expected Behavior

DNS client should not remove them

Error Logs

you can get log use client.lua.

2024/01/25 18:08:35 [warn] 32#32: *13313 [lua] client.lua:1132: resolve(): [dns-client] resolve qname:www.baidu.comopts:nulltry_listnull, client: 127.0.0.1, server: _, request: "GET /proout HTTP/1.1", host: "localhost:9080"
2024/01/25 18:08:35 [warn] 32#32: *13313 [lua] client.lua:1154: resolve(): [dns-client] from cache try_name:www.baidu.comqtype:nil records:null, client: 127.0.0.1, server: _, request: "GET /proout HTTP/1.1", host: "localhost:9080"
2024/01/25 18:08:35 [warn] 32#32: *13314 [lua] client.lua:642: parseAnswer(): [dns-client] parseAnswer qname:www.baidu.com.jck-namespace-50714.svc.cluster.localqtype1, context: ngx.timer, client: 127.0.0.1, server: 0.0.0.0:9080
2024/01/25 18:08:35 [warn] 32#32: *13314 [lua] client.lua:672: parseAnswer(): [dns-client] remove{"class":1,"section":1,"ttl":10,"address":"220.181.38.150","type":1,"name":"www.a.shifen.com"}, context: ngx.timer, client: 127.0.0.1, server: 0.0.0.0:9080
2024/01/25 18:08:35 [warn] 32#32: *13314 [lua] client.lua:672: parseAnswer(): [dns-client] remove{"class":1,"section":1,"ttl":10,"address":"220.181.38.149","type":1,"name":"www.a.shifen.com"}, context: ngx.timer, client: 127.0.0.1, server: 0.0.0.0:9080
2024/01/25 18:08:35 [warn] 32#32: *13314 [lua] client.lua:672: parseAnswer(): [dns-client] remove{"class":1,"section":1,"cname":"www.a.shifen.com","ttl":10,"type":5,"name":"www.baidu.com"}, context: ngx.timer, client: 127.0.0.1, server: 0.0.0.0:9080
2024/01/25 18:08:35 [warn] 32#32: *13314 [lua] client.lua:672: parseAnswer(): [dns-client] remove{"class":1,"section":1,"cname":"www.baidu.com","ttl":10,"type":5,"name":"www.baidu.com.jck-namespace-50714.svc.cluster.local"}, context: ngx.timer, client: 127.0.0.1, server: 0.0.0.0:9080

Steps to Reproduce

  1. use defaut apisix config and use search list in resolv.conf
  2. upsteam config with www.baidu.com
  3. use client.lua

    Environment

ShenFeng312 commented 8 months ago

@shreemaan-abhishek new issue opened here

shreemaan-abhishek commented 8 months ago

your commit in client.lua has a lot of changes, can you remove the unnecessary ones?

ShenFeng312 commented 7 months ago

@shreemaan-abhishek hello,I updated the client.lua and mock the data with www.baidu.com. u can use this file to reproduce this bug

ShenFeng312 commented 7 months ago

@shreemaan-abhishek hello

ShenFeng312 commented 7 months ago

Hello, when are we going to review this? @shreemaan-abhishek

shreemaan-abhishek commented 7 months ago

hi @ShenFeng312 I am really busy these days, I hope to review this soon.

bzp2010 commented 2 months ago

I'm a little confused as to what error this leads to? DNS clients not working in Kubernetes containers with DNS search? 🤔

ShenFeng312 commented 2 months ago

I'm a little confused as to what error this leads to? DNS clients not working in Kubernetes containers with DNS search? 🤔

Yes, in fact, when the type or domain name returned by the DNS server does not meet expectations, the DNS client cannot perform resolution. However, when using nslookup or curl, DNS works normally. @bzp2010

bzp2010 commented 2 months ago

@ShenFeng312 I don't know what your DNS server is returning to cause the incorrect resolving behavior.

It would be nice if you can provide a full log snippet like this (error log level needs to be set to info):

[lua] client.lua:1133: resolve(): resolve www.baidu.com nil null null null, client: 127.0.0.1, server: _, request: "GET /test HTTP/1.1", host: "127.0.0.1:9081"
[lua] client.lua:642: parseAnswer(): parseAnswer www.baidu.com.test.svc.cluster.local 1 {"errcode":3,"errstr":"name error"} {"1":{"qname":"(short)www.baidu.com","msg":["cache-miss"]},"2":{"qtype":1,"qname":"www.baidu.com.test.svc.cluster.local","msg":["cache-miss","scheduled","querying"]},"(short)www.baidu.com:nil":1,"www.baidu.com.test.svc.cluster.local:1":2}, context: ngx.timer, client: 127.0.0.1, server: 0.0.0.0:9081
[lua] client.lua:642: parseAnswer(): parseAnswer www.baidu.com.svc.cluster.local 1 {"errcode":3,"errstr":"name error"} {"1":{"qname":"(short)www.baidu.com","msg":["cache-miss"]},"2":{"qtype":1,"qname":"www.baidu.com.test.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"3":{"qtype":1,"qname":"www.baidu.com.svc.cluster.local","msg":["cache-miss","scheduled","querying"]},"(short)www.baidu.com:nil":1,"www.baidu.com.svc.cluster.local:1":3,"www.baidu.com.test.svc.cluster.local:1":2}, context: ngx.timer, client: 127.0.0.1, server: 0.0.0.0:9081
[lua] client.lua:642: parseAnswer(): parseAnswer www.baidu.com.cluster.local 1 {"errcode":3,"errstr":"name error"} {"1":{"qname":"(short)www.baidu.com","msg":["cache-miss"]},"2":{"qtype":1,"qname":"www.baidu.com.test.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"3":{"qtype":1,"qname":"www.baidu.com.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"4":{"qtype":1,"qname":"www.baidu.com.cluster.local","msg":["cache-miss","scheduled","querying"]},"(short)www.baidu.com:nil":1,"www.baidu.com.cluster.local:1":4,"www.baidu.com.svc.cluster.local:1":3,"www.baidu.com.test.svc.cluster.local:1":2}, context: ngx.timer, client: 127.0.0.1, server: 0.0.0.0:9081
[lua] client.lua:642: parseAnswer(): parseAnswer www.baidu.com 1 [{"section":1,"cname":"www.a.shifen.com","ttl":1186,"class":1,"type":5,"name":"www.baidu.com"},{"section":1,"cname":"www.wshifen.com","ttl":16,"class":1,"type":5,"name":"www.a.shifen.com"},{"section":1,"ttl":286,"address":"103.235.46.96","class":1,"type":1,"name":"www.wshifen.com"},{"section":1,"ttl":286,"address":"103.235.47.188","class":1,"type":1,"name":"www.wshifen.com"}] {"1":{"qname":"(short)www.baidu.com","msg":["cache-miss"]},"2":{"qtype":1,"qname":"www.baidu.com.test.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"3":{"qtype":1,"qname":"www.baidu.com.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"4":{"qtype":1,"qname":"www.baidu.com.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"5":{"qtype":1,"qname":"www.baidu.com","msg":["cache-miss","scheduled","querying"]},"www.baidu.com.test.svc.cluster.local:1":2,"(short)www.baidu.com:nil":1,"www.baidu.com.cluster.local:1":4,"www.baidu.com:1":5,"www.baidu.com.svc.cluster.local:1":3}, context: ngx.timer, client: 127.0.0.1, server: 0.0.0.0:9081
[lua] client.lua:642: parseAnswer(): parseAnswer www.baidu.com.test.svc.cluster.local 5 {"errcode":3,"errstr":"name error"} {"1":{"qname":"(short)www.baidu.com","msg":["cache-miss"]},"2":{"qtype":1,"qname":"www.baidu.com.test.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"3":{"qtype":1,"qname":"www.baidu.com.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"4":{"qtype":1,"qname":"www.baidu.com.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"5":{"qtype":1,"qname":"www.baidu.com","msg":["cache-miss","scheduled","querying","1:www.wshifen.com removed","1:www.wshifen.com removed","5:www.a.shifen.com removed","5:www.baidu.com removed","dns client error: 101 empty record received"]},"6":{"qtype":5,"qname":"www.baidu.com.test.svc.cluster.local","msg":["cache-miss","scheduled","querying"]},"www.baidu.com.test.svc.cluster.local:1":2,"www.baidu.com.test.svc.cluster.local:5":6,"(short)www.baidu.com:nil":1,"www.baidu.com.cluster.local:1":4,"www.baidu.com:1":5,"www.baidu.com.svc.cluster.local:1":3}, context: ngx.timer, client: 127.0.0.1, server: 0.0.0.0:9081
[lua] client.lua:642: parseAnswer(): parseAnswer www.baidu.com.svc.cluster.local 5 {"errcode":3,"errstr":"name error"} {"1":{"qname":"(short)www.baidu.com","msg":["cache-miss"]},"2":{"qtype":1,"qname":"www.baidu.com.test.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"3":{"qtype":1,"qname":"www.baidu.com.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"4":{"qtype":1,"qname":"www.baidu.com.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"5":{"qtype":1,"qname":"www.baidu.com","msg":["cache-miss","scheduled","querying","1:www.wshifen.com removed","1:www.wshifen.com removed","5:www.a.shifen.com removed","5:www.baidu.com removed","dns client error: 101 empty record received"]},"6":{"qtype":5,"qname":"www.baidu.com.test.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"7":{"qtype":5,"qname":"www.baidu.com.svc.cluster.local","msg":["cache-miss","scheduled","querying"]},"www.baidu.com.test.svc.cluster.local:1":2,"www.baidu.com.svc.cluster.local:5":7,"www.baidu.com.test.svc.cluster.local:5":6,"(short)www.baidu.com:nil":1,"www.baidu.com.cluster.local:1":4,"www.baidu.com:1":5,"www.baidu.com.svc.cluster.local:1":3}, context: ngx.timer, client: 127.0.0.1, server: 0.0.0.0:9081
[lua] client.lua:642: parseAnswer(): parseAnswer www.baidu.com.cluster.local 5 {"errcode":3,"errstr":"name error"} {"1":{"qname":"(short)www.baidu.com","msg":["cache-miss"]},"2":{"qtype":1,"qname":"www.baidu.com.test.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"3":{"qtype":1,"qname":"www.baidu.com.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"4":{"qtype":1,"qname":"www.baidu.com.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"5":{"qtype":1,"qname":"www.baidu.com","msg":["cache-miss","scheduled","querying","1:www.wshifen.com removed","1:www.wshifen.com removed","5:www.a.shifen.com removed","5:www.baidu.com removed","dns client error: 101 empty record received"]},"6":{"qtype":5,"qname":"www.baidu.com.test.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"7":{"qtype":5,"qname":"www.baidu.com.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"8":{"qtype":5,"qname":"www.baidu.com.cluster.local","msg":["cache-miss","scheduled","querying"]},"www.baidu.com.test.svc.cluster.local:1":2,"www.baidu.com.svc.cluster.local:1":3,"www.baidu.com.svc.cluster.local:5":7,"www.baidu.com.test.svc.cluster.local:5":6,"(short)www.baidu.com:nil":1,"www.baidu.com.cluster.local:1":4,"www.baidu.com:1":5,"www.baidu.com.cluster.local:5":8}, context: ngx.timer, client: 127.0.0.1, server: 0.0.0.0:9081
[lua] client.lua:1133: resolve(): resolve www.a.shifen.com nil {"additional_section":true} null {"1":{"qname":"(short)www.baidu.com","msg":["cache-miss"]},"2":{"qtype":1,"qname":"www.baidu.com.test.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"3":{"qtype":1,"qname":"www.baidu.com.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"4":{"qtype":1,"qname":"www.baidu.com.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"5":{"qtype":1,"qname":"www.baidu.com","msg":["cache-miss","scheduled","querying","1:www.wshifen.com removed","1:www.wshifen.com removed","5:www.a.shifen.com removed","5:www.baidu.com removed","dns client error: 101 empty record received"]},"6":{"qtype":5,"qname":"www.baidu.com.test.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"7":{"qtype":5,"qname":"www.baidu.com.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"8":{"qtype":5,"qname":"www.baidu.com.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"9":{"qtype":5,"qname":"www.baidu.com","msg":["cache-hit1","dereferencing"]},"www.baidu.com.svc.cluster.local:5":7,"(short)www.baidu.com:nil":1,"www.baidu.com:1":5,"www.baidu.com.cluster.local:5":8,"www.baidu.com.test.svc.cluster.local:1":2,"www.baidu.com:5":9,"www.baidu.com.test.svc.cluster.local:5":6,"www.baidu.com.cluster.local:1":4,"www.baidu.com.svc.cluster.local:1":3}, client: 127.0.0.1, server: _, request: "GET /test HTTP/1.1", host: "127.0.0.1:9081"
[lua] client.lua:642: parseAnswer(): parseAnswer www.a.shifen.com.test.svc.cluster.local 5 {"errcode":3,"errstr":"name error"} {"1":{"qname":"(short)www.baidu.com","msg":["cache-miss"]},"2":{"qtype":1,"qname":"www.baidu.com.test.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"3":{"qtype":1,"qname":"www.baidu.com.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"4":{"qtype":1,"qname":"www.baidu.com.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"5":{"qtype":1,"qname":"www.baidu.com","msg":["cache-miss","scheduled","querying","1:www.wshifen.com removed","1:www.wshifen.com removed","5:www.a.shifen.com removed","5:www.baidu.com removed","dns client error: 101 empty record received"]},"6":{"qtype":5,"qname":"www.baidu.com.test.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"7":{"qtype":5,"qname":"www.baidu.com.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"8":{"qtype":5,"qname":"www.baidu.com.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"9":{"qtype":5,"qname":"www.baidu.com","msg":["cache-hit1","dereferencing"]},"10":{"qname":"(short)www.a.shifen.com","msg":["cache-miss"]},"11":{"qtype":5,"qname":"www.a.shifen.com.test.svc.cluster.local","msg":["cache-miss","scheduled","querying"]},"(short)www.a.shifen.com:nil":10,"www.baidu.com.svc.cluster.local:5":7,"(short)www.baidu.com:nil":1,"www.a.shifen.com.test.svc.cluster.local:5":11,"www.baidu.com:1":5,"www.baidu.com.cluster.local:5":8,"www.baidu.com.test.svc.cluster.local:1":2,"www.baidu.com:5":9,"www.baidu.com.test.svc.cluster.local:5":6,"www.baidu.com.cluster.local:1":4,"www.baidu.com.svc.cluster.local:1":3}, context: ngx.timer, client: 127.0.0.1, server: 0.0.0.0:9081
[lua] client.lua:642: parseAnswer(): parseAnswer www.a.shifen.com.svc.cluster.local 5 {"errcode":3,"errstr":"name error"} {"1":{"qname":"(short)www.baidu.com","msg":["cache-miss"]},"2":{"qtype":1,"qname":"www.baidu.com.test.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"3":{"qtype":1,"qname":"www.baidu.com.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"4":{"qtype":1,"qname":"www.baidu.com.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"5":{"qtype":1,"qname":"www.baidu.com","msg":["cache-miss","scheduled","querying","1:www.wshifen.com removed","1:www.wshifen.com removed","5:www.a.shifen.com removed","5:www.baidu.com removed","dns client error: 101 empty record received"]},"6":{"qtype":5,"qname":"www.baidu.com.test.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"7":{"qtype":5,"qname":"www.baidu.com.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"8":{"qtype":5,"qname":"www.baidu.com.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"9":{"qtype":5,"qname":"www.baidu.com","msg":["cache-hit1","dereferencing"]},"10":{"qname":"(short)www.a.shifen.com","msg":["cache-miss"]},"11":{"qtype":5,"qname":"www.a.shifen.com.test.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"12":{"qtype":5,"qname":"www.a.shifen.com.svc.cluster.local","msg":["cache-miss","scheduled","querying"]},"(short)www.a.shifen.com:nil":10,"www.baidu.com.svc.cluster.local:5":7,"(short)www.baidu.com:nil":1,"www.a.shifen.com.test.svc.cluster.local:5":11,"www.baidu.com:1":5,"www.baidu.com.cluster.local:5":8,"www.baidu.com.test.svc.cluster.local:1":2,"www.baidu.com:5":9,"www.baidu.com.test.svc.cluster.local:5":6,"www.baidu.com.cluster.local:1":4,"www.baidu.com.svc.cluster.local:1":3,"www.a.shifen.com.svc.cluster.local:5":12}, context: ngx.timer, client: 127.0.0.1, server: 0.0.0.0:9081
[lua] client.lua:642: parseAnswer(): parseAnswer www.a.shifen.com.cluster.local 5 {"errcode":3,"errstr":"name error"} {"1":{"qname":"(short)www.baidu.com","msg":["cache-miss"]},"2":{"qtype":1,"qname":"www.baidu.com.test.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"3":{"qtype":1,"qname":"www.baidu.com.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"4":{"qtype":1,"qname":"www.baidu.com.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"5":{"qtype":1,"qname":"www.baidu.com","msg":["cache-miss","scheduled","querying","1:www.wshifen.com removed","1:www.wshifen.com removed","5:www.a.shifen.com removed","5:www.baidu.com removed","dns client error: 101 empty record received"]},"6":{"qtype":5,"qname":"www.baidu.com.test.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"7":{"qtype":5,"qname":"www.baidu.com.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"8":{"qtype":5,"qname":"www.baidu.com.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"9":{"qtype":5,"qname":"www.baidu.com","msg":["cache-hit1","dereferencing"]},"10":{"qname":"(short)www.a.shifen.com","msg":["cache-miss"]},"11":{"qtype":5,"qname":"www.a.shifen.com.test.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"12":{"qtype":5,"qname":"www.a.shifen.com.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"13":{"qtype":5,"qname":"www.a.shifen.com.cluster.local","msg":["cache-miss","scheduled","querying"]},"(short)www.a.shifen.com:nil":10,"www.baidu.com.svc.cluster.local:5":7,"(short)www.baidu.com:nil":1,"www.a.shifen.com.test.svc.cluster.local:5":11,"www.baidu.com:1":5,"www.baidu.com.cluster.local:5":8,"www.baidu.com.test.svc.cluster.local:1":2,"www.baidu.com:5":9,"www.baidu.com.test.svc.cluster.local:5":6,"www.a.shifen.com.cluster.local:5":13,"www.baidu.com.cluster.local:1":4,"www.baidu.com.svc.cluster.local:1":3,"www.a.shifen.com.svc.cluster.local:5":12}, context: ngx.timer, client: 127.0.0.1, server: 0.0.0.0:9081
[lua] client.lua:1133: resolve(): resolve www.wshifen.com nil {"additional_section":true} null {"1":{"qname":"(short)www.baidu.com","msg":["cache-miss"]},"2":{"qtype":1,"qname":"www.baidu.com.test.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"3":{"qtype":1,"qname":"www.baidu.com.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"4":{"qtype":1,"qname":"www.baidu.com.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"5":{"qtype":1,"qname":"www.baidu.com","msg":["cache-miss","scheduled","querying","1:www.wshifen.com removed","1:www.wshifen.com removed","5:www.a.shifen.com removed","5:www.baidu.com removed","dns client error: 101 empty record received"]},"6":{"qtype":5,"qname":"www.baidu.com.test.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"7":{"qtype":5,"qname":"www.baidu.com.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"8":{"qtype":5,"qname":"www.baidu.com.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"9":{"qtype":5,"qname":"www.baidu.com","msg":["cache-hit1","dereferencing"]},"10":{"qname":"(short)www.a.shifen.com","msg":["cache-miss"]},"11":{"qtype":5,"qname":"www.a.shifen.com.test.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"12":{"qtype":5,"qname":"www.a.shifen.com.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"13":{"qtype":5,"qname":"www.a.shifen.com.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"14":{"qtype":5,"qname":"www.a.shifen.com","msg":["cache-hit1","dereferencing"]},"(short)www.a.shifen.com:nil":10,"www.baidu.com.svc.cluster.local:5":7,"www.a.shifen.com:5":14,"(short)www.baidu.com:nil":1,"www.a.shifen.com.test.svc.cluster.local:5":11,"www.baidu.com:1":5,"www.baidu.com.cluster.local:5":8,"www.baidu.com.test.svc.cluster.local:1":2,"www.baidu.com:5":9,"www.baidu.com.test.svc.cluster.local:5":6,"www.a.shifen.com.cluster.local:5":13,"www.baidu.com.cluster.local:1":4,"www.baidu.com.svc.cluster.local:1":3,"www.a.shifen.com.svc.cluster.local:5":12}, client: 127.0.0.1, server: _, request: "GET /test HTTP/1.1", host: "127.0.0.1:9081"
[lua] client.lua:642: parseAnswer(): parseAnswer www.wshifen.com.test.svc.cluster.local 1 {"errcode":3,"errstr":"name error"} {"1":{"qname":"(short)www.baidu.com","msg":["cache-miss"]},"2":{"qtype":1,"qname":"www.baidu.com.test.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"3":{"qtype":1,"qname":"www.baidu.com.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"4":{"qtype":1,"qname":"www.baidu.com.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"5":{"qtype":1,"qname":"www.baidu.com","msg":["cache-miss","scheduled","querying","1:www.wshifen.com removed","1:www.wshifen.com removed","5:www.a.shifen.com removed","5:www.baidu.com removed","dns client error: 101 empty record received"]},"6":{"qtype":5,"qname":"www.baidu.com.test.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"7":{"qtype":5,"qname":"www.baidu.com.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"8":{"qtype":5,"qname":"www.baidu.com.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"9":{"qtype":5,"qname":"www.baidu.com","msg":["cache-hit1","dereferencing"]},"10":{"qname":"(short)www.a.shifen.com","msg":["cache-miss"]},"11":{"qtype":5,"qname":"www.a.shifen.com.test.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"12":{"qtype":5,"qname":"www.a.shifen.com.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"13":{"qtype":5,"qname":"www.a.shifen.com.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"14":{"qtype":5,"qname":"www.a.shifen.com","msg":["cache-hit1","dereferencing"]},"15":{"qname":"(short)www.wshifen.com","msg":["cache-miss"]},"16":{"qtype":1,"qname":"www.wshifen.com.test.svc.cluster.local","msg":["cache-miss","scheduled","querying"]},"www.wshifen.com.test.svc.cluster.local:1":16,"(short)www.a.shifen.com:nil":10,"www.baidu.com.svc.cluster.local:5":7,"www.a.shifen.com:5":14,"(short)www.baidu.com:nil":1,"www.a.shifen.com.test.svc.cluster.local:5":11,"www.baidu.com:1":5,"www.baidu.com.cluster.local:5":8,"www.baidu.com.test.svc.cluster.local:1":2,"(short)www.wshifen.com:nil":15,"www.baidu.com:5":9,"www.baidu.com.test.svc.cluster.local:5":6,"www.a.shifen.com.cluster.local:5":13,"www.baidu.com.cluster.local:1":4,"www.baidu.com.svc.cluster.local:1":3,"www.a.shifen.com.svc.cluster.local:5":12}, context: ngx.timer, client: 127.0.0.1, server: 0.0.0.0:9081
[lua] client.lua:642: parseAnswer(): parseAnswer www.wshifen.com.svc.cluster.local 1 {"errcode":3,"errstr":"name error"} {"1":{"qname":"(short)www.baidu.com","msg":["cache-miss"]},"2":{"qtype":1,"qname":"www.baidu.com.test.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"3":{"qtype":1,"qname":"www.baidu.com.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"4":{"qtype":1,"qname":"www.baidu.com.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"5":{"qtype":1,"qname":"www.baidu.com","msg":["cache-miss","scheduled","querying","1:www.wshifen.com removed","1:www.wshifen.com removed","5:www.a.shifen.com removed","5:www.baidu.com removed","dns client error: 101 empty record received"]},"6":{"qtype":5,"qname":"www.baidu.com.test.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"7":{"qtype":5,"qname":"www.baidu.com.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"8":{"qtype":5,"qname":"www.baidu.com.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"9":{"qtype":5,"qname":"www.baidu.com","msg":["cache-hit1","dereferencing"]},"10":{"qname":"(short)www.a.shifen.com","msg":["cache-miss"]},"11":{"qtype":5,"qname":"www.a.shifen.com.test.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"12":{"qtype":5,"qname":"www.a.shifen.com.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"13":{"qtype":5,"qname":"www.a.shifen.com.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"14":{"qtype":5,"qname":"www.a.shifen.com","msg":["cache-hit1","dereferencing"]},"15":{"qname":"(short)www.wshifen.com","msg":["cache-miss"]},"16":{"qtype":1,"qname":"www.wshifen.com.test.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"17":{"qtype":1,"qname":"www.wshifen.com.svc.cluster.local","msg":["cache-miss","scheduled","querying"]},"(short)www.a.shifen.com:nil":10,"www.a.shifen.com:5":14,"(short)www.baidu.com:nil":1,"www.a.shifen.com.test.svc.cluster.local:5":11,"www.baidu.com:1":5,"www.baidu.com.test.svc.cluster.local:1":2,"www.baidu.com:5":9,"www.baidu.com.test.svc.cluster.local:5":6,"www.baidu.com.cluster.local:1":4,"www.wshifen.com.svc.cluster.local:1":17,"www.a.shifen.com.svc.cluster.local:5":12,"www.baidu.com.svc.cluster.local:5":7,"www.baidu.com.cluster.local:5":8,"(short)www.wshifen.com:nil":15,"www.a.shifen.com.cluster.local:5":13,"www.baidu.com.svc.cluster.local:1":3,"www.wshifen.com.test.svc.cluster.local:1":16}, context: ngx.timer, client: 127.0.0.1, server: 0.0.0.0:9081
[lua] client.lua:642: parseAnswer(): parseAnswer www.wshifen.com.cluster.local 1 {"errcode":3,"errstr":"name error"} {"1":{"qname":"(short)www.baidu.com","msg":["cache-miss"]},"2":{"qtype":1,"qname":"www.baidu.com.test.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"3":{"qtype":1,"qname":"www.baidu.com.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"4":{"qtype":1,"qname":"www.baidu.com.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"5":{"qtype":1,"qname":"www.baidu.com","msg":["cache-miss","scheduled","querying","1:www.wshifen.com removed","1:www.wshifen.com removed","5:www.a.shifen.com removed","5:www.baidu.com removed","dns client error: 101 empty record received"]},"6":{"qtype":5,"qname":"www.baidu.com.test.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"7":{"qtype":5,"qname":"www.baidu.com.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"8":{"qtype":5,"qname":"www.baidu.com.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"9":{"qtype":5,"qname":"www.baidu.com","msg":["cache-hit1","dereferencing"]},"10":{"qname":"(short)www.a.shifen.com","msg":["cache-miss"]},"11":{"qtype":5,"qname":"www.a.shifen.com.test.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"12":{"qtype":5,"qname":"www.a.shifen.com.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"13":{"qtype":5,"qname":"www.a.shifen.com.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"14":{"qtype":5,"qname":"www.a.shifen.com","msg":["cache-hit1","dereferencing"]},"15":{"qname":"(short)www.wshifen.com","msg":["cache-miss"]},"16":{"qtype":1,"qname":"www.wshifen.com.test.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"17":{"qtype":1,"qname":"www.wshifen.com.svc.cluster.local","msg":["cache-miss","scheduled","querying","dns server error: 3 name error"]},"18":{"qtype":1,"qname":"www.wshifen.com.cluster.local","msg":["cache-miss","scheduled","querying"]},"(short)www.a.shifen.com:nil":10,"www.a.shifen.com:5":14,"(short)www.baidu.com:nil":1,"www.a.shifen.com.test.svc.cluster.local:5":11,"www.baidu.com:1":5,"www.baidu.com.test.svc.cluster.local:1":2,"www.baidu.com:5":9,"www.baidu.com.test.svc.cluster.local:5":6,"www.baidu.com.cluster.local:1":4,"www.wshifen.com.svc.cluster.local:1":17,"www.a.shifen.com.svc.cluster.local:5":12,"www.baidu.com.svc.cluster.local:5":7,"www.wshifen.com.cluster.local:1":18,"www.baidu.com.cluster.local:5":8,"(short)www.wshifen.com:nil":15,"www.a.shifen.com.cluster.local:5":13,"www.baidu.com.svc.cluster.local:1":3,"www.wshifen.com.test.svc.cluster.local:1":16}, context: ngx.timer, client: 127.0.0.1, server: 0.0.0.0:9081
[lua] client.lua:1287: resolve(): resolve return {"1":{"section":1,"ttl":286,"address":"103.235.46.96","class":1,"type":1,"name":"www.wshifen.com"},"2":{"section":1,"ttl":286,"address":"103.235.47.188","class":1,"type":1,"name":"www.wshifen.com"},"expired":false,"touch":1721236062.24,"expire":1721236345.386,"ttl":286}, client: 127.0.0.1, server: _, request: "GET /test HTTP/1.1", host: "127.0.0.1:9081"
[lua] client.lua:123: dns_parse(): dns resolve www.baidu.com, result: {"section":1,"ttl":286,"address":"103.235.47.188","class":1,"type":1,"name":"www.wshifen.com"}, client: 127.0.0.1, server: _, request: "GET /test HTTP/1.1", host: "127.0.0.1:9081"

Please use the following client.lua file: https://pastebin.com/4dVRHsUT

It documents the complete workflow of the DNS client like https://pastebin.com/svpAAbYC

I believe this is helpful in diagnosing resolve errors.