-
Notifications
You must be signed in to change notification settings - Fork 186
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
[camel 3.13] NativeImageResourceBuildItem fails for Atlasmap extension #3189
Comments
I think output like
is suspicious. And I'm pretty sure this is caused by the atlasmap upgrade from 2.2.3 to 2.3.x recently. I rollback too use atlasmap 2.2.3 in camel-atlasmap component and build it, then build the atlasmap camel-quarkus extension, and the integration test passed in native mode |
Yes I'm on this one |
Thanks @zbendhiba for picking this up! |
I was already investigating. I do not necessary open issues for camel-main. |
maybe we should ? |
Current status : Not done with this one. At the first step, I looked at ClassLoader, but notthing war broken there. So since upgrade of this version of atlasmap, this camel-quarkus configuration does not work as expected : Line 78 in 64e5736
It seems that it takes only the first META-INF/services/atlas/module/atlas.module file. Meaning I had at first shot only the Java module loaded, then I excluded this one from the extension, then it has charged only the Json module, and so on ... I'm still investigating on what could have generated this. Putting this here, in case someone has found this bug before. |
I disabled the native itests so that we can get a successfull build of |
Finally found out why it fails. Monday, I'll propose a Substitution for next release and see how we could fix this in Atlasmap. I'll address also the changes needed to be done for this release : jandex for instance. In this commit, the LinkedList has been replaced by a LinkedHashSet. This works fine on JVM mode, as the different URLs loaded have different names and paths. And if we debug, we can see different URLs from the different modules : JAVA, JSON, CSV, XML In other hands, on native image, NativeImageResourceBuildItem, we get same name & path of URL for all the files in the different atlasmap modules. Always beginning from META-INF, so same URL. Anyway, it's kind of difficult to debug. As the name, path ... is the same. But with LinkedList, it loads later the right 4 modules. So I would love to dig deeper, but I would need some help or have more time to investigate. |
@zbendhiba I think it needs to raise an issue on Quarkus to get their feedback ? and if you can narrow down it out side of Atlasmap, e.g. a reproducer only use |
I'd say it works as designed in native mode and it is hard to even conceive that it could work differently. Just think of it: what is the native executable produced by |
It looks like AtlasMap is making an assumption about
|
Well, it would be easy if we can easily change the Classloader too. As we won't have this list of possible Classloaders.. |
get error like
The text was updated successfully, but these errors were encountered: