-
Notifications
You must be signed in to change notification settings - Fork 844
Description
Mark Torluemke pointed out the presence of "Closing orphan vc" messages in diags.log when running 9.0.0. I checked our production box running synced with the final 9.0.0 and I also saw this message. We were not seeing it on other prod boxes not synced with the latest ASF 9.0.0.
This is a message I had added in PR #6889 just to see if this case ever happened. If an event occurred on a VC where the read vio continuation had been cleared this message would trigger. I think this started occurred due to PR #7336. It added a do_io_read with a null continuation. I locally added a warning in this location to try and tie the state machine that caused the ultimate orphan. I printed the vc pointer in both messages, and hoped to tie the VC pointers together to get the state machine ID which I added to our access log. Unfortunately, I was not able to get that tied together, so I don't have a good understanding of what transactions are causing that message. The message I added in the consumer_handler occurs a lot more often. The producers always seems to be the client (post body) which is expected given that this logic was added to handle HTTP/2 clients that don't add the EOS to the last data frame.
I have a code change that cleans up the producer in a more standard way by calling producer_handler. That seems to get rid of the orphan messages in our environment.