feat(data-drains): add GCS, Azure Blob, BigQuery, Snowflake, and Datadog destinations#4552
feat(data-drains): add GCS, Azure Blob, BigQuery, Snowflake, and Datadog destinations#4552waleedlatif1 wants to merge 3 commits intostagingfrom
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
PR SummaryMedium Risk Overview Introduces new destination implementations with provider-specific auth and delivery behavior (object uploads for GCS/Azure, streaming inserts for BigQuery, SQL API inserts + async polling for Snowflake, log intake posting + optional gzip for Datadog) plus extensive unit tests covering retries, limits, and error surfacing. Updates the API Reviewed by Cursor Bugbot for commit f56c6a2. Configure here. |
Greptile SummaryThis PR adds five new data-drain destinations — GCS, Azure Blob, BigQuery, Snowflake, and Datadog — each with full
Confidence Score: 4/5Three of the five new destinations have correctness defects that would leave active drain runs unresponsive to cancellation or break delivery for CRLF bodies; fixes are small and isolated. Snowflake and GCS retry loops call
Important Files Changed
Sequence DiagramsequenceDiagram
participant Driver as Drain Driver
participant Dest as Destination (GCS/SF/BQ/DD/Az)
participant Remote as Remote API
Driver->>Dest: openSession()
Dest-->>Driver: "{ deliver, close }"
loop per chunk
Driver->>Dest: "deliver({ body, metadata, signal })"
alt GCS / Azure Blob
Dest->>Remote: PUT object (NDJSON blob)
Remote-->>Dest: 2xx
else BigQuery
Dest->>Remote: tabledata.insertAll (JSON rows)
Remote-->>Dest: 200 + optional insertErrors
else Snowflake
Dest->>Remote: POST /api/v2/statements
Remote-->>Dest: 200 (sync) or 202 (async)
opt 202 async
loop poll
Dest->>Remote: "GET /api/v2/statements/{handle}"
Remote-->>Dest: 202 (still running) or 200 (done)
end
end
else Datadog
Dest->>Remote: POST /api/v2/logs (gzip optional)
Remote-->>Dest: 202 Accepted
end
Dest-->>Driver: "{ locator }"
end
Driver->>Dest: close()
Reviews (2): Last reviewed commit: "fix(data-drains): address PR review comm..." | Re-trigger Greptile |
|
@greptile |
|
@cursor review |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 4 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit f56c6a2. Configure here.

Summary
test()+openSession()/deliver()with provider-spec-correct auth, retry, byte-accurate size guards, and abort-signal forwardingtabledata.insertAllwith drainId-prefixed insertId dedup, partial-failure surfacing, 401 token refresh + 5xx/429 retryap2goog/google)@azure/storage-blobSDK with sovereign-cloudendpointSuffixsupportenterprise/data-drains.mdxType of Change
Testing
Tested manually. New unit tests cover schema validation, retry paths, byte-accurate size guards, gzip, sovereign-cloud routing, and partial-failure handling per destination.
Checklist