Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix timer handle churn in websocket heartbeat #8608

Merged
merged 35 commits into from
Aug 7, 2024
Merged

Commits on Aug 5, 2024

  1. Fix timer handle churn in websocket heartbeat

    Each message would cancel and reset the timer handler which
    meant asyncio would have to rebuild the whole schedule heap
    frequently because so many timer handlers were being created
    and than cancelled.
    
    When asyncio timer handle cancels reach the threadhold the
    whole heap has to be rebuilt
    https://github.com/python/cpython/blob/1422500d020bd199b26357fc387f8b79b82226cd/Lib/asyncio/base_events.py#L1968
    which is extremely inefficent.
    
    To solve this, when a timer handle is already running, instead
    of cancelling it, we let it fire and reschedule if heartbeat
    would be sent to early.
    bdraco committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    c48ad39 View commit details
    Browse the repository at this point in the history
  2. preen

    bdraco committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    ab09f18 View commit details
    Browse the repository at this point in the history
  3. preen

    bdraco committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    f59f732 View commit details
    Browse the repository at this point in the history
  4. fix merge

    bdraco committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    4ea43f9 View commit details
    Browse the repository at this point in the history
  5. fix merge

    bdraco committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    b1ed054 View commit details
    Browse the repository at this point in the history
  6. fix merge

    bdraco committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    807e334 View commit details
    Browse the repository at this point in the history
  7. fix merge

    bdraco committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    c3ca179 View commit details
    Browse the repository at this point in the history
  8. fix merge

    bdraco committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    8d0756b View commit details
    Browse the repository at this point in the history
  9. fix merge

    bdraco committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    3321b93 View commit details
    Browse the repository at this point in the history
  10. fix merge

    bdraco committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    9a92850 View commit details
    Browse the repository at this point in the history
  11. fix merge

    bdraco committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    abc1d80 View commit details
    Browse the repository at this point in the history
  12. fix merge

    bdraco committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    5cb41f3 View commit details
    Browse the repository at this point in the history

Commits on Aug 6, 2024

  1. Configuration menu
    Copy the full SHA
    179b0d5 View commit details
    Browse the repository at this point in the history
  2. changelog

    bdraco committed Aug 6, 2024
    Configuration menu
    Copy the full SHA
    fb71f93 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    0c84a8b View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    02bd5c6 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    53f1b46 View commit details
    Browse the repository at this point in the history
  6. more coverage

    bdraco committed Aug 6, 2024
    Configuration menu
    Copy the full SHA
    1767cec View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    84ae4b3 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    e4747e5 View commit details
    Browse the repository at this point in the history
  9. cleanup assertions

    bdraco committed Aug 6, 2024
    Configuration menu
    Copy the full SHA
    40945e7 View commit details
    Browse the repository at this point in the history
  10. remove unreachable

    bdraco committed Aug 6, 2024
    Configuration menu
    Copy the full SHA
    e622cde View commit details
    Browse the repository at this point in the history
  11. restore

    bdraco committed Aug 6, 2024
    Configuration menu
    Copy the full SHA
    c29f5c6 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    d9f6978 View commit details
    Browse the repository at this point in the history
  13. combine with

    bdraco committed Aug 6, 2024
    Configuration menu
    Copy the full SHA
    77eee1a View commit details
    Browse the repository at this point in the history
  14. cleanup tests

    bdraco committed Aug 6, 2024
    Configuration menu
    Copy the full SHA
    be4441a View commit details
    Browse the repository at this point in the history
  15. cleanup tests

    bdraco committed Aug 6, 2024
    Configuration menu
    Copy the full SHA
    286a29b View commit details
    Browse the repository at this point in the history
  16. Update aiohttp/helpers.py

    Co-authored-by: Sam Bull <git@sambull.org>
    bdraco and Dreamsorcerer authored Aug 6, 2024
    Configuration menu
    Copy the full SHA
    6e7fa77 View commit details
    Browse the repository at this point in the history

Commits on Aug 7, 2024

  1. Configuration menu
    Copy the full SHA
    7a5f09e View commit details
    Browse the repository at this point in the history
  2. lint

    bdraco committed Aug 7, 2024
    Configuration menu
    Copy the full SHA
    f533e86 View commit details
    Browse the repository at this point in the history
  3. fix type

    bdraco committed Aug 7, 2024
    Configuration menu
    Copy the full SHA
    5eec564 View commit details
    Browse the repository at this point in the history
  4. fix type

    bdraco committed Aug 7, 2024
    Configuration menu
    Copy the full SHA
    5e7230b View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    59df3db View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    7807ce9 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    f9c6027 View commit details
    Browse the repository at this point in the history