Skip to content

CAMEL-24558: Warn on unconsumed camel.aiObservability.* properties in Main - #26056

Merged
davsclaus merged 1 commit into
apache:mainfrom
atiaomar1978-hub:feature/CAMEL-24558-ai-observability-unconsumed-property-warning
Sep 3, 2026
Merged

CAMEL-24558: Warn on unconsumed camel.aiObservability.* properties in Main#26056
davsclaus merged 1 commit into
apache:mainfrom
atiaomar1978-hub:feature/CAMEL-24558-ai-observability-unconsumed-property-warning

Conversation

@atiaomar1978-hub

@atiaomar1978-hub atiaomar1978-hub commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Summary

Fixes CAMEL-24558 by logging a warning for leftover camel.aiObservability.* keys during Camel Main auto-configuration, matching the existing pattern used by camel.health, camel.opentelemetry2, and other configuration groups.

Problem

Typos such as camel.aiObservability.enable (instead of enabled) were not reported in the unconsumed-property warning pass, unlike other Main configuration groups.

Solution

After GenAI observability auto-configuration in BaseMainSupport, emit:

Property not auto-configured: camel.aiObservability.<key>=<value>

for any remaining aiObservabilityProperties entries.

Testing

Extended AiObservabilityConfigurationPropertiesTest with coverage for:

  • Unknown properties left unconsumed when autoConfigurationFailFast=false
  • Known enabled consumed while unknown enable remains unconsumed
  • Fail-fast exception when autoConfigurationFailFast=true (default)
  • Main startup ignores unknown typo properties when fail-fast is disabled (using enable=false so default enabled=true cannot mask accidental binding)
  • Properties-file typo scenario via ai-observability-unknown.properties
mvn test -pl core/camel-main -am -Dtest=AiObservabilityConfigurationPropertiesTest

Reviews

  • Bugbot: no issues found
  • Grok review feedback addressed (stronger typo tests, fail-fast cleanup, auto-configured property assertions)

CI note

Fork PR workflows may show action required until a Camel maintainer approves the GitHub Actions run.

AI-generated on behalf of atiaomar1978-hub

Log leftover aiObservability configuration keys in BaseMainSupport using
the same pattern as other Main configuration groups, and add tests for
fail-fast behavior, unconsumed property handling, and typo scenarios.

Co-authored-by: Cursor Agent <noreply@cursor.com>
@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

🌟 Thank you for your contribution to the Apache Camel project! 🌟
🤖 CI automation will test this PR automatically.

🐫 Apache Camel Committers, please review the following items:

  • First-time contributors require MANUAL approval for the GitHub Actions to run
  • You can use the command /component-test (camel-)component-name1 (camel-)component-name2.. to request a test from the test bot although they are normally detected and executed by CI.
  • You can label PRs using skip-tests and test-dependents to fine-tune the checks executed by this PR.
  • Build and test logs are available in the summary page. Only Apache Camel committers have access to the summary.

⚠️ Be careful when sharing logs. Review their contents before sharing them publicly.

@github-actions github-actions Bot added the core label Sep 3, 2026
@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

🧪 CI tested the following changed modules:

  • core/camel-main

ℹ️ Dependent modules were not tested because the total number of affected modules exceeded the threshold (50). Use the test-dependents label to force testing all dependents.


🔬 Scalpel shadow comparison — Scalpel: 63 tested, 27 compile-only — current: 63 all tested

Maveniverse Scalpel detected 90 affected modules (current approach: 63).

⚠️ Modules only in Scalpel (27)
  • apache-camel
  • camel-allcomponents
  • camel-catalog
  • camel-catalog-console
  • camel-catalog-maven
  • camel-catalog-suggest
  • camel-componentdsl
  • camel-endpointdsl
  • camel-endpointdsl-support
  • camel-itest
  • camel-jbang-core
  • camel-jbang-it
  • camel-jbang-main
  • camel-jbang-plugin-edit
  • camel-jbang-plugin-generate
  • camel-jbang-plugin-kubernetes
  • camel-jbang-plugin-test
  • camel-kamelet-main
  • camel-launcher
  • camel-report-maven-plugin
  • camel-route-parser
  • camel-yaml-dsl
  • camel-yaml-dsl-deserializers
  • camel-yaml-dsl-maven-plugin
  • coverage
  • docs
  • dummy-component

Skip-tests mode would test 63 modules (1 direct + 62 downstream), skip tests for 27 (generated code, meta-modules)

Modules Scalpel would test (63)
  • camel-a2a
  • camel-as2
  • camel-clickup
  • camel-consul
  • camel-core-all
  • camel-csv
  • camel-fhir
  • camel-groovy
  • camel-hazelcast
  • camel-hl7
  • camel-ibm-watsonx-ai
  • camel-iso8583
  • camel-java-joor-dsl
  • camel-jbang-mcp
  • camel-jbang-plugin-mcp
  • camel-jbang-plugin-route-parser
  • camel-jbang-plugin-tui
  • camel-jbang-plugin-validate
  • camel-jetty
  • camel-jsonpath
  • camel-kamelet
  • camel-kamelet-main-support
  • camel-knative-http
  • camel-launcher-container
  • camel-mail
  • camel-mail-microsoft-oauth
  • camel-main
  • camel-maven-plugin
  • camel-mcp-server
  • camel-micrometer-prometheus
  • camel-microprofile-health
  • camel-netty
  • camel-netty-http
  • camel-oauth
  • camel-observability-services
  • camel-once
  • camel-openapi-validator
  • camel-platform-http-main
  • camel-platform-http-vertx
  • camel-plc4x
  • camel-pubnub
  • camel-quickfix
  • camel-rest-openapi
  • camel-restdsl-openapi-plugin
  • camel-salesforce
  • camel-salesforce-codegen
  • camel-salesforce-maven-plugin
  • camel-spring-main
  • camel-state-store
  • camel-syslog
  • camel-telegram
  • camel-test-main-junit5
  • camel-test-main-junit6
  • camel-vertx-websocket
  • camel-webhook
  • camel-whatsapp
  • camel-xml-io-dsl
  • camel-xml-jaxb-dsl
  • camel-xml-jaxb-dsl-test-definition
  • camel-xml-jaxb-dsl-test-spring
  • camel-yaml-dsl-validator
  • camel-yaml-dsl-validator-maven-plugin
  • camel-zookeeper
Modules with tests skipped (27)
  • apache-camel
  • camel-allcomponents
  • camel-catalog
  • camel-catalog-console
  • camel-catalog-maven
  • camel-catalog-suggest
  • camel-componentdsl
  • camel-endpointdsl
  • camel-endpointdsl-support
  • camel-itest
  • camel-jbang-core
  • camel-jbang-it
  • camel-jbang-main
  • camel-jbang-plugin-edit
  • camel-jbang-plugin-generate
  • camel-jbang-plugin-kubernetes
  • camel-jbang-plugin-test
  • camel-kamelet-main
  • camel-launcher
  • camel-report-maven-plugin
  • camel-route-parser
  • camel-yaml-dsl
  • camel-yaml-dsl-deserializers
  • camel-yaml-dsl-maven-plugin
  • coverage
  • docs
  • dummy-component

ℹ️ Shadow mode — Scalpel observes but does not affect test execution. Learn more


⚙️ View full build and test results

@davsclaus davsclaus added this to the 4.23.0 milestone Sep 3, 2026
@davsclaus davsclaus added the enhancement New feature or request label Sep 3, 2026
@davsclaus
davsclaus merged commit 523b4cc into apache:main Sep 3, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants