Declarative config fails SDK creation when a resource attribute value is null
I maintainer di solito rispondono entro 2 giorni
Una pull request collegata è già stata integrata.
- #8889 di @thswlsqls — integrata
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 85/100
Direzione di ricerca
Inizia con AttributeListFactory.addToBuilder() e confronta la sua gestione di null con OtlpDeclarativeConfigUtil, che ignora già i valori null. Esamina DeclarativeConfigurationParseTest per il comportamento di null in YAML, quindi aggiungi test che mostrino che un attributo della risorsa null viene ignorato e che l’SDK si avvia correttamente.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Describe the bug
A resource.attributes entry whose value is null makes declarative config throw DeclarativeConfigException: attribute value is required but is null, and the SDK fails to start.
Steps to reproduce
Add this to a config file and leave SERVICE_VERSION unset:
resource:
attributes:
- name: service.version
value: ${SERVICE_VERSION}
An unquoted, undefined variable is substituted as YAML null (asserted by DeclarativeConfigurationParseTest). Writing value: null has the same effect.
What did you expect to see?
The entry is ignored and the SDK starts. The configuration schema says nullBehavior: the entry is ignored for AttributeNameValue.value (added in open-telemetry/opentelemetry-configuration#617), and the generated AttributeNameValueModel Javadoc in this repo says "Property must be present, but if null the entry is ignored."
What did you see instead?
AttributeListFactory.addToBuilder() (line 43) calls FileConfigUtil.requireNonNull on the value and throws. OTLP headers, which have the same schema rule, already skip null values (OtlpDeclarativeConfigUtil).
What version and what artifacts are you using?
Artifacts: opentelemetry-sdk-extension-declarative-config
Version: main @ 7f423cbb1
How did you reference these artifacts? N/A (built from source)
Environment
Compiler: Temurin 21
OS: N/A
Additional context
N/A
- Lingua principale
- Java
- Stelle
- 2.5k
- Fork
- 1k
- Merge medio
- 3g 6h
- PR unite (30g)
- 67
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di open-telemetry/opentelemetry-java
-
Fix `otel.sdk.log.created` counting semanticsForse già presa @anuraaga l’ha presa 72 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
open-telemetry/opentelemetry-java#8688 ·
I maintainer di solito rispondono entro 2 giorni
-
Declarative config max_request_size: 0 fails SDK creation instead of meaning no limitForse già presa @thswlsqls l’ha presa 4 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 25/100
open-telemetry/opentelemetry-java#8940 · 1 commento · 1 reazione ·
I maintainer di solito rispondono entro 2 giorni
-
Support configuring PeriodicMetricReader maxExportBatchSize in autoconfigureForse già presa @psx95 l’ha presa 5 giorni fa. ApertaFeature Request
open-telemetry/opentelemetry-java#8936 · 1 assegnatario ·
I maintainer di solito rispondono entro 2 giorni
-
Feature Request
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
open-telemetry/opentelemetry-java#8831 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
Make declarative config YAML parsing and object mapping requirements pluggable via SPIForse di nuovo libera @jack-berg l’ha presa 33 giorni fa e non c’è nessuna pull request aperta. ApertaFeature Request
open-telemetry/opentelemetry-java#8820 · 3 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di open-telemetry/opentelemetry-java
Issue simili
-
False Negative: InnerTypeLastCheck does not report members declared after inner enums or annotationsAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
checkstyle/checkstyle#22027 ·
I maintainer di solito rispondono entro 1 giorno
-
bug follow-up lane:auto
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
Sanne/incus-spawn#1497 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
[CI] NettyClientTest.testServerDisconnection may fail with DisconnectExceptionForse già presa @yangshangqing95 l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100