Enhance Connection Collapse support in ATS core#6028
Enhance Connection Collapse support in ATS core#6028sudheerv wants to merge 1 commit intoapache:masterfrom
Conversation
|
Hi Some question for this pr . Does this increase the CACHE_LOOKUP_COMPLETE hook calls ? |
|
Please update: trafficserver/proxy/http/HttpTransact.cc Lines 2906 to 2909 in 12afa06 |
No, the API callbacks with CACHE_LOOKUP_COMPLETE shouldn't be impacted. The call back for CACHE_LOOKUP_COMPLETE happens from HttpSM after HttpCacheSM finishes all retries and returns the final lookup status.
The additional latency due to this new feature can be up to (max_cache_open_read_retries X cache_open_read_retry_time) and the total max latency including the first round of read retries will be equal to 2 X (max_cache_open_read_retries X cache_open_read_retry_time). Typical values used are max_cache_open_read_retries = 5-10, cache_open_read_retry_time = 10-50 msec, so a worst case of 1 sec (2 X 10 X 50 msec)
Yes, that's to avoid having to penalize simple cache miss scenarios (i.e when there's no concurrent request). The new change uses write_lock_failure as an additional signal to identify the DOC_BUSY scenario. See below for more context on this. |
|
@sudheerv Thanks for your response. Looks great. |
|
12afa06 to
14fbea2
Compare
Ah, that assert needs to be moved down. Thanks for testing and catching it! |
Fixed it |
Done |
|
|
|
Add an option to support cache open read retry on a write lock failure. With this option, as long as read-while-writer is set up following the guidelines in the docs, there should be no need for any plugins to augment the core. Eventual plan is to deprecate collapsed_forwarding plugin with this new support Fix the assert and comments init t_state.cache_open_write_fail_action to fix the assert
14fbea2 to
8e74867
Compare
Fixed the assert. Thanks @scw00 for catching it! |
|
I have some concerns :
|
|
@sudheerv Are you making another PR for this? :) |
Add an option to support cache open read retry on a write lock
failure. With this option, as long as read-while-writer is set
up following the guidelines in the docs, there should be no need
for any plugins to augment the core. Eventual plan is to deprecate
collapsed_forwarding plugin with this new support.
For more context on this, see
https://cwiki.apache.org/confluence/display/TS/Presentations+-+2019?preview=/112821251/132320653/Collapsed%20Forwarding%20.pdf