Skip to content

fix(source-postgres): Don't store INFINITY in Airbyte numeric types#78305

Draft
Matt Bayley (mwbayley) wants to merge 2 commits into
masterfrom
mbayley/source-postgres/null-infinities
Draft

fix(source-postgres): Don't store INFINITY in Airbyte numeric types#78305
Matt Bayley (mwbayley) wants to merge 2 commits into
masterfrom
mbayley/source-postgres/null-infinities

Conversation

@mwbayley
Copy link
Copy Markdown
Contributor

@mwbayley Matt Bayley (mwbayley) commented May 21, 2026

Fix cases where "INFINITY" is passed as a numeric value to destinations

Can this PR be safely reverted and rolled back?

  • YES 💚
  • NO ❌

Important

Active progressive rollout warning for source-postgres.

  • (Click to Approve:) Bypass the active progressive rollout warning for source-postgres in the PR comment here.

@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.
  • 📝 AI Documentation:
    • /ai-docs-review - AI-powered documentation review for PRs with connector changes.
    • /ai-create-docs-pr - Creates a documentation PR for connector changes, stacked on the current PR.
  • 🚀 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 May 21, 2026

Detected source-postgres Active Rollout: true

Important

Active progressive rollout warning for source-postgres.

To bypass this warning, click on the matching checkbox in the PR description. Look for the checkbox text:

(Click to Approve:) Bypass the active progressive rollout warning for source-postgres in the PR comment

  • Rollout version: 3.8.0-rc.11
  • Rollout state: in_progress

Version on master Branch: 3.8.0-rc.11

  • RC marker on master branch: true

PR Description Checkbox Status

  • Bypass checkbox checked: false

ℹ️ More Information

Show/hide details...

🤔 What happens if this PR is merged

Checking the checkbox will allow the PR to merge, but it does not necessarily stop the active rollout by itself. The result of the PR merging depends on what connector version is published.

Expected outcomes by type of version number change:

If connector version is not modified in this PR...

No new connector version should be released, and the active rollout should continue unchanged.

If the connector version changes from RC to non-RC (GA) version...

The merged PR may publish the GA version and make it default for eligible non-pinned actors. The existing rollout is not stopped immediately by the merge, but the rollout worker can later cancel it as superseded when finalizing.

If the connector version increments to a higher `-rc` version...

The merged PR may publish a new release candidate and replace the active RC marker. The previous incomplete rollout is canceled without unpinning, and a new rollout is created for the subsequent RC version.

🔁 How to rerun this check

To rerun the check, simply check and uncheck the box, or else modify the PR description and/or title in any way.

Alternatively, you can find the Active Progressive Rollout CI workflow and manually rerun it (although this is generally slower than the above methods).


This comment will be updated as PR and/or rollout status changes.

Workflow run

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 21, 2026

source-postgres Connector Test Results

 14 files   14 suites   15m 34s ⏱️
 92 tests  92 ✅ 0 💤 0 ❌
286 runs  286 ✅ 0 💤 0 ❌

Results for commit 3b4adc8.

♻️ This comment has been updated with latest results.

@mwbayley Matt Bayley (mwbayley) force-pushed the mbayley/source-postgres/null-infinities branch from 2bbff3b to 890eb60 Compare May 22, 2026 22:32
@mwbayley Matt Bayley (mwbayley) force-pushed the mbayley/source-postgres/null-infinities branch from 890eb60 to 19b5d54 Compare May 22, 2026 23:12
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Changes to this file make no modifications to behavior. I had originally tried to not modify this file from the previous connector, but the streamed array lookups were making my eyes bleed.

@mwbayley
Copy link
Copy Markdown
Contributor Author

The plan is to pick up the CDK changes from #78091 as soon as it is merged, and then use this PR to release 3.8.0.

@github-actions
Copy link
Copy Markdown
Contributor

Deploy preview for airbyte-docs ready!

Project:airbyte-docs
Status: ✅  Deploy successful!
Preview URL:https://airbyte-docs-qgcj7a6en-airbyte-growth.vercel.app
Latest Commit:3b4adc8

Deployed with vercel-action

DoubleFieldType -> Jsons.numberNode(input.asDouble())
// Narrow numeric nodes to the right precision so the codec's
// IEEE-754 roundtrip check passes (Debezium emits float4 values as
// DoubleNode in JSON). For non-numeric forms — e.g. TextNode("Infinity")
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Does the fact that java Double type supports +/- infinity value matte here?
"Infinity" is a string representing the value of 7FF0000000000000
"-Infinity" is FFF0000000000000.

Is it incorrect to expect these values?
the value is also in IEEE-754

@devin-ai-integration
Copy link
Copy Markdown
Contributor

↪️ Escalated to #human-in-the-loop per Hands-Free AI Triage Project triage next step.

Reason: Draft source-postgres INFINITY PR is waiting on related CDK/connector dependency work and has rollout-gate failures; keep blocked pending dependency resolution.

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