Skip read-only integration pipelines instead of failing - #670
Closed
michael-richey wants to merge 1 commit into
Closed
Skip read-only integration pipelines instead of failing#670michael-richey wants to merge 1 commit into
michael-richey wants to merge 1 commit into
Conversation
Integration pipelines (is_read_only=true) are auto-managed by Datadog and cannot be created or modified via the public API. The create_resource method already attempts to trigger creation via the logs intake API, but when that fails it raises a bare Exception, causing 66 persistent failures on every sync run for orgs like Allstate that have many integration pipelines not present at the destination. Replace both Exception raises in create_resource with SkipResource: 1. When source extraction from the filter query fails 2. When the logs-intake trigger doesn't create the pipeline within the polling window This matches the existing behavior in update_resource, which already raises SkipResource for read-only pipelines.
Collaborator
Author
|
Closing — the root cause is not that we should skip read-only pipelines, but that the log-line trigger is using OBO (user) auth instead of a proper API key. The trigger mechanism itself is correct, it just can't authenticate properly. Will reopen with the auth fix. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Integration pipelines (
is_read_only: true) are auto-managed by Datadog and cannot be created or modified via the public API. Thecreate_resourcemethod attempts to trigger creation via the logs intake API, but when that fails it raises a bareException, causing 66 persistent failures on every sync run for orgs like Allstate that have many integration pipelines not present at the destination.The
update_resourcemethod already correctly raisesSkipResourcefor read-only pipelines, butcreate_resourcewas inconsistent — it raisedExceptionin two failure paths, which crashes the sync-cli subprocess (exit status 1) and causes the managed-sync wrapper to report all affected pipelines as failed.Evidence
From the Allstate (org
1245efdc) managed-sync run completed 2026-08-25 (trace3393806310996596045):http_4xx_404is_read_only: true— built-in integration pipelines (e.g. "aws vpc flow logs", "android logs", "ios logs", "java", "apache", "python")is_read_only: false(customer-created)logs_pipelines_orderis also stuck at 0/1 (1 skipped) because the order sync can never complete while read-only pipelines are missing at the destinationFix
Replace both
raise Exception(...)calls increate_resourcewithraise SkipResource(...):Both use the same
SkipResourceexception thatupdate_resourcealready uses for read-only pipelines (line ~190). The trigger-and-poll attempt is preserved (it may succeed for some integration pipelines), but when it doesn't, we skip instead of crashing the batch.Impact
Exception→ batch fails → counted as failed every runSkipResource→ counted as skipped (consistent withupdate_resource)logs_pipelinessuccess rate goes from 68.9% (146/212) to 100% (146/146 attempted, 66 skipped)logs_pipelines_ordermay also start succeeding since the order resource will no longer be blocked by failed pipeline entries