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

[cache] Member cannot join 3.9 cluster when using Cache with a key/value type only resolvable from user code deployment repository #11505

Closed
vbekiaris opened this issue Oct 4, 2017 · 0 comments

Comments

@vbekiaris
Copy link
Contributor

@vbekiaris vbekiaris commented Oct 4, 2017

Use case:

  • Start cluster members with user code deployment enabled
  • Create a typed Cache whose key or value type is resolvable on the current cluster members (CacheManager.createCache("test", new CacheConfig<String, Person>().setTypes(String.class, Person.class))).
  • Start a new cluster member missing the key or value type from its local classpath with user code deployment enabled.

Expected:
New cluster member should join cluster as missing type should be resolved from remote members.
Actual:
New member cannot join cluster and fails startup.

The cause is that as of 3.9 CacheConfigs become known to the joining member in a pre-join operation; at the time this operation is deserialized (in FinalizeJoinOp) the joining member has not yet updated its cluster members list and cannot resolve the missing class remotely.

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.

2 participants