Hi,

as you may know I am the maintainer of Quarkus CXF <https://github.com/quarkiverse/quarkus-cxf>.

When trying to upgrade CXF from 4.0.4 to 4.0.5 in our 3.8 LTS branch, I found out that it won't work because of missing class io.opentelemetry.semconv.HttpAttributes.

It is caused by this upgrade of opentelemetry-semconv from 1.23.1-alpha to 1.24.0-alpha <https://github.com/apache/cxf/pull/1774> between CXF 4.0.4 and 4.0.5, where opentelemetry-semconv 1.24.0-alpha renamed SemanticAttributes to HttpAttributes.

CXF was adapted to that change around here <https://github.com/apache/cxf/pull/1774/files#diff-c7f236ca73be741018e92028d79517c03d1bbc27fe58a1b8dd4258bb4a80b38eL62-R65> but Quarkus 3.8 was not and it keeps using opentelemetry-semconv 1.21.0-alpha in their 3.8 LTS branch. I believe their approach is correct for an LTS branch.

At the same time, there is no point in overriding any opentelemetry dependency in favor of CXF on Quarkus CXF side, because (1) it could break user applications and (2) Quarkus CXF relies on Quarkus Opentelemetry configuration for GraalVM native image which tends to be quite sensitive to changes of class names.

It is perhaps not realistic to revert the opentelemetry-semconv upgrades for CXF 4.0.6, but could we please be more careful about such breaking changes in maintenance branches in the future?

Thanks,

-- Peter

Reply via email to