GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — [pipeline-manager] Background support data collector collects one pipeline at a time, so a slow pipeline delays all others · Issue #7933 · feldera/feldera

[pipeline-manager] Background support data collector collects one pipeline at a time, so a slow pipeline delays all others #7933

New issue
Copy link
New issue
Copy link
Open
Open
[pipeline-manager] Background support data collector collects one pipeline at a time, so a slow pipeline delays all others#7933
Copy link
Labels
Pipeline managerPipeline manager (API, API server, runner, compiler server)Pipeline manager (API, API server, runner, compiler server)Support BundleThings that concerns support bundles collectionsThings that concerns support bundles collectionsperformance

Description

@blp
blp
opened on Nov 11, 2026
Issue body actions

Summary

The background support data collector collects one pipeline at a time. A slow pipeline delays the stored support data of every other pipeline that is due, including pipelines of other tenants.

Cause

collect_due_pipelines in crates/pipeline-manager/src/api/support_data_collector.rs awaits each collection before it starts the next one:

for entry in to_collect {
    match self.collect_pipeline_data(&entry).await {
time ──────────────────────────────────────────▶
collector:  [ A: slow pipeline ][B][C][D]
B, C, D are due at 0:00 but are collected only after A completes

Effect

Before the fixes for feldera/cloud#2163 Now
One slow 50-host pipeline delays the others by about 8 min (up to 25 min) about 1 circuit step, at most about 3 x 120 s

The limit comes from COLLECTION_TIMEOUT (120 s) for each of the three profile steps, which run one after another. A pipeline that hits the limit on each step delays the queue on each cycle (default every 10 min).

A related problem: an on-demand /support_bundle request does not coordinate with the background collector. Both can ask the same pipeline for profiles at the same time. After feldera/cloud#2164 this costs about 1 extra circuit step.

Possible fix

Collect due pipelines concurrently with a limit, for example stream::iter(to_collect).map(...).buffer_unordered(N), and reschedule each pipeline when its collection completes. Optionally, skip a background collection for a pipeline that has an on-demand collection in progress.

Low priority. Follow-up from feldera/cloud#2163.

-- Claude Code, at @blp's request.

Activity

  1. blp
    added
    performance
    Pipeline managerPipeline manager (API, API server, runner, compiler server)Pipeline manager (API, API server, runner, compiler server)
    Support BundleThings that concerns support bundles collectionsThings that concerns support bundles collections
    on Nov 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Pipeline managerPipeline manager (API, API server, runner, compiler server)Pipeline manager (API, API server, runner, compiler server)Support BundleThings that concerns support bundles collectionsThings that concerns support bundles collectionsperformance

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      You are visitor 01402503 — GeezerVison does not store the pages you look up.
      Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.