While testing the operation cancellation work, we found that if the RelyOnConnectionTimeoutsInsteadOfPollingRequestMaximumMessageProcessingTimeout feature toggle was used, it would cause the PendingRequestQueueAsync to wait forever for the queue item to be dequeued instead of timing out.
Results
Before
In WaitForResponseToBeSet, the relyOnConnectionTimeoutsInsteadOfPollingRequestMaximumMessageProcessingTimeout flag was being used to wait forever always.
Whereas it should not do this when we call WaitForResponseToBeSet initially (i.e. when we are waiting for the item to be dequeued), and should be used only when we call WaitForResponseToBeSet the second time (i.e. when we are allowing time for the tentacle to process the message).
After
The flag has been moved out of WaitForResponseToBeSet so that it can be used in the appropriate spot. A test was written beforehand to prove the bug.
How to review this PR
Quality :heavy_check_mark:
Pre-requisites
[ ] I have read How we use GitHub Issues for help deciding when and where it's appropriate to make an issue.
[ ] I have considered informing or consulting the right people, according to the ownership map.
[ ] I have considered appropriate testing for my change.
Background
While testing the operation cancellation work, we found that if the
RelyOnConnectionTimeoutsInsteadOfPollingRequestMaximumMessageProcessingTimeout
feature toggle was used, it would cause thePendingRequestQueueAsync
to wait forever for the queue item to be dequeued instead of timing out.Results
Before
In
WaitForResponseToBeSet
, therelyOnConnectionTimeoutsInsteadOfPollingRequestMaximumMessageProcessingTimeout
flag was being used to wait forever always.Whereas it should not do this when we call
WaitForResponseToBeSet
initially (i.e. when we are waiting for the item to be dequeued), and should be used only when we callWaitForResponseToBeSet
the second time (i.e. when we are allowing time for the tentacle to process the message).After
The flag has been moved out of
WaitForResponseToBeSet
so that it can be used in the appropriate spot. A test was written beforehand to prove the bug.How to review this PR
Quality :heavy_check_mark:
Pre-requisites