[ 
https://issues.apache.org/jira/browse/TS-1405?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13617873#comment-13617873
 ] 

John Plevyak commented on TS-1405:
----------------------------------

No, in the current patch (v10) in process_event the event will only be free'd 
if cancelled is set to CANCEL_SET which means that the Event is not in the 
atomic_list.

The current v10 patch is simple, fast and has no delay and hence no opportunity 
for timing related problems.

The previous patch checks Event::in_the_priority_queue which can change state 
at any time when the Event::ethread != this_ethread(). This is a race, and as a 
result the state of the Event being on the atomic_list is not knowable in the 
EThread during ::execute().  This will result in crashes.  You may not be 
seeing them because we typically pin all transactions to a single thread unless 
proxy.config.share_server_session is set to 1, so Event::ethread == 
this_ethread(), however that is not the case in general. Try testing with this 
and the appropriate configuration and you will see the problem.



                
> apply time-wheel scheduler  about event system
> ----------------------------------------------
>
>                 Key: TS-1405
>                 URL: https://issues.apache.org/jira/browse/TS-1405
>             Project: Traffic Server
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 3.2.0
>            Reporter: Bin Chen
>            Assignee: Bin Chen
>             Fix For: 3.3.2
>
>         Attachments: linux_time_wheel.patch, linux_time_wheel_v10jp.patch, 
> linux_time_wheel_v2.patch, linux_time_wheel_v3.patch, 
> linux_time_wheel_v4.patch, linux_time_wheel_v5.patch, 
> linux_time_wheel_v6.patch, linux_time_wheel_v7.patch, 
> linux_time_wheel_v8.patch, linux_time_wheel_v9jp.patch
>
>
> when have more and more event in event system scheduler, it's worse. This is 
> the reason why we use inactivecop to handler keepalive. the new scheduler is 
> time-wheel. It's have better time complexity(O(1))

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to