unitsofmeasurement / indriya

JSR 385 - Reference Implementation
Other
118 stars 40 forks source link

282 fixes ProductUnit#hashCode to be free of side-effects and thread-safe #284

Closed andi-huber closed 4 years ago

andi-huber commented 4 years ago

also tries to improve on code readability by


This change is Reviewable

fawidmer commented 4 years ago

We are using the indriya implementation in a project which also features parallelized application (similar to what was described in https://github.com/unitsofmeasurement/uom-se/issues/210). We are facing some strange problems which might also be related to concurrency issues.

We would love to include this fix in our project to see if our issues are resolved. Since we are relying on maven central in our build process, it would be great if you could include this fix in an upcoming release as soon as possible! :)

Thank you very much in advance!! Fabio

keilw commented 4 years ago

Indriya 1 or 2?

fawidmer commented 4 years ago

We are on 2.0.2 at the moment.

keilw commented 4 years ago

Ok would you be able to try the 2.0.3-SNAPSHOT with this PR already merged?

fawidmer commented 4 years ago

Unfortunately we haven't been able to consistently reproduce the issues that we're facing. It has only ever happened in our productive environment and never on my local machine. Therefore, only time will tell if the issues are fixed with the next release...

keilw commented 4 years ago

Then please keep an eye on it and raise new tickets if necessary.

fawidmer commented 4 years ago

Will do for sure! Do you already have a plan when you are going to release a new indriya version?

keilw commented 4 years ago

Not sure, there is a nasty issue with Java 14 where the multi-release JAR content seems ignored even though the different "release" classes are in the JAR. If anybody has time happy to have others try it out, but it could be an issue with the JDK itself if more than one JAR release exists, it seems to work for 2, but could fail for 3 or 4. However, this does not prevent other features or fixes, therefore I guess 2.0.3 is realistic before the summer, we could aim for an update every 3-6 months, depending on the resources or need.