You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficcontrol.apache.org by GitBox <gi...@apache.org> on 2021/05/18 16:31:23 UTC

[GitHub] [trafficcontrol] rawlinp opened a new issue #5863: TM doesn't log an error if it times out serving a request

rawlinp opened a new issue #5863:
URL: https://github.com/apache/trafficcontrol/issues/5863


   ## I'm submitting a ...
   -  bug report
   
   ## Traffic Control components affected ...
   -  Traffic Monitor
   
   ## Current behavior:
   If TM times out serving a request (due to `serve_write_timeout_ms`), it just sends an empty reply to the client:
   ```
   curl: (52) Empty reply from server
   ```
   When this happens, TM doesn't log anything about its inability to serve the request in time.
   
   ## Expected behavior:
   When TM times out serving a request, it should log an error stating that it was unable to serve the request within the given timeout period. This will make it much more obvious from the TM logs that it is having trouble serving requests and that the timeout needs to be adjusted. When this happens, it can cause issues with Traffic Stats, leading to operational data loss (bandwidth, connections, etc).
   
   ## Minimal reproduction of the problem with instructions:
   On an extremely slow TM server with an relatively large CDN, make this request:
   ```
   curl -vs 'http://yourtrafficmonitor.example.com/publish/CacheStats?hc=1&wildcard=1&stats=bandwidth,maxKbps,ats.proxy.process.http.current_client_connections,ats.proxy.process.cache.volume_1.wrap_count,ats.proxy.process.cache.volume_2.wrap_count,ats.proxy.process.cache.volume_1.write.failure,ats.proxy.process.cache.volume_1.write.success,ats.proxy.process.ssl.cipher.user_agent.ECDHE-RSA-AES128-GCM-SHA256,ats.proxy.process.ssl.cipher.user_agent.RC4-SHA,ats.proxy.process.ssl.cipher.user_agent.RC4-MD5,ats.proxy.process.ssl.cipher.user_agent.DES-CBC3-SHA,ats.proxy.process.cache.bytes_total,ats.proxy.process.cache.bytes_used,ats.proxy.process.cache.direntries.total,ats.proxy.process.cache.direntries.used,ats.proxy.process.cache.directory_collision,ats.proxy.process.cache.evacuate.active,ats.proxy.process.cache.evacuate.failure,ats.proxy.process.cache.evacuate.success,ats.proxy.process.cache.frags_per_doc.1,ats.proxy.process.cache.frags_per_doc.2,ats.proxy.process.cache.frags_per_doc.3+,
 ats.proxy.process.cache.gc_bytes_evacuated,ats.proxy.process.cache.gc_frags_evacuated,ats.proxy.process.cache.hdr_marshal_bytes,ats.proxy.process.cache.hdr_marshals,ats.proxy.process.cache.lookup.active,ats.proxy.process.cache.lookup.failure,ats.proxy.process.cache.lookup.success,ats.proxy.process.cache.ram_cache.bytes_used,ats.proxy.process.cache.ram_cache.total_bytes,ats.proxy.process.cache.ram_cache.hits,ats.proxy.process.cache.ram_cache.misses,ats.proxy.process.http.background_fill_bytes_aborted_stat,ats.proxy.process.http.background_fill_bytes_completed_stat,ats.proxy.process.http.background_fill_current_count,ats.proxy.node.cache.bytes_free'
   ```
   Or just set `serve_write_timeout_ms` to `1` in the TM config and make the same request on a smaller CDN.
   


-- 
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.

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