Skip to content

Improve Hazelcast serialization #1131

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

Open
vpavic opened this issue Jul 18, 2018 · 2 comments
Open

Improve Hazelcast serialization #1131

vpavic opened this issue Jul 18, 2018 · 2 comments
Labels

Comments

@vpavic
Copy link
Contributor

vpavic commented Jul 18, 2018

HazelcastSessionRepository currently relies on standard Java serialization, which isn't the ideal option performance wise. We should look into leveraging Hazelcast's serialization mechanism like DataSerializable which should yield a nice performance improvement.

@oxc
Copy link

oxc commented Jan 16, 2020

In order to fix the issue mentioned in #1319 (client-server topology with custom-class session entries), the solution must ensure that no session entries are deserialized on the server-side.
Switching to another form of serialization will probably not provide this without changing what is stored inside the session map, especially since the EntryProcessor holding the session delta must itself be java Serializable.

@enozcan
Copy link
Contributor

enozcan commented Oct 7, 2020

As @oxc pointed out

the solution must ensure that no session entries are deserialized on the server-side.

This can be partially done via Portable serialization (more information here at #1671). No user code deployments or classes on the server's classpath would be needed if Portable applies. Moreover, it will have a considerable impact on the query performance of findByPrincipal case. But this will require to break backward compatibility. It's suggested to have this in the next major version (#1671 (comment)) and I will be happy to implement this.

Leaving the comment here to make this a sort of reminder for the issue.

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

No branches or pull requests

4 participants