You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by GitBox <gi...@apache.org> on 2022/11/17 04:47:58 UTC

[GitHub] [apisix] tzssangglass commented on issue #8345: request help: APISIX retuen error 3 name error with multi Consul DNS

tzssangglass commented on issue #8345:
URL: https://github.com/apache/apisix/issues/8345#issuecomment-1318069142

   hi @Fabriceli , I eventually tracked it down here: https://github.com/openresty/lua-resty-dns/blob/master/lib/resty/dns/resolver.lua#L870-L896
   
   ```
               for _ = 1, 128 do
                   buf, err = sock:receive(4096)
                   if err then
                       local server = _get_cur_server(self)
                       err = "failed to receive reply from UDP server "
                           .. concat(server, ":") .. ": " .. err
                       break
                   end
   
   
                   if buf then
                       local answers
                       answers, err = parse_response(buf, id, opts)
                       if err == "truncated" then
                           answers, err = _tcp_query(self, query, id, opts)
                       end
   
   
                       if err and err ~= "id mismatch" then
                           break
                       end
   
   
                       if answers then
                           return answers, nil, tries
                       end
                   end
                   -- only here in case of an "id mismatch"
               end
           end
   ```
   
   1. first query "service-name-x.service.dc-name-x.consul" from `x.x.x.x:8600`
   2. then get the `buf`, and `err` is nil, so it won't go into ` if err then`, just `parse_response(buf, id, opts)` and the answers is
   
   ```
   {
     errcode = 3,
     errstr = "name error"
   }
   ```
   
   3. and then return this error directly, won't try to query on `y.y.y.y:8600` again.
   
   > or multi DNS, APISIX is not work like this ??:
   <img width="845" alt="image" src="https://user-images.githubusercontent.com/30819887/202358605-08407b84-24e2-4af1-8229-7cc99efc5057.png">
   
   yes


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org