-
Notifications
You must be signed in to change notification settings - Fork 979
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support jOOQ 3.15 and later #3828
Comments
Right now we compile against JOOQ 3.14.x, we should look into upgrading it, thank you for reporting it. I think the only immediate workaround I can give you is downgrading. |
Hey! 👋 |
@diastremskii thank you for the offer and starting work on it. I can understand how that sounds like an appealing solution and it may work in practice, but since the API of the class will be different between the multi-releases, it sounds like it goes against the design of the multi-release jar feature. JEP 238 has the following to say about it:
Given that, I'm not sure we should try to go that route. It would be more ideal if we can offer instrumentation that isn't affected by so many unrelated changes in jOOQ and therefore is compatible across a much wider range of versions. |
Looking at the existing instrumentation, our pain is in implementing This would lose the ability to add tags for a specific query like this example in the class JavaDoc. We would need to find another way to offer similar functionality if this is important to users. jooq.tag("name", "selectAllAuthors").select(asterisk()).from("author").fetch(); |
FWIW we internally maintain a Are there (significant) downsides to exposing |
Thanks for quickly giving us feedback on this, @ferdinand-swoboda.
I don't think so. It's more a matter of it wasn't needed and no one asked for it before. It would also create two ways of instrumenting compared to now where using the
The goal would be to deprecate and eventually remove our If you are maintaining your own |
👍🏼
This issue currently prevents users from upgrading jOOQ beyond v3.15 (not sure if it's even patched anymore, current is 3.19) which is IMHO worse than having to maintain a separate, lightweight adapter class. It surely ain't great but our internal equivalent class needs to be touched at most once per year and IIUC it's only needed if a jOOQ user is also interested in assigning I suspect if an alternative integration path in/outside jOOQ opens up (see e.g. jOOQ/jOOQ#15053) some degree of downstream work is unavoidable, whether one uses |
I ended up going with a different approach in #4727 of extending the |
Everyone who was affected by this, please try out the changes in 1.13.0-SNAPSHOT or the 1.13.0-M1 milestone planned for next week. Let us know if you experience any issues. |
Apologies for not testing this earlier; this causes a |
Thanks for letting us know about the issue. We cannot compile against higher than jooq 3.14 due to the minimum Java version required. However, we are trying to test compatibility of our instrumentation with newer versions of jooq in a sample project that runs with Java 17+ and the latest jooq (3.19.8 right now). See https://github.com/micrometer-metrics/micrometer/blob/a3aeb9b707d4c7d27f4bbd46dede48c7bb56abec/samples/micrometer-samples-jooq/src/test/java/io/micrometer/samples/jooq/MetricsDSLContextTest.java I'm wondering why the sample isn't failing. Regardless, I'm not sure what we can do about this since |
I think the real solution for these issues would be instrumenting JOOQ in JOOQ: jOOQ/jOOQ#15053. For this to happen I think Lukas (maintainer of JOOQ) needs masses of users requesting this, so I think a 👍🏼 and/or a comment on the issue might help a little. |
Describe the bug
Class CreateTableColumnStep has been removed from the jOOQ implementation in this commit in February '22.
Using the MetricsDSLContext with a version without that class causes a runtime exception.
Environment
To Reproduce
How to reproduce the bug:
Attempt to use MetricsDSLContext implementation with one of the latest jOOQ releases. Fails at runtime due to
java.lang.ClassNotFoundException: org.jooq.CreateTableColumnStep
Expected behavior
Normal function.
The text was updated successfully, but these errors were encountered: