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

feat: add graceful streaming pull shutdown #292

Merged
merged 8 commits into from
Feb 17, 2021
Merged

Commits on Feb 12, 2021

  1. Remove streaming pull's _UNARY_REQUESTS flag

    This internal flag has been hardcoded to True for several years and
    we do not utilize the "False" case anywhere, nor do we mention it in
    the docs or expose it to the end users.
    plamut committed Feb 12, 2021
    Configuration menu
    Copy the full SHA
    33f9b93 View commit details
    Browse the repository at this point in the history
  2. Keep the leaser running even if inactive manager

    The leaser thread should not terminate implicitly when the streaming
    pull manager's consumer thread becomes inactive, as there might still
    be messages being processed inside the scheduler and we want to keep
    extending these messages' ACK deadlines until the scheduler has been
    shut down.
    
    NOTE: The manager's streaming pull RPC does not need to be active, since
    all mod-ACK requests are sent using a separate unary request instead of
    over the stream.
    plamut committed Feb 12, 2021
    Configuration menu
    Copy the full SHA
    b759a91 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d8d9bfb View commit details
    Browse the repository at this point in the history
  4. Simplify default thread pool executor factory

    The library only supports Python 3.6+, thus we don't need the
    conditional anymore.
    plamut committed Feb 12, 2021
    Configuration menu
    Copy the full SHA
    96a9340 View commit details
    Browse the repository at this point in the history
  5. Prevent implicit heartbeater shutdown

    For consistency with the leaser, the heartbeater should not terminate
    implicitly when the manager stops the background stream, but should
    instead wait for the manager to stop it explicitly.
    plamut committed Feb 12, 2021
    Configuration menu
    Copy the full SHA
    963a231 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    94c6265 View commit details
    Browse the repository at this point in the history
  7. Keep dispatching requests after stream shutdown

    After the streaming pull manager shuts down the consumer thread and
    becomes "inactive", there might still be requests waiting in the queue
    to be dispatched, thus the dispatcher should not implicitly enter the
    no-op mode of operation.
    plamut committed Feb 12, 2021
    Configuration menu
    Copy the full SHA
    341d97c View commit details
    Browse the repository at this point in the history

Commits on Feb 15, 2021

  1. Configuration menu
    Copy the full SHA
    bb54fbc View commit details
    Browse the repository at this point in the history