ATS的Event真的是很复杂,太多了。最近遇到的两个比较严重的问题,都是因为在某个函数内收到了不该收到的Event。
问题1: UnixNetVConnection::mainEvent收到了VC_EVENT_WRITE_COMPLETE
这个我已经提了bug report https://issues.apache.org/jira/browse/TS-3289
这是在启用了100 continue之后发现的,每次必定core dump.
问题2: HttpSM::state_send_server_request_header收到了VC_EVENT_WRITE_READY
我启用了某个inception插件,所以HttpSM::state_send_server_request_header这个函数并非是在给origin server发送request的时候调用,而是在inception插件处理了accept请求之后。所以HttpSM::state_send_server_request_header收到的应该只有VC_EVENT_WRITE_COMPLETE事件,不应该有VC_EVENT_WRITE_READY,因为这时候还未发生socket write操作。
都先mark在这里,看我什么时候能找到原因。
This article is from: https://www.sunchangming.com/blog/post/4647.html