-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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
FileSystemAlreadyExistsException when recordBanner is run in parallel #7689
Comments
@geoand I wonder whether we could find out isQuarkusCoreBanner without opening the JAR? E.g. by matching the URL string against a RegExp? |
So, there is no good (as in "won't break if things are refactored") way of knowing if the banner is the default or not without opening the JAR. On the other hand, in most cases I don't think we really care, so we could just ignore the error and return false. @maxandersen WDYT? |
If you really need to read the JAR, |
Some locking and caching of the default URL could help too ppalaga@196a6dd |
TBH, I really don't want to go to all that complexity just to support parallel builds... |
But you can go ahead and create a PR with your change, I won't block it :) |
Reducing the build times to 1/3 is a strong motivation. |
Yeah, we should seriously consider doing something. We are breaking some people's workflow to display a banner. So maybe we can fix that and keep those people happy? If knowing if it's the default is only used to display the Does someone really think it's a compelling enough reason to break someone's workflow? |
I already mentioned above that we can display it and be done with it instead of adding caching / synchronization code |
Why don't we just check if the path has been changed in the config? Agreed, it's not as accurate but it would be far simpler and less convoluted and would work most of the time. |
That was the initial implementation. It was changed because a user could add their own banner that uses the same name - and in this case we do want to show the
As everything in life, it depends. If you want it to always be correct, you need to do what has been done here. |
I think it's perfectly acceptable. It's not as if it was critical. You have That simplifies things a lot and avoids this issue. |
Sure, but them someone else will come back and ask for the feature. So we need a final decision on this. To be clear, my proposal is to the logic as is and just return |
Give me a couple minutes to open a PR that @ppalaga can check |
Some of us use mvnd to build Camel Quarkus. Mvnd builds the modules in parallel by default. The recently added
BannerProcessor.recordBanner()
does not seem to be prepared for that because it throws the following exception when an application is built with mvnd:Steps to reproduce:
Alternatively, this issue can be reproduced with stock Maven using
-T C1
in Camel Quarkus:When I run the above Maven command in Quarkus, I am getting a different unrelated error.
cc @geoand
The text was updated successfully, but these errors were encountered: