Skip to content

Remove deprecated redact-query-parameters and db-sqlcommenter configurations#18229

Merged
trask merged 11 commits into
open-telemetry:mainfrom
trask:remove-more-deprecated-props
Apr 25, 2026
Merged

Remove deprecated redact-query-parameters and db-sqlcommenter configurations#18229
trask merged 11 commits into
open-telemetry:mainfrom
trask:remove-more-deprecated-props

Conversation

@trask

@trask trask commented Apr 23, 2026

Copy link
Copy Markdown
Member

These are both experimental and so can be removed in minor release.

@trask trask changed the title Remove deprecated experimental redact-query-parameters and db-sqlcommenter configuration Remove deprecated experimental redact-query-parameters and db-sqlcommenter configurations Apr 23, 2026
@otelbot-java-instrumentation otelbot-java-instrumentation Bot added the test native This label can be applied to PRs to trigger them to run native tests label Apr 23, 2026
@trask trask changed the title Remove deprecated experimental redact-query-parameters and db-sqlcommenter configurations Remove deprecated redact-query-parameters and db-sqlcommenter configurations Apr 23, 2026
@trask
trask marked this pull request as ready for review April 23, 2026 14:19
@trask
trask requested a review from a team as a code owner April 23, 2026 14:19
@trask
trask requested a review from Copilot April 23, 2026 14:23
@trask
trask force-pushed the remove-more-deprecated-props branch from e050cb4 to e707056 Compare April 23, 2026 14:34
@trask
trask enabled auto-merge (squash) April 23, 2026 14:35

Copilot AI left a comment

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.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Removes deprecated experimental configuration knobs for URL query redaction and DB SQLCommenter, and aligns instrumentation metadata with the newer sanitization configuration.

Changes:

  • Replaced otel.instrumentation.http.client.experimental.redact-query-parameters with otel.instrumentation.sanitization.url.experimental.sensitive-query-parameters across instrumentation metadata.
  • Removed support (and related warnings/tests/mappings) for deprecated otel.instrumentation.common.experimental.db-sqlcommenter.enabled.
  • Updated Spring Boot configuration metadata and docs/changelog to reflect the removals.

Reviewed changes

Copilot reviewed 41 out of 41 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
instrumentation/vertx/vertx-http-client/vertx-http-client-5.0/metadata.yaml Swap deprecated redact boolean to new sensitive query parameter list config.
instrumentation/vertx/vertx-http-client/vertx-http-client-4.0/metadata.yaml Same config metadata replacement for Vert.x 4.x.
instrumentation/vertx/vertx-http-client/vertx-http-client-3.0/metadata.yaml Same config metadata replacement for Vert.x 3.x.
instrumentation/spring/spring-boot-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json Remove deprecated Spring property metadata; add new property metadata.
instrumentation/reactor/reactor-netty/reactor-netty-1.0/metadata.yaml Replace deprecated redact boolean metadata with new list config.
instrumentation/ratpack/ratpack-1.7/metadata.yaml Replace deprecated redact boolean metadata with new list config.
instrumentation/play/play-ws/play-ws-2.1/metadata.yaml Replace deprecated redact boolean metadata with new list config.
instrumentation/play/play-ws/play-ws-2.0/metadata.yaml Replace deprecated redact boolean metadata with new list config.
instrumentation/play/play-ws/play-ws-1.0/metadata.yaml Replace deprecated redact boolean metadata with new list config.
instrumentation/pekko/pekko-http-1.0/metadata.yaml Remove deprecated redact boolean metadata; add new list config.
instrumentation/okhttp/okhttp-3.0/metadata.yaml Replace deprecated redact boolean metadata with new list config.
instrumentation/okhttp/okhttp-2.2/metadata.yaml Replace deprecated redact boolean metadata with new list config.
instrumentation/netty/netty-4.1/metadata.yaml Remove deprecated redact boolean metadata; add new list config.
instrumentation/netty/netty-4.0/metadata.yaml Remove deprecated redact boolean metadata; add new list config.
instrumentation/netty/netty-3.8/metadata.yaml Remove deprecated redact boolean metadata; add new list config.
instrumentation/kubernetes-client-7.0/metadata.yaml Replace deprecated redact boolean metadata with new list config (incl declarative_name).
instrumentation/ktor/ktor-3.0/metadata.yaml Replace deprecated redact boolean metadata with new list config (incl declarative_name).
instrumentation/ktor/ktor-2.0/metadata.yaml Replace deprecated redact boolean metadata with new list config (incl declarative_name).
instrumentation/jodd-http-4.2/metadata.yaml Replace deprecated redact boolean metadata with new list config.
instrumentation/jetty-httpclient/jetty-httpclient-9.2/metadata.yaml Replace deprecated redact boolean metadata with new list config.
instrumentation/jetty-httpclient/jetty-httpclient-12.0/metadata.yaml Replace deprecated redact boolean metadata with new list config (incl declarative_name).
instrumentation/jdbc/library/src/main/java/io/opentelemetry/instrumentation/jdbc/OpenTelemetryDriver.java Remove deprecated db-sqlcommenter system property fallback and warning.
instrumentation/java-http-client/metadata.yaml Replace deprecated redact boolean metadata with new list config (incl declarative_name).
instrumentation/http-url-connection/metadata.yaml Replace deprecated redact boolean metadata with new list config (incl declarative_name).
instrumentation/google-http-client-1.19/metadata.yaml Replace deprecated redact boolean metadata with new list config (incl declarative_name).
instrumentation/async-http-client/async-http-client-2.0/metadata.yaml Replace deprecated redact boolean metadata with new list config.
instrumentation/async-http-client/async-http-client-1.9/metadata.yaml Replace deprecated redact boolean metadata with new list config.
instrumentation/async-http-client/async-http-client-1.8/metadata.yaml Replace deprecated redact boolean metadata with new list config (incl declarative_name).
instrumentation/armeria/armeria-1.3/metadata.yaml Remove deprecated redact boolean metadata; add new list config (incl declarative_name).
instrumentation/apache-httpclient/apache-httpclient-5.0/metadata.yaml Replace deprecated redact boolean metadata with new list config.
instrumentation/apache-httpclient/apache-httpclient-4.0/metadata.yaml Replace deprecated redact boolean metadata with new list config.
instrumentation/apache-httpclient/apache-httpclient-2.0/metadata.yaml Replace deprecated redact boolean metadata with new list config.
instrumentation/apache-httpasyncclient-4.1/metadata.yaml Replace deprecated redact boolean metadata with new list config.
instrumentation/akka/akka-http-10.0/metadata.yaml Remove deprecated redact boolean metadata; add new list config.
instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/config/internal/DbConfigTest.java Remove test covering deprecated db-sqlcommenter fallback.
instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/config/internal/DbConfig.java Remove deprecated db-sqlcommenter fallback + warning helper.
instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/config/internal/CommonConfig.java Remove deprecated redact boolean handling; rely on new sensitive query parameters list.
declarative-config-bridge/src/test/java/io/opentelemetry/instrumentation/config/bridge/ConfigPropertiesBackedDeclarativeConfigPropertiesTest.java Remove mapping test for deprecated db-sqlcommenter property.
declarative-config-bridge/src/main/java/io/opentelemetry/instrumentation/config/bridge/ConfigPropertiesBackedDeclarativeConfigProperties.java Remove special mapping for deprecated redact boolean property.
CHANGELOG.md Document removal of both deprecated experimental config properties.
.github/agents/knowledge/metadata-yaml-format.md Remove deprecated mapping reference from metadata format docs.
Comments suppressed due to low confidence (2)

instrumentation/vertx/vertx-http-client/vertx-http-client-5.0/metadata.yaml:1

  • The config is declared as type: list, but the default is a single CSV string. If tooling expects a YAML sequence for list defaults, this will be parsed/serialized incorrectly (and can break generated docs/metadata). Consider expressing the default as a YAML list (sequence) or, if CSV is the intended representation, change type/description to explicitly indicate a comma-separated string.
    instrumentation/spring/spring-boot-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json:1
  • For Spring Boot configuration metadata, type is List<String> but defaultValue is a single CSV string. This can confuse IDE metadata consumers and config hints. Consider making defaultValue a JSON array of strings, or documenting that the list is provided as a comma-separated string (and keep it consistent with how Spring binder expects the property to be configured).

@trask
trask force-pushed the remove-more-deprecated-props branch from c5a864a to 5a5530f Compare April 23, 2026 15:55
trask added 2 commits April 23, 2026 20:32
The declarative_name mapping for peer-service-mapping (a map type) is handled as a special structured list case in ConfigPropertiesBackedDeclarativeConfigProperties and does not round-trip through the simple flat-property bridge used by DeclarativeConfigValidationTest. No other metadata.yaml declares a declarative_name for this property; drop it here to match and fix the failing test.
@trask
trask force-pushed the remove-more-deprecated-props branch from db1266b to e42d288 Compare April 24, 2026 15:25
…ted-props

# Conflicts:
#	instrumentation/okhttp/okhttp-3.0/metadata.yaml
#	instrumentation/ratpack/ratpack-1.7/metadata.yaml
@trask
trask force-pushed the remove-more-deprecated-props branch from e42d288 to 8bc1ec7 Compare April 24, 2026 15:27
trask added 3 commits April 24, 2026 10:17
The declarative_name was previously removed in bbca603 to fix the
DeclarativeConfigValidationTest, but it was reintroduced when merging
upstream/main (which still carried the line). Remove it again.
…ted-props

# Conflicts:
#	instrumentation/vertx/vertx-http-client/vertx-http-client-3.0/metadata.yaml
#	instrumentation/vertx/vertx-http-client/vertx-http-client-4.0/metadata.yaml
#	instrumentation/vertx/vertx-http-client/vertx-http-client-5.0/metadata.yaml
@trask
trask merged commit a1abe01 into open-telemetry:main Apr 25, 2026
96 checks passed
@trask
trask deleted the remove-more-deprecated-props branch April 25, 2026 21:12
jpkrohling added a commit to ollygarden/opentelemetry-agent-skills that referenced this pull request Jul 15, 2026
…y default, redaction and capture knobs (#136)

## Summary

Fills a factual gap surfaced while working ollygarden/skills#29:
`otel-java` had nothing on what Java HTTP instrumentation captures from
requests, so answering "does the agent export query strings, and how do
I stop it?" required external research. These are vendor-neutral
upstream facts and belong here.

New `references/sensitive-data-capture.md`, registered in the references
table:

- The default-capture asymmetry: headers, servlet request parameters,
and SQL bound values are **off** by default, but the raw query string
(`url.query` / inside `url.full`) is **on**, with only four credential
parameters redacted.
-
`otel.instrumentation.sanitization.url.experimental.sensitive-query-parameters`:
list semantics, **full-override** (not additive) behavior,
declarative-config name, and the removal of the old client-only
`redact-query-parameters` property
([#18229](open-telemetry/opentelemetry-java-instrumentation#18229)).
- The fact that **no property drops the query string entirely** —
post-processing options (SpanProcessor via autoconfigure SPI / agent
extension, or Collector `transform`/`redaction`).
- The opt-in capture knobs (header and servlet-parameter capture) and
current SQL-sanitization toggles with the deprecated spellings.
- Sources-of-truth fetch table (upstream HTTP config docs,
instrumentation `metadata.yaml`, CHANGELOG, semconv).

Every property name/default was verified against the upstream docs page,
an instrumentation `metadata.yaml`, and the CHANGELOG (fetch commands
are in the file's sources-of-truth table).

The companion opinion ("do not export query strings by default") lands
in `ollygarden-otel-java-setup` via ollygarden/skills#29, which
cross-references this file for mechanics — keeping opinions and upstream
facts separated per contributing guidelines.

## Agent involvement

Authored by an AI coding agent (Claude Code); reviewed and owned by
@jpkroehling.

## Harness results (required for new or substantively changed skills)

- **Prompt context:** Java showcase vibe run (2026-07-14,
spring-petclinic, openai/gpt-5.6-sol via opencode, hermetic harness) —
with the current `otel-java` skill installed and invoked, the agent
shipped instrumentation exporting `lastName=Owner58_88584` in
`url.query` (deterministic PII check FAIL, 2/40 Tempo traces); the skill
offered no capture/redaction facts to consult.
- **With this reference (micro-test, 2026-07-15):** a fresh hermetic
planning session with the updated skill set produced the
`sensitive_query_parameters` configuration block and an explicit
query-value redaction plan item, unprompted. Full A/B re-run
(`t3-vibe-java-r2`) follows once the paired opinion PR merges.
- Transcripts live in the (remote-less) showcase meta-repo `results/`;
available on request.

## Checklist

- [x] `skills-ref validate skills/otel-java` passes
- [x] Content is vendor-neutral upstream fact, verified against sources
of truth
- [x] Harness comparison results included above
- [x] Commit messages follow Conventional Commits
- [x] I have signed the OllyGarden CLA
- [x] I have read and will follow the Code of Conduct

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

test native This label can be applied to PRs to trigger them to run native tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants