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

New timeout nomenclature #3817

Draft
wants to merge 18 commits into
base: master
Choose a base branch
from
Draft

Commits on Jun 27, 2022

  1. tweak: Move tweak_alias() up

    Now that aliases show themselves as such to other tweaks, we'll need the
    other tweaks to know about this detail. Moving the tweak up will allow a
    new function visible to the others without a prior declaration.
    
    Refs f885637
    dridi committed Jun 27, 2022
    Configuration menu
    Copy the full SHA
    9ddc870 View commit details
    Browse the repository at this point in the history
  2. tweak: Teach regular tweaks about aliases

    The way we now pass aliases, we lose the original priv pointer. So we
    need to resolve the original parameter in turn.
    
    Fixes f885637
    dridi committed Jun 27, 2022
    Configuration menu
    Copy the full SHA
    014142b View commit details
    Browse the repository at this point in the history
  3. man: Extract varnish-params(7) from varnishd(1)

    The latter is already long enough with command line options coverage
    alone, and with incoming additions to the parameters documentation now
    seems a good time for this extraction.
    dridi committed Jun 27, 2022
    Configuration menu
    Copy the full SHA
    1b29be1 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6e20619 View commit details
    Browse the repository at this point in the history
  5. man: Document the new timeout nomenclature

    Most timeouts don't comply, and will be migrated gradually with
    deprecated aliases to maintain compatibility.
    
    The resulting list of timeouts will also help us notice what we
    may be missing and offer a reliable naming convention for new
    timeouts.
    dridi committed Jun 27, 2022
    Configuration menu
    Copy the full SHA
    a3dd356 View commit details
    Browse the repository at this point in the history
  6. vcc: Teach vcc_IdIs() to fall back to aliases

    We could even change the return value to a string and return where p is
    when a match is found, or NULL. This way a call site could check whether
    the original identifier or an alias was found, and for example issue a
    warning.
    dridi committed Jun 27, 2022
    Configuration menu
    Copy the full SHA
    3686a9b View commit details
    Browse the repository at this point in the history
  7. param: Give aliases a proper default value

    Otherwise it breaks the param.reset command.
    dridi committed Jun 27, 2022
    Configuration menu
    Copy the full SHA
    4c63add View commit details
    Browse the repository at this point in the history
  8. param: Rename first_byte_timeout to beresp_start_timeout

    Conversely, the VCL variable `bereq.first_byte_timeout` is replaced by
    `beresp.start_timeout`.
    dridi committed Jun 27, 2022
    Configuration menu
    Copy the full SHA
    fb4683b View commit details
    Browse the repository at this point in the history
  9. param: Rename between_bytes_timeout to beresp_idle_timeout

    And the VCL variable `bereq.between_bytes_timeout` is in turn replaced
    by `beresp.idle_timeout`.
    dridi committed Jun 27, 2022
    Configuration menu
    Copy the full SHA
    abe145d View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    56cd866 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    6aa8f64 View commit details
    Browse the repository at this point in the history
  12. param: Rename connect_timeout to bereq_connect_timeout

    And this time, no impact on VCL code, only VRT.
    dridi committed Jun 27, 2022
    Configuration menu
    Copy the full SHA
    02a5cdb View commit details
    Browse the repository at this point in the history
  13. vtcp: New VTCP_set_send_timeout() function

    Convenience for parity with VTCP_set_read_timeout().
    dridi committed Jun 27, 2022
    Configuration menu
    Copy the full SHA
    3ec1f24 View commit details
    Browse the repository at this point in the history
  14. param: Rename idle_send_timeout to resp_idle_interrupt

    Exceptionally, one existing VTC was migrated to the new name immediately
    since it relied on debug logs containing 'idle_send_timeout'.
    
    Turning the timeout to an interrupt, I tried to update the parameter
    description to better convey what it does. This does not change the
    current behavior, but I tried to highlight what is wrong with this
    timeout and the mismatch between its purpose for HTTP/1 and h2.
    
    Depending on where we look at the documentation, between the parameter
    or VCL variables, we get a slightly different description. None of them
    are accurate, but the consensus seems to have always been the parameter
    description from before h2 or the 'sess.idle_send_timeout' variable.
    
    For session-level timeouts, we may consider an h2_send_timeout parameter
    in the future to distinguish between socket writes and underlying h2
    streams timing out on a condvar. This h2_send_timeout parameter would
    map to SO_SNDTIMEO for h2 client connections.
    
    Refs varnishcache#2927
    dridi committed Jun 27, 2022
    Configuration menu
    Copy the full SHA
    0c97b92 View commit details
    Browse the repository at this point in the history
  15. param: Rename pipe_timeout to pipe_idle_timeout

    Note to self, absolutely no test coverage for this parameter.
    dridi committed Jun 27, 2022
    Configuration menu
    Copy the full SHA
    ec545da View commit details
    Browse the repository at this point in the history
  16. param: Rename send_timeout to resp_send_timeout

    Everything mentioned in the commit log where idle_send_timeout is
    renamed to resp_idle_timeout applies here as well.
    dridi committed Jun 27, 2022
    Configuration menu
    Copy the full SHA
    034ecff View commit details
    Browse the repository at this point in the history
  17. param: Rename timeout_* parameters

    They needed to be taken care of simultaneously to avoid hassles related
    to their current cohabitation with resp timeouts.
    dridi committed Jun 27, 2022
    Configuration menu
    Copy the full SHA
    cd3dd40 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    e101b1d View commit details
    Browse the repository at this point in the history