Fixed
- Redaction no longer raises
TypeErroror drops spans when a pattern matches
(#4833). OpenTelemetry freezes a
span's attributes when it ends, and the redaction processor tried to write into them, so any
match, including the defaultdb.statementpattern, raised into application code and the span
was never exported.LatitudeSpanProcessornow redacts span and event attributes in an
export-time view, so the span itself (shared with other processors on the provider) is never
modified. The SDK's own cost attributes are written after redaction, so a broad pattern such as
^gen_ai\.can't mask them, and cost is still resolved from the unredacted span. Redaction never
raises: a failingmaskor pattern masks that value with******(fail closed) and the span is
still exported. Used standalone,RedactSpanProcessornow points the ended span at redacted
copies instead of writing into frozen attributes. It also tracks processed spans in a weak set,
so its memory no longer grows with every span and a recycled object id can't skip redaction.