vmamidi opened a new pull request, #9338:
URL: https://github.com/apache/trafficserver/pull/9338

   PR 7807 could leave the  HTTP State machine in a INACTIVE state. 
   
   For example, if state_cache_open_read is rescheduled in an error using the 
below code.
   
   
   ```
   case CACHE_EVENT_OPEN_READ_FAILED:
       if ((intptr_t)data == -ECACHE_DOC_BUSY) {
         // Somebody else is writing the object
         if (open_read_tries <= 
master_sm->t_state.txn_conf->max_cache_open_read_retries) {
           // Retry to read; maybe the update finishes in time
           open_read_cb = false;
           do_schedule_in();
         } else {
   ```
   This code will return to event system leaving the state machine in a 
INACTIVE state and results in an abort.
   ```
     if (captive_action.cancelled == 1) {
       return VC_EVENT_CONT; // SM gave up on us
     }
   ```
   
   This can be easily reproduced by setting 
proxy.config.http.number_of_redirections greater than 
zero.(https://docs.trafficserver.apache.org/en/8.1.x/admin-guide/files/records.config.en.html#proxy-config-http-number-of-redirections)
   
   
   Although I like the idea behind 7667, I am proposing reverting 7667 along 
with 7807 as there were concerns about the crashes with 7667. I am yet to look 
at PRs #8423 and #8443
   


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

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to