Hi @Min_Liu,
Before addressing your concerns with the shipping request timeout, I’d like to point out that per our Community Forums Code of Conduct, we ask that you please do not ping individuals on any threads that they have not been involved in.
Do not tag individuals unless they have previously engaged with the topic, and do not tag groups.
Regarding the timeout with the Carrier Service Request defaulting to the backup rates after 5 seconds, this can be expected behaviour as the timeout rate is dynamic and determined based on the amount of requests per minute that your app receives.
I reviewed the ticket that you were referencing above, and this limitation was actually communicated by our Support Team in the support ticket, and is mentioned in the following Shopify.dev Documentation.

Regarding the “dropped duplicate requests”, what the support advisor was referring to is shipping rate caching, which is also discussed in the documentation linked above.
very common behavior - applying discounts, changing quantities, refreshing
This part however is slightly incorrect however, as apply discounts and refreshing the cart will cause cached rates to be used, and won’t send a new shipping rate request, but updating the quantities will send a new shipping rate request.
As mentioned in the documentation I linked above, the cached shipping rates will be used (ie: no new shipping requests) unless the change on the cart is to one of the following fields.
Server-side caching of requests
Shopify provides server-side caching to reduce the number of requests it makes. Any shipping rate request that identically matches the following fields will be retrieved from Shopify’s cache of the initial response:
- variant IDs
- default shipping box weight and dimensions
- variant quantities
- carrier service ID
- origin address
- destination address
- item weights and signatures
If any of these fields differ, or if the cache has expired since the original request, then new shipping rates are requested. The cache expires 15 minutes after rates are successfully returned. If an error occurs, then the cache expires after 30 seconds.
So this means, if the first shipping rate request timed out and we used the default rates instead, these rates are then cached for the cart. If the cart is updated, but none of the above fields are actually changed, then the cached rates will be used. If one of those fields are changed in the cart update, then a new shipping rate request will be made.