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

flux-exec: use subprocess credits to avoid overflowing stdin buffers #6370

Merged
merged 5 commits into from
Nov 2, 2024

Commits on Nov 1, 2024

  1. t: fix inconsistent tabbing

    Problem: One test in t0005-exec.t uses spaces instead of a tab
    for indentation.
    
    Fix tabbing for consistency.
    chu11 committed Nov 1, 2024
    Configuration menu
    Copy the full SHA
    d9f61f4 View commit details
    Browse the repository at this point in the history
  2. flux-exec: use zlistx_t over zlist_t

    Problem: In the near future additional code flux-exec will use the
    zlistx_t data structure.  Some other code in flux-exec already uses
    the zhashx_t data structure.  One lingering data structure still
    uses the zlist_t data structure.
    
    For consistency going forward, convert the lingering use of zlist_t
    to zlistx_t.
    chu11 committed Nov 1, 2024
    Configuration menu
    Copy the full SHA
    f95b205 View commit details
    Browse the repository at this point in the history

Commits on Nov 2, 2024

  1. flux-exec: use stdin flow control

    Problem: libsubprocess now supports stdin flow control via credits,
    but that is not used in flux-exec.
    
    Support credits and flow control in flux-exec to avoid overflowing
    the stdin buffer.
    
    Fixes flux-framework#4572
    chu11 committed Nov 2, 2024
    Configuration menu
    Copy the full SHA
    2b403a9 View commit details
    Browse the repository at this point in the history
  2. flux-exec: disable stdin flow for sdexec

    Problem: sdexec does not yet support flow control
    
    Disable flow control if the service is set to sdexec.
    Add a --stdin-flow=on|off hidden option to force it either way.
    garlick authored and chu11 committed Nov 2, 2024
    Configuration menu
    Copy the full SHA
    fe8768b View commit details
    Browse the repository at this point in the history
  3. t: cover flux-exec stdin flow control

    Problem: There is no coverage to ensure that stdin flow control
    truly works with flux-exec.
    
    Add a test to t0005-exec.t that sends a 5 meg file while only using
    a 4K buffer.  A buffer overflow would almost certainly happen
    if flow control was not working.
    chu11 committed Nov 2, 2024
    Configuration menu
    Copy the full SHA
    4aea6bb View commit details
    Browse the repository at this point in the history