gezero opened a new issue #345:
URL: https://github.com/apache/incubator-tuweni/issues/345
When the DNSDiscovery in Besu was turned on I got several of the stacktraces
in my log of the following type:
```
2021-11-11 13:16:07.530+00:00 | Timer-0 | WARN | DNSResolver | I/O
exception contacting remote DNS server /8.8.8.8:53
java.io.EOFException
at
org.xbill.DNS.NioTcpClient$ChannelState.processRead(NioTcpClient.java:169)
at
org.xbill.DNS.NioTcpClient$ChannelState.processReadyKey(NioTcpClient.java:126)
at org.xbill.DNS.NioClient.processReadyKeys(NioClient.java:143)
at org.xbill.DNS.NioClient.runSelector(NioClient.java:118)
at java.base/java.lang.Thread.run(Thread.java:829)
```
After investigating the code a little bit I noticed that the code in
`DNSResolver`
* does not rate limit calls
* does not handle the exception sensibly - ignoring the subtree of the
merkle tree where the failure happened
* swallows the domain name and prints a warning without even telling what
domain name failed
When i tried to debug the issue it seemed that waiting some time before
requests allowed me to retrieve all the data properly so I suspect the DNS just
returned an empty response from time to time when it got hammered with
requests.
### Versions
Java version: [openjdk version "11.0.11" 2021-04-20]
OS Name & Version: [`Ubuntu 20.04 LTS as WSL under Windows 10]
### Related Besu issue:
https://github.com/hyperledger/besu/issues/3044
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]