Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: googleapis/python-pubsublite
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.1.3
Choose a base ref
...
head repository: googleapis/python-pubsublite
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v1.1.4
Choose a head ref
  • 3 commits
  • 13 files changed
  • 3 contributors

Commits on Sep 14, 2021

  1. fix: Race conditions and performance issues (#237)

    * fix: Race conditions and performance issues
    
    There are two main retrying_connection race conditions fixed here:
    
    1) Improper handling of cancelled write tasks can cause set_exception to be called when the task is already cancelled, which raises an InvalidStateError which is never caught by the existing code.
    2) There is a race where if reinitialize() is called after queues are cycled, meaning a poller from the old instance of the class can add a message to the new queues. This has been fixed by splitting the ConnectionReinitializer interface into "stop_processing" and "reinitialize" parts.
    
    Also fix other performance issues identified in profiles.
    
    * fix: Race conditions and performance issues
    
    There are two main retrying_connection race conditions fixed here:
    
    1) Improper handling of cancelled write tasks can cause set_exception to be called when the task is already cancelled, which raises an InvalidStateError which is never caught by the existing code.
    2) There is a race where if reinitialize() is called after queues are cycled, meaning a poller from the old instance of the class can add a message to the new queues. This has been fixed by splitting the ConnectionReinitializer interface into "stop_processing" and "reinitialize" parts.
    
    Also fix other performance issues identified in profiles.
    dpcollins-google authored Sep 14, 2021
    Configuration menu
    Copy the full SHA
    ec76272 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    fa0b52f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2b45317 View commit details
    Browse the repository at this point in the history
Loading