Github user oknet commented on the issue:

    https://github.com/apache/trafficserver/pull/947
  
    according your description, the HttpTunnel transfers the data from server 
session to client session, ATS received a RST from client and the connection 
between ATS and origin server is still alive.
    
    In your scenario, server session is the producer of HttpTunnel and client 
session is a consumer of HttpTunnel and cache session is the 2nd consumer if 
cache enabled. 
    
    The HttpTunnel will not break if one consumer failed.
    
    The producer will re-enable all consumers if received READ_READY event.
    The consumer will re-enable producer if received WRITE_READY event.
    
    The producer is master and all consumers are slave. let the master trigger 
slaves and isolate the broken slave.
    
    Add a netvc into write_ready queue means there is non-fatal error(ex 
EAGAIN) at last write() call. It means write is enabled on the netvc.
    
    Only the returned errno from read() and write() is trustable.
    
    To close a netvc immediately if vc->read.vio._cont and vc->write.vio._cont 
both are NULL.
    Otherwise should callback to SM.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to