aiohttp implements retries for idempotent methods (GET is one of them
because it's considered a safe method) on ClientOSError and
ServerDisconnectedError [1][2][3]

And it seems that the aiohttp patch I mentioned makes the server close
the connection in scenarios where it previously didn't. This likely
causes a ServerDisconnectedError on the client, which leads to a retry.

Unfortunately, I can't find any way to disable retries without patching
aiohttp. This means that we probably need to make the GET request
handler more forgiving.

[1] 
https://github.com/aio-libs/aiohttp/blob/16f565aff665264875849add3bf16ae6720d1617/aiohttp/client.py#L569-L571
[2] 
https://github.com/aio-libs/aiohttp/blob/16f565aff665264875849add3bf16ae6720d1617/aiohttp/client.py#L226-L227
[3] 
https://github.com/aio-libs/aiohttp/blob/16f565aff665264875849add3bf16ae6720d1617/aiohttp/client.py#L720C1-L724

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2122423

Title:
  Duplicate query to GET /ubuntu_pro/contract_selection/wait when
  running questing

To manage notifications about this bug go to:
https://bugs.launchpad.net/subiquity/+bug/2122423/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to