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

Hazelcast 3.8.4 source code does not match the jar classes #11261

Closed
rruxandra opened this issue Aug 30, 2017 · 4 comments
Closed

Hazelcast 3.8.4 source code does not match the jar classes #11261

rruxandra opened this issue Aug 30, 2017 · 4 comments

Comments

@rruxandra
Copy link

@rruxandra rruxandra commented Aug 30, 2017

Hello,

We are having a problem with the sources of the Hazelcast 3.8.4 release.
It seems the source code doesn't match the classes in the jar for the same version.

We downloaded both the jar and the sources from the mavel central repository:
http://central.maven.org/maven2/com/hazelcast/hazelcast/3.8.4/hazelcast-3.8.4.jar
http://central.maven.org/maven2/com/hazelcast/hazelcast/3.8.4/hazelcast-3.8.4-sources.jar

An example of such mismatch is the package: com/hazelcast/cache/impl/maxsize/impl.
In the jar there is only EntryCountCacheMaxSizeChecker class but in the sources there is also EntryCountCacheEvictionChecker class.

It seems the issue comes from the shaded hazelcast-client-protocol that contains the Hazelcast sources from a different version.

Would it be possible to check this?

Thank you,
Ruxandra

@Donnerbart
Copy link
Contributor

@Donnerbart Donnerbart commented Aug 30, 2017

Thanks for reporting this. I don't think we can (or should) change published JARs on Maven central. But we should have a look to prevent this in the future.

@Donnerbart Donnerbart self-assigned this Aug 30, 2017
@Donnerbart
Copy link
Contributor

@Donnerbart Donnerbart commented Aug 30, 2017

I can confirm this and I think your analysis is spot on. I just checked our upcoming 3.8.5 release and it suffers from the same issue.

The Hazelcast client protocol JAR contains this (outdated) class:
screenshot from 2017-08-30 14-27-40

The 3.8.5 branch has the actual class:
screenshot from 2017-08-30 14-30-36

And the final sources JAR contains both classes:
screenshot from 2017-08-30 14-27-52

The root cause will be, that the client protocol project relies on some Hazelcast classes. So it fetches a (custom) branch to build the protocol JAR. And that JAR is again needed to build Hazelcast. It's an unfortunate circle dependency.

I'm having a look how to solve this at least for a release situation, so the source code matches.

@Donnerbart Donnerbart modified the milestones: 3.8.6, 3.8.5 Aug 30, 2017
@Donnerbart
Copy link
Contributor

@Donnerbart Donnerbart commented Aug 30, 2017

We found out that the solution was quite simple :) The Hazelcast client protocol project was missing a configuration for the Maven source and JavaDoc plugins.

These are my fix candidates:
hazelcast/hazelcast-client-protocol#99
hazelcast/hazelcast-client-protocol#100

The fix will be in the next 1.4.2 and 1.5.0 releases of the Hazelcast client protocol. Since the issue is not critical, we won't stop our release verification process for 3.8.5 though (some long running release tests are already started). So this issue will eventually be fixed in Hazelcast 3.8.6 and 3.9.

Sorry for the inconvenience and thanks again for the report!

@rruxandra
Copy link
Author

@rruxandra rruxandra commented Sep 1, 2017

Thanks a lot for the quick fix :)
It's not a major problem for us right now but it's good to know it's fixed in upcoming versions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

3 participants
You can’t perform that action at this time.