Skip to content
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

Missing io.confluent:kafka-avro-serializer in Quarkus BOM #26428

Closed
pjgg opened this issue Jun 29, 2022 · 9 comments · Fixed by #26778
Closed

Missing io.confluent:kafka-avro-serializer in Quarkus BOM #26428

pjgg opened this issue Jun 29, 2022 · 9 comments · Fixed by #26778
Assignees
Labels
area/kafka kind/bug Something isn't working
Milestone

Comments

@pjgg
Copy link
Contributor

pjgg commented Jun 29, 2022

Describe the bug

I could not find io.confluent:kafka-avro-serializer lib on Quarkus BOM and the latest version 7.1.2 is not working in native mode

Caused by: com.oracle.graal.pointsto.constraints.UnsupportedFeatureException: com.oracle.graal.pointsto.constraints.UnsupportedFeatureException: Detected an instance of Random/SplittableRandom class in the image heap. Instances created during image generation have cached seed values and don't behave as expected.  To see how this object got instantiated use --trace-object-instantiation=java.util.Random. The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.

Because there is a static java.util.Random definition in some internal library on version 7.1.2

Version: 7.0.3 works as expected.

IMO the issue is that io.confluent:kafka-avro-serializer should be defined in Quarkus BOM or be included as part of quarkus-confluent-registry-avro

WDYT?

@pjgg pjgg added the kind/bug Something isn't working label Jun 29, 2022
@quarkus-bot
Copy link

quarkus-bot bot commented Jun 29, 2022

/cc @alesj, @cescoffier, @ozangunalp

@pjgg pjgg changed the title Missing io.confluent:kafka-avro-serializer on Quarkus BOM Missing io.confluent:kafka-avro-serializer in Quarkus BOM Jun 29, 2022
@pjgg
Copy link
Contributor Author

pjgg commented Jun 29, 2022

Note(to keep in mind): Maybe from an end-user point of view, update AVRO serializers is not a minor update because all generated "serializers" objects, should be re-generated... I mean, Is possible that a producer / consumers use different Serializer versions?

@ozangunalp
Copy link
Contributor

We need to add the confluent maven repo to the bom (or the parent pom) in order to add this to the bom. I don't think we want that. I think this is the reason the dependency is not added to the extension. @alesj WDYT ?

For the native compilation issue with random, we need to add the class as runtime initialized.

@alesj
Copy link
Contributor

alesj commented Jun 29, 2022

Yeah, I think that was one of the main reasons why it's not added.
But my latest change just split some of the poms, modules, dirs, classes ...
So I guess @Ladicek or who did the initial Registry integration could tell more.

@alesj
Copy link
Contributor

alesj commented Jun 29, 2022

For the native compilation issue with random, we need to add the class as runtime initialized.

So no more substitutions for such things?

@Ladicek
Copy link
Contributor

Ladicek commented Jun 29, 2022

I don't think adding the Confluent Maven repository into the BOM would help, even if we wanted to do that (which we don't), because importing a BOM only manages dependency versions. The extensions for Confluent Schema Registry still require people to manually add the Confluent Maven repository and the correct dependencies manually, and until Confluent publishes their libraries to Maven Central, that's the best we can do.

@ozangunalp
Copy link
Contributor

That's a very good point, imported bom won't import defined repositories.

@cescoffier
Copy link
Member

Yes, and we do not want to declare the confluent repository. So for now, there is not much we can do, except document the support version.

We could support conditional substitutions to support the newest version, but... oh my...

@cescoffier
Copy link
Member

cescoffier commented Jul 17, 2022

Assigned it to me, I will add something to the documentation.

cescoffier added a commit to cescoffier/quarkus that referenced this issue Jul 18, 2022
Also extract the documentation in a separate version
Fixes quarkusio#26428
@quarkus-bot quarkus-bot bot added this to the 2.12 - main milestone Jul 19, 2022
ia3andy pushed a commit to ia3andy/quarkus that referenced this issue Jul 20, 2022
Also extract the documentation in a separate version
Fixes quarkusio#26428
michelle-purcell pushed a commit to michelle-purcell/quarkus that referenced this issue Jul 20, 2022
Also extract the documentation in a separate version
Fixes quarkusio#26428
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/kafka kind/bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants