Skip to content

chore(source-jira): bump SDM base image for deadlock fix (CDK PR #977)#76354

Merged
Anatolii Yatsuk (tolik0) merged 5 commits intomasterfrom
devin/1776266721-source-jira-dev-cdk-deadlock-fix
Apr 22, 2026
Merged

chore(source-jira): bump SDM base image for deadlock fix (CDK PR #977)#76354
Anatolii Yatsuk (tolik0) merged 5 commits intomasterfrom
devin/1776266721-source-jira-dev-cdk-deadlock-fix

Conversation

@devin-ai-integration
Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration Bot commented Apr 15, 2026

What

Updates source-jira to use the dev build of source-declarative-manifest from airbytehq/airbyte-python-cdk#977, which fixes a confirmed deadlock in ConcurrentMessageRepository where the main thread (sole queue consumer) could block on queue.put() when the queue was full.

Requested by Anatolii Yatsuk (@tolik0) in response to https://github.com/airbytehq/oncall/issues/11979 — Jira syncs hanging indefinitely on large instances (approximately 120K issues) due to CDK-level stdout pipe backpressure deadlock.

How

  • Swaps the source-declarative-manifest base image from released 7.17.2 to dev build 7.16.0.post1.dev23950401533 (published from CDK PR airbytehq/airbyte-python-cdk#977, workflow run 23950401533)
  • Bumps dockerImageTag from 4.3.19 to 4.3.20 (master released 4.3.19 for routine dependency updates while this PR was open, so this bump avoids a version collision)
  • Adds changelog entry for 4.3.20

What the dev CDK build includes

Deadlock fix: Fixes the ConcurrentMessageRepository deadlock where the main thread (sole queue consumer) could block on queue.put() when the queue was full. The main thread now uses put(block=False) and buffers messages in a deque that is drained via consume_queue(). Worker threads continue to use blocking put() for normal backpressure.

Review guide

  1. airbyte-integrations/connectors/source-jira/metadata.yaml — base image and version bump
    • The base image is a dev build (7.16.0.post1.dev23950401533), not a released version — this is intentional for testing the CDK fix against the Jira connector before the CDK change is merged to main
  2. docs/integrations/sources/jira.md — new changelog row for 4.3.20

User Impact

Connectors built from this PR will use the dev SDM image containing the deadlock fix from CDK PR airbytehq/airbyte-python-cdk#977. This should resolve the sync hanging issue reported for large Jira instances.

Can this PR be safely reverted and rolled back?

  • YES 💚
  • NO ❌

Link to Devin session: https://app.devin.ai/sessions/5f9810ecbd1e4d00a8c8cae2963b3853


Open with Devin

…t diagnostics (CDK PR #953)

Co-Authored-By: gl_anatolii.yatsuk <gl_anatolii.yatsuk@airbyte.io>
@devin-ai-integration
Copy link
Copy Markdown
Contributor Author

🤖 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

Co-Authored-By: gl_anatolii.yatsuk <gl_anatolii.yatsuk@airbyte.io>
@github-actions
Copy link
Copy Markdown
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.
      • Bump types: patch (default), minor, major, major_rc, rc, promote.
      • The rc type is a smart default: applies minor_rc if stable, or bumps the RC number if already RC.
      • The promote type strips the RC suffix to finalize a release.
      • Example: /bump-version type=rc or /bump-version type=minor
    • /bump-progressive-rollout-version - Alias for /bump-version type=rc. Bumps with an RC suffix and enables progressive rollout.
  • ❇️ 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.
  • ☕️ 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
  • 🐍 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
Copy Markdown
Contributor

github-actions Bot commented Apr 15, 2026

Deploy preview for airbyte-docs ready!

✅ Preview
https://airbyte-docs-69i26y4xk-airbyte-growth.vercel.app

Built with commit fe6ca4b.
This pull request is being automatically deployed with vercel-action

Copy link
Copy Markdown
Contributor Author

@devin-ai-integration devin-ai-integration Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 1 additional finding.

Open in Devin Review

@tolik0
Copy link
Copy Markdown
Contributor

Anatolii Yatsuk (tolik0) commented Apr 15, 2026

/publish-connectors-prerelease

Pre-release Connector Publish Started

Publishing pre-release build for connector source-jira.
PR: #76354

Pre-release versions will be tagged as {version}-preview.fe6ca4b
and are available for version pinning via the scoped_configuration API.

View workflow run
Pre-release Publish: SUCCESS

Docker image (pre-release):
airbyte/source-jira:4.3.19-preview.fe6ca4b

Docker Hub: https://hub.docker.com/layers/airbyte/source-jira/4.3.19-preview.fe6ca4b

Registry JSON:

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 15, 2026

source-jira Connector Test Results

283 tests   278 ✅  12m 47s ⏱️
  2 suites    5 💤
  2 files      0 ❌

Results for commit 61bb9aa.

♻️ This comment has been updated with latest results.

Co-Authored-By: gl_anatolii.yatsuk <gl_anatolii.yatsuk@airbyte.io>
Co-Authored-By: gl_anatolii.yatsuk <gl_anatolii.yatsuk@airbyte.io>
@devin-ai-integration devin-ai-integration Bot changed the title chore(source-jira): bump SDM base image for deadlock fix and heartbeat diagnostics (CDK PR #953) chore(source-jira): bump SDM base image for deadlock fix (CDK PR #977) Apr 21, 2026
Co-Authored-By: gl_anatolii.yatsuk <gl_anatolii.yatsuk@airbyte.io>
@tolik0 Anatolii Yatsuk (tolik0) marked this pull request as ready for review April 21, 2026 14:51
@tolik0
Copy link
Copy Markdown
Contributor

Anatolii Yatsuk (tolik0) commented Apr 21, 2026

/ai-canary-prerelease

AI Canary Prerelease Started

Rolling out to 5-10 connections, watching results, and reporting findings.
View workflow run
🐤 AI Canary Prerelease session starting... Rolling out to 5-10 connections, watching results, and reporting findings. View playbook

Devin AI session created successfully!

@devin-ai-integration
Copy link
Copy Markdown
Contributor Author

Canary Prerelease: Starting

Beginning canary prerelease testing for this PR.

  • Session: https://app.devin.ai/sessions/7f79e58c16454361940965c8698a5009
  • Plan:
    1. Read PR context and prior canary runs
    2. Evaluate breaking-change / reversibility gate
    3. Select 5–10 canary connections (prioritizing any pinned in prior runs on this PR)
    4. Request approval to pin and deploy prerelease
    5. Monitor for 2–4+ hours and post periodic updates
    6. Post a final PASS / FAIL / BLOCKED verdict

Customer PII will remain in the private issue; public comments use anonymized references (e.g. Internal-A-US-1).

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 21, 2026

Pre-release Connector Publish Started

Publishing pre-release build for connector source-jira.
PR: #76354

Pre-release versions will be tagged as {version}-preview.61bb9aa
and are available for version pinning via the scoped_configuration API.

View workflow run
Pre-release Publish: SUCCESS

Docker image (pre-release):
airbyte/source-jira:4.3.20-preview.61bb9aa

Docker Hub: https://hub.docker.com/layers/airbyte/source-jira/4.3.20-preview.61bb9aa

Registry JSON:

@devin-ai-integration
Copy link
Copy Markdown
Contributor Author

Canary Deployment Status

Pinned source-jira@4.3.20-preview.61bb9aa to 8 canary actors. All actors were previously on 4.3.19 (GA) with no prior pin.

Connection Region Destination Tier
Internal-A-US-1 US (internal) TIER_2
Internal-B-US-1 US (internal) TIER_2
Customer-C-US-1 US BigQuery TIER_2
Customer-D-EU-1 EU Supabase TIER_2
Customer-E-USC-1 US-Central BigQuery TIER_2
Customer-F-EU-1 EU Snowflake TIER_2
Customer-G-EU-1 EU S3 TIER_2
Customer-H-US-1 US BigQuery TIER_2

Full workspace/actor mapping is in the private oncall issue.

Monitoring window begins now. I will post updates approximately every 1-2 hours and a final PASS/FAIL/BLOCKED verdict after 2-4h minimum.


Devin session

@devin-ai-integration
Copy link
Copy Markdown
Contributor Author

Canary Monitoring Update (~45 min in)

Monitoring source-jira@4.3.20-preview.61bb9aa across 8 canary actors since approximately 15:20 UTC.

Connection Post-pin syncs Success Failed Notes
Internal-A-US-1 1 1 0 Jira → BigQuery
Internal-B-US-1 1 1 0 Jira → Postgres
Customer-C-US-1 0 - - Jira → Jira (low cadence, not yet scheduled)
Customer-D-EU-1 1 1 0 Jira → Supabase
Customer-E-USC-1 0 - - Jira → BigQuery (low cadence)
Customer-F-EU-1 0 - - Jira → Snowflake (daily cadence)
Customer-G-EU-1 2 2 0 Jira → S3
Customer-H-US-1 0 - - Jira → BigQuery (not yet scheduled)

Overall status: HEALTHY (5/5 post-pin syncs succeeded, 0 failures, 0 hangs).

Continuing to monitor for a minimum 2-4 h window. Next update in approximately 60-90 min.


Devin session

@devin-ai-integration
Copy link
Copy Markdown
Contributor Author

Canary Monitoring Update (~1h in)

Continuing to monitor source-jira@4.3.20-preview.61bb9aa across 8 canary actors.

Connection Post-pin syncs Success Failed Notes
Internal-A-US-1 1 1 0 Jira → BigQuery
Internal-B-US-1 2 2 0 Jira → Postgres
Customer-C-US-1 0 - - Jira → Jira (low cadence, not yet run)
Customer-D-EU-1 1 1 0 Jira → Supabase
Customer-E-USC-1 0 - - Jira → BigQuery (low cadence)
Customer-F-EU-1 0 - - Jira → Snowflake (daily cadence)
Customer-G-EU-1 2 2 0 Jira → S3
Customer-H-US-1 1 1 0 Jira → BigQuery

Totals: 7/7 post-pin syncs succeeded. 0 failures, 0 hangs, 0 cancellations.
Overall status: HEALTHY.

Continuing monitoring. Next update approximately 60-90 min.


Devin session

@devin-ai-integration
Copy link
Copy Markdown
Contributor Author

Canary Prerelease: Final Report

Connector: source-jira
Prerelease Version: 4.3.20-preview.61bb9aa
Monitoring Period: approximately 15:20 UTC → 17:40 UTC (approximately 2h 20m)
Connections Tested: 8 (2 internal + 6 customer)

Summary

The prerelease ran cleanly on the canary set. No regressions vs. prior 4.3.19 (GA) behavior: every post-pin sync completed, with no hangs, no new error patterns, and no cancellations. The base-image swap (to the CDK PR #977 build) does not disturb normal Jira sync execution on diverse destinations and regions.

Detailed Results

Connection Post-pin syncs Success Failures Notes
Internal-A-US-1 3 3 0 Jira → BigQuery (hourly)
Internal-B-US-1 3 3 0 Jira → Postgres (hourly)
Customer-C-US-1 0 - - Jira → Jira (low cadence — not yet scheduled in window; pin remains)
Customer-D-EU-1 2 2 0 Jira → Supabase
Customer-E-USC-1 0 - - Jira → BigQuery (low cadence; pin remains)
Customer-F-EU-1 0 - - Jira → Snowflake (daily cadence; pin remains)
Customer-G-EU-1 5 5 0 Jira → S3 (dual connections, approximately every 30 min)
Customer-H-US-1 2 2 0 Jira → BigQuery
Total 15 15 0

Canary Verdict

Overall Status: PASS

The prerelease performed well across all canary connections with post-pin activity. No sync failures, no hangs (the specific failure mode the CDK PR #977 fix targets), no cancellations, and no new error patterns observed. Recommend proceeding to formal release.

Caveats:

  • Three low-cadence connections (Customer-C, Customer-E, Customer-F) have pins in place but had not run by the end of the active window. Their pins will exercise the prerelease on their next scheduled runs while the PR remains open.
  • The canary set does not include a very large instance (approximately 120K issues) equivalent to the reported affected customer. Functional correctness is validated here; the specific large-instance deadlock case was proven separately by the targeted repro/validation that motivated this PR.

Next steps:

  1. Merge the PR to publish the release.
  2. Canary pins will be removed automatically after the PR is merged (I'll watch for merge/close and unpin).

For full customer details and canary connection mapping, see the private oncall record.


Devin session

@tolik0 Anatolii Yatsuk (tolik0) merged commit a0c130f into master Apr 22, 2026
51 of 52 checks passed
@tolik0 Anatolii Yatsuk (tolik0) deleted the devin/1776266721-source-jira-dev-cdk-deadlock-fix branch April 22, 2026 08:40
@devin-ai-integration
Copy link
Copy Markdown
Contributor Author

Canary Cleanup Complete

PR merged. All 8 canary pins have been removed — every actor is now on the new GA 4.3.20 with no override. No manual revert needed; the prerelease pins were effectively superseded by the GA release of the same version.

Canary lifecycle for source-jira 4.3.20-preview.61bb9aa is now closed with a PASS verdict.


Devin session

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.

3 participants