Otto van der Schaaf created TS-5110:
---------------------------------------

             Summary: Occasional communication deadlock on BSD between 
traffic_manager and traffic_server
                 Key: TS-5110
                 URL: https://issues.apache.org/jira/browse/TS-5110
             Project: Traffic Server
          Issue Type: Bug
          Components: Configuration, Manager, Metrics
            Reporter: Otto van der Schaaf


On FreeBSD we observed an occasional deadlock in the communication between 
traffic_server and traffic_manager. Both process are stuck in write().

This occasionally happens when both sides attempt to write an amount of data 
that exceeds SO_SNDBUF (8KB on FreeBSD) at the same time, in which case both 
sides will block waiting for the other side to call read().

On Linux, the buffer turns out to be much larger (~200KB), and this does not 
seem to happen. The case we noticed on FreeBSD attempted to write 10KB on one 
side, and 120KB on the other.

Apparently, the code on both sides assumes that it is guaranteed that write() 
will not block. 

One symptom of this is that updates to configuration applied via traffic_ctl 
will not apply - or at least not until traffic_server is restarted.




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to