Repository navigation
[SVLS-8713] fix(logs): send additional endpoints the Datadog intake format when OPW is on - #1449
Draft
litianningdatadog wants to merge 1 commit into
Conversation
This was referenced Oct 21, 2026
Draft
Draft
Draft
❌ ErrorsYour PR has failed checks. Please review the issues below and take necessary action before merging. 🚦 1 Pipeline job failed
ℹ️ Info🔄 Datadog auto-retried 2 jobs - 0 passed on retry Useful? React with 👍 / 👎 This comment will be updated automatically if new data arrives.🔗 Commit SHA: 897463e | Docs | View more details | Give us feedback! |
…PW is on Why: with Observability Pipelines Worker enabled, the extension also treated every additional logs endpoint as a worker. Those endpoints are Datadog intakes, so they received requests at the wrong path (no /api/v2/logs), without the DD-PROTOCOL header, and uncompressed. What: only the primary endpoint follows the OPW setting now. Additional endpoints always get /api/v2/logs, DD-PROTOCOL: agent-json, and compression per DD_LOGS_CONFIG_USE_COMPRESSION. Each batch is still compressed only once and shared by every endpoint that sends compressed data. The contract test that pinned the old behavior now checks the fixed one, and a new test covers the case with compression off. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
litianningdatadog
force-pushed
the
tianning.li/logs-bc-fix-1-opw-extras
branch
from
October 21, 2026 19:53
23e4789 to
897463e
Compare
litianningdatadog
force-pushed
the
tianning.li/logs-bc-0-contract-tests
branch
from
October 21, 2026 19:53
3aefa30 to
31214a0
Compare
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.
Overview
Part of SVLS-8713: bottlecap is replacing its own logs aggregator and flusher with the shared
datadog-logs-agentcrate from serverless-components. Lambda users must not notice the swap, so the plan is: pin today's behavior with tests (this stack), fix two real bugs first so the swap stays a pure refactor (this stack), then swap the aggregator and the flusher (bc-1 and bc-2, which will be opened after the serverless-components PRs merge).Bug: with Observability Pipelines Worker enabled, every additional logs endpoint was also treated as a worker. Those endpoints are Datadog intakes, so they got requests at the wrong path (no
/api/v2/logs), withoutDD-PROTOCOL, and uncompressed.Fix: only the primary endpoint follows the OPW setting. Additional endpoints always get
/api/v2/logs,DD-PROTOCOL: agent-json, and compression perDD_LOGS_CONFIG_USE_COMPRESSION. Each batch is still compressed only once and shared by every endpoint that sends compressed data; raw batches are freed as soon as nothing needs them.Fixed before the swap so the swap itself stays a pure refactor (the shared crate already behaves correctly here). User-facing: worth a release note.
Testing
757 tests pass. The contract test that pinned the old behavior now checks the fixed one; a new test covers OPW with compression off. clippy and fmt clean.
Stack
Each PR is nested under the PR it builds on (and targets). Review and merge from the top down.
serverless-components (
datadog-logs-agentoptions; merge first)maindefault/fipsfeaturesretry()+FlushPolicydatadog-lambda-extension (bottlecap)
main🤖 Generated with Claude Code