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

Distributed Session Management #7529 #7594 #7551

Closed
wants to merge 2 commits into from
Closed

Distributed Session Management #7529 #7594 #7551

wants to merge 2 commits into from

Conversation

rymsha
Copy link
Contributor

@rymsha rymsha commented Oct 16, 2019

  • ignite was updated to latest version. To make sure I don't use deprecated API
  • worked around ignite bug where it uses wrong classloader for serialisation of ignite internal classes (this is due to conflict between ignite and OSGi which classloader to use)
  • removed ignite XP "Cluster" abstraction, because not all nodes will be ignite cluster (if any)
  • javax cache updated to version 1.1.1 (now Apache license). Removed rebundle as it is now correct bundle by itself. It is potentially a breaking change, but very unlikely because code is supposed to import 1.x version of javax.cache package.
  • fixed SessionWrapper: it had race conditions for session creation and was storing reference to potentially expired session
  • fixed JettyActivator to wait for all dispatchers to be ready. Before it was potential race.
  • introduced IgniteSessionStoreFactory (OSGi service) and made IgniteSessionStore OSGi independent. This make multiple dispatchers work again - before they were sharing SessionStore singleton and fail on startup
  • worked around Jetty vs Ignite conflict which deserializer to use
  • added package import so Auth info deserialization works (OSGi prevents not imported classes to be deserialized).

@enonic enonic deleted a comment Oct 17, 2019
@enonic enonic deleted a comment Oct 17, 2019
@enonic enonic deleted a comment Oct 21, 2019
@enonic enonic deleted a comment Oct 21, 2019
@enonic enonic deleted a comment Oct 22, 2019
@enonic enonic deleted a comment Oct 22, 2019
@enonic enonic deleted a comment Oct 22, 2019
@enonic enonic deleted a comment Oct 23, 2019
@enonic enonic deleted a comment Oct 24, 2019
Copy link
Member

@sigdestad sigdestad left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you guarantee compatibility after upgrading Osgi?

@rymsha
Copy link
Contributor Author

rymsha commented Oct 24, 2019

I tested it. It should be fine. We are using R7 in runtime already. But compile with R6.
But it is not a real brunch where new OSGi is introduced. See #7374

@enonic enonic deleted a comment Oct 28, 2019
@enonic enonic deleted a comment Oct 28, 2019
@enonic enonic deleted a comment Oct 28, 2019
@enonic enonic deleted a comment Oct 28, 2019
@enonic enonic deleted a comment Oct 29, 2019
@enonic enonic deleted a comment Oct 29, 2019
@enonic enonic deleted a comment Oct 29, 2019
@enonic enonic deleted a comment Oct 29, 2019
@enonic enonic deleted a comment Oct 29, 2019
@enonic enonic deleted a comment Oct 30, 2019
@enonic enonic deleted a comment Oct 30, 2019
@enonic enonic deleted a comment Oct 30, 2019
@enonic enonic deleted a comment Oct 30, 2019
@enonic enonic deleted a comment Nov 4, 2019
@enonic enonic deleted a comment Nov 4, 2019
@enonic enonic deleted a comment Nov 5, 2019
@enonic enonic deleted a comment Nov 5, 2019
@rymsha
Copy link
Contributor Author

rymsha commented Nov 20, 2019

Don't close it. Many ideas can be used for Hazelcast

@jsi
Copy link
Member

jsi commented Jan 5, 2020

Codacy Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 2
           

Complexity increasing per file
==============================
- modules/web/web-session/src/main/java/com/enonic/xp/web/session/impl/hazelcast/HazelcastSessionDataStoreFactoryActivator.java  3
- modules/web/web-session/src/main/java/com/enonic/xp/web/session/impl/hazelcast/HazelcastInstanceActivator.java  1
- modules/web/web-session/src/test/java/com/enonic/xp/web/session/impl/ignite/reporter/WebSessionReporterTest.java  1
- modules/web/web-session/src/main/java/com/enonic/xp/web/session/impl/ignite/IgniteSessionDataStore.java  7
- modules/web/web-session/src/test/java/com/enonic/xp/web/session/impl/ignite/IgniteSessionDataStoreTest.java  1
- modules/web/web-session/src/main/java/com/enonic/xp/web/session/impl/ignite/IgniteSessionDataStoreFactory.java  1
- modules/core/core-ignite/src/main/java/com/enonic/xp/ignite/impl/IgniteActivator.java  2
- modules/web/web-session/src/main/java/com/enonic/xp/web/session/impl/ignite/IgniteCacheConfigFactory.java  3
- modules/web/web-session/src/main/java/com/enonic/xp/web/session/impl/ignite/reporter/WebSessionReport.java  2
- modules/core/core-ignite/src/test/java/com/enonic/xp/ignite/impl/IgniteClusterTest.java  1
- modules/web/web-session/src/main/java/com/enonic/xp/web/session/impl/ignite/reporter/WebSessionReporter.java  1
- modules/core/core-ignite/src/test/java/com/enonic/xp/ignite/impl/IgniteAdminClientImplTest.java  1
- modules/web/web-session/src/main/java/com/enonic/xp/web/session/impl/ignite/IgniteSessionData.java  3
- modules/core/core-ignite/src/test/java/com/enonic/xp/ignite/impl/IgniteActivatorTest.java  1
- modules/web/web-session/src/main/java/com/enonic/xp/web/session/impl/ignite/IgniteSessionDataStoreFactoryActivator.java  3
         

See the complete overview on Codacy

@rymsha rymsha changed the title Distributed Session Management #7529 Distributed Session Management #7529 #7594 Jan 5, 2020
@rymsha rymsha closed this Mar 2, 2020
@rymsha rymsha deleted the issue-7529 branch March 11, 2020 08:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants