zrhoffman opened a new issue, #7081: URL: https://github.com/apache/trafficcontrol/issues/7081
<!-- ************ STOP!! ************ If this issue identifies a security vulnerability, DO NOT submit it! Instead, contact the Apache Traffic Control Security Team at [email protected] and follow the guidelines at https://apache.org/security regarding vulnerability disclosure. - For *SUPPORT QUESTIONS*, use the #traffic-control channel on the ASF slack (https://s.apache.org/tc-slack-request) or the Traffic Control Users mailing list (send an email to [email protected] to subscribe). - Before submitting, please **SEARCH GITHUB** for a similar issue or PR * https://github.com/apache/trafficcontrol/issues * https://github.com/apache/trafficcontrol/pulls --> <!-- Do not submit security vulnerabilities or support requests here - see above --> ## This Improvement request (usability, performance, tech debt, etc.) affects these Traffic Control components: <!-- delete all those that don't apply --> - Traffic Router ## Current behavior: <!-- Describe how the current features are insufficient. --> To ensure that a Traffic Router can handle DNSSEC requests, a common practice is for an operator to create a health check that attempts to connect to Traffic Router over port 53, and, once successfully connected, close the request. When this happens, the following stack trace shows up in `traffic_router.log`: ```java ERROR 2022-09-21T18:44:42.289 [pool-13-thread-1] org.apache.traffic_control.traffic_router.core.dns.protocol.TCP - Read timed out java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) ~[?:?] at java.net.SocketInputStream.socketRead(SocketInputStream.java:115) ~[?:?] at java.net.SocketInputStream.read(SocketInputStream.java:168) ~[?:?] at java.net.SocketInputStream.read(SocketInputStream.java:140) ~[?:?] at java.nio.channels.Channels$ReadableByteChannelImpl.read(Channels.java:388) ~[?:?] at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:65) ~[?:?] at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:107) ~[?:?] at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:101) ~[?:?] at java.io.DataInputStream.readFully(DataInputStream.java:200) ~[?:?] at java.io.DataInputStream.readFully(DataInputStream.java:170) ~[?:?] at org.apache.traffic_control.traffic_router.core.dns.protocol.TCP$TCPSocketHandler.run(TCP.java:108) [classes/:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?] at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?] at java.lang.Thread.run(Thread.java:829) [?:?] ``` ## New behavior: <!-- Describe how this change would improve Traffic Control --> `org.apache.traffic_control.traffic_router.core.dns.protocol.TCP$TCPSocketHandler.run()` should catch `SocketTimeoutException` and give a more descriptive error (including IP address). Also, this case is also not currently recorded in `access.log`. Do we want to log this case there? -- 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]
