Git Product home page Git Product logo

Comments (4)

mhalbritter avatar mhalbritter commented on April 28, 2024

Thanks for the report. If you'd like us to spend some time investigating, please take the time to provide a complete minimal sample (something that we can unzip or git clone, build, and deploy) that reproduces the problem.

from spring-boot.

gnom7 avatar gnom7 commented on April 28, 2024

I have tried to create small repro using spring initializr, but unfortunately basic project doesn't help.

Not sure what exactly causes out of order processing in my application, it looks like this:
MongoAutoConfiguration -> PrometheusMetricsExportAutoConfiguration -> MongoMetricsAutoConfiguration -> MetricsAutoConfiguration

One thought was that premature execution of MongoAutoConfiguration (which in turn causes metrics to be initialized via MongoMetricsConnectionPoolListener when mongo's connection pool gets created) was caused by Mongock which applies MongoDB migrations at the application startup, but adding Mongock with some migrations to the repro project doesn't help either.

BTW #26665 (comment) this workaround also works in my case, so no need to disable mongo metrics in the end.

from spring-boot.

mhalbritter avatar mhalbritter commented on April 28, 2024

A breakpoint in org.springframework.boot.autoconfigure.AutoConfigurationSorter#getInPriorityOrder on the return orderedClassNames; may help with debugging. orderedClassNames contains the list of auto-configurations in the order they will be loaded.

I suspect something in the application is using the MeterRegistry quite early and breaks stuff (see this comment).

from spring-boot.

gnom7 avatar gnom7 commented on April 28, 2024

You are right, after I have carefully investigated call stack from the MongoAutoConfiguration#mongo I was able to find the place where mongo repository was injected eagerly in some early stages of application startup. Making that injection lazy helped.

Thanks @mhalbritter

from spring-boot.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.