Skip to content

Lingering close doesn't terminate before timeout #1559

Closed
@heftig

Description

Long story short

My web app is occasionally freezing for 30s, burning CPU all the while.

Steps to reproduce

Not clear. There's a lot of code involved.

The problem disappears when:

  • I set lingering_time=0
  • I change line 277 in aiohttp/server.py from
while self._loop.time() < end_time:

to

while not payload.is_eof() and self._loop.time() < end_time:
  • I use loop.set_debug(True) to enable async debugging. There are no more uncompleted requests, either. Maybe the protocol gets slowed down enough to receive the EOF early.

Your environment

aiohttp 1.2.0, python 3.6, Linux

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions