Open massivespace opened 3 weeks ago
@massivespace Could you elaborate on what you mean by misconfigured broker? Is there a way for us to reproduce the issue? Thanks!
@massivespace Could you elaborate on what you mean by misconfigured broker? Is there a way for us to reproduce the issue? Thanks!
Sorry about that. Yes, I'm setting the broker via the properties file (application.yml) as follows: spring.cloud.stream.kafka.binder.brokers: broker_hostname
Under normal circumstances, broker_hostname responds, and all is well. If I just make up the broker hostname (add some junk characters), to test a misconfiguration (i.e. unable to communicate with the broker), that's when it throws the exception.
Other configuration that is applicable: management.health.livenessstate.enabled: true management.health.readinessstate.enabled: true management.endpoint.health.probes.enabled: true management.endpoint.health.show-details: always management.health.endpoints.web.exposure.include: health We also have some legacy settings, don't think they're related, but just in case: spring.main.allow-bean-definition-overriding: true spring.main.allow-circular-references: true
I will try to put together a barebones app to see if I can make a reproducer to link here.
I find it very strange as I have just checked that the method is there and was not removed by boot. Can you check if somehow your real spring-boot-actuator version is different. For example some transitive dependency pulled a different version?
After upgrading to spring boot 3.3.0, if my Kafka brokers are misconfigured (testing), I'm getting an exception in cloud stream on requests to my /actuator/health endpoint:
My pom file is configured with the following package versions: java : 17 kotlin : 2.0.0 spring-boot-starter-parent : 3.3.0 spring-boot-starter-actuator : [same as parent] spring-cloud-config-client : 4.1.2 spring-cloud-starter-stream-kafka : 4.1.2 spring-cloud-dependencies : 2023.0.2 (I also tried 2023.0.1)
I verified this works as expected in spring boot 3.2.6.
I don't seem to get the exception during normal operation (properly configured brokers) for a Health.up() call, so it seems related to Health.down specifically with a passed exception. Stepping into the code during the exception, it seems to be lost, as if a dependency is being misinterpreted with a version different from what I'm compiling against.