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]

Reply via email to