Skip to content

chore(source-stripe): lower default num_workers from 25 to 10#74092

Draft
Alfredo Garcia (agarctfi) wants to merge 1 commit intomasterfrom
devin/1772225831-stripe-lower-default-concurrency
Draft

chore(source-stripe): lower default num_workers from 25 to 10#74092
Alfredo Garcia (agarctfi) wants to merge 1 commit intomasterfrom
devin/1772225831-stripe-lower-default-concurrency

Conversation

@agarctfi
Copy link
Contributor

What

Lowers the default num_workers (concurrent workers) for the Stripe source connector from 25 to 10 for production API keys. The previous default of 25 was observed to consistently trigger Stripe API rate limiting on live connections.

This was identified through a week-long monitoring exercise on a production connection: 25 and 20 workers both caused repeated sync failures due to rate limiting, while 10 workers synced reliably. Incremental testing from 10→14 workers all succeeded on incremental syncs, but since Stripe uses StateDelegatingStream, the initial full-refresh sync is more concurrency-intensive and 10 was the first value that passed cleanly.

How

Three locations in manifest.yaml updated to change the production default from 25 to 10:

  1. Spec default (line 1924): The user-facing default shown in the UI
  2. Config migration condition (line 1949): Fallback value in a migration that converts num_workers=1 to 2. Functionally unchanged since neither 25 nor 10 equals 1, but updated for consistency.
  3. Runtime concurrency level (line 1954): The actual fallback used when num_workers is not explicitly configured. Test/sandbox keys still default to 4.

Review guide

  1. airbyte-integrations/connectors/source-stripe/manifest.yaml — all three changes are in close proximity (lines 1919–1954)
    • Most important: Line 1954 (default_concurrency) — this is the runtime behavior change
    • Line 1924 (default: 10) — UI/spec default
    • Line 1949 — consistency change only, no behavioral impact

Key questions for reviewer:

  • Is lowering the default for all production Stripe users appropriate, or should this be scoped differently?
  • Should this include a version bump to trigger a connector release?
  • Existing connections with num_workers explicitly set are unaffected; only connections relying on the default will see a change.

User Impact

  • New connections: Will default to 10 concurrent workers instead of 25, reducing likelihood of rate limiting at the cost of potentially slower syncs.
  • Existing connections with explicit num_workers: No impact — their configured value is preserved.
  • Existing connections using the default: Will drop from 25 to 10 workers on next sync after this version is deployed, which should reduce rate-limit failures.

Can this PR be safely reverted and rolled back?

  • YES 💚

Link to Devin run: https://app.devin.ai/sessions/1194ea9a614a4ad992a36c89471eddd8
Requested by: Alfredo Garcia (@agarctfi)

Reduces the default concurrent worker count for production Stripe API
keys from 25 to 10 to avoid rate limiting. Testing on a live connection
showed that 25 and 20 workers consistently triggered rate limits, while
10 workers ran reliably without issues.

Co-Authored-By: alfredo.garcia@airbyte.io <freddy.garcia7.fg@gmail.com>
@devin-ai-integration
Copy link
Contributor

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@github-actions
Copy link
Contributor

👋 Greetings, Airbyte Team Member!

Here are some helpful tips and reminders for your convenience.

💡 Show Tips and Tricks

PR Slash Commands

Airbyte Maintainers (that's you!) can execute the following slash commands on your PR:

  • 🛠️ Quick Fixes
    • /format-fix - Fixes most formatting issues.
    • /bump-version - Bumps connector versions, scraping changelog description from the PR title.
  • ❇️ AI Testing and Review (internal link: AI-SDLC Docs):
    • /ai-prove-fix - Runs prerelease readiness checks, including testing against customer connections.
    • /ai-canary-prerelease - Rolls out prerelease to 5-10 connections for canary testing.
    • /ai-review - AI-powered PR review for connector safety and quality gates.
  • 🚀 Connector Releases:
    • /publish-connectors-prerelease - Publishes pre-release connector builds (tagged as {version}-preview.{git-sha}) for all modified connectors in the PR.
    • /bump-progressive-rollout-version - Bumps connector version with an RC suffix (2.16.10-rc.1) for progressive rollouts (enableProgressiveRollout: true).
      • Example: /bump-progressive-rollout-version changelog="Add new feature for progressive rollout"
  • ☕️ JVM connectors:
    • /update-connector-cdk-version connector=<CONNECTOR_NAME> - Updates the specified connector to the latest CDK version.
      Example: /update-connector-cdk-version connector=destination-bigquery
    • /bump-bulk-cdk-version bump=patch changelog='foo' - Bump the Bulk CDK's version. bump can be major/minor/patch.
  • 🐍 Python connectors:
    • /poe connector source-example lock - Run the Poe lock task on the source-example connector, committing the results back to the branch.
    • /poe source example lock - Alias for /poe connector source-example lock.
    • /poe source example use-cdk-branch my/branch - Pin the source-example CDK reference to the branch name specified.
    • /poe source example use-cdk-latest - Update the source-example CDK dependency to the latest available version.
  • ⚙️ Admin commands:
    • /force-merge reason="<REASON>" - Force merges the PR using admin privileges, bypassing CI checks. Requires a reason.
      Example: /force-merge reason="CI is flaky, tests pass locally"
📚 Show Repo Guidance

Helpful Resources

📝 Edit this welcome message.

@github-actions
Copy link
Contributor

source-stripe Connector Test Results

209 tests   206 ✅  21m 4s ⏱️
  2 suites    3 💤
  2 files      0 ❌

Results for commit 7796b44.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants