Alexandr Shapkin created IGNITE-18302:
-----------------------------------------

             Summary: ignite-spring-sessions: IgniteSession serialization drags 
its parent class
                 Key: IGNITE-18302
                 URL: https://issues.apache.org/jira/browse/IGNITE-18302
             Project: Ignite
          Issue Type: Bug
          Components: extensions
            Reporter: Alexandr Shapkin


In short, there is a bug in ignite-spring-session-ext implementation.

We store IgniteIndexedSessionRepository${{{}IgniteSession{}}} in the cache, but 
it’s an internal non-static class, having a reference to the parent 
[{{{}IgniteIndexedSessionRepository{}}}] indirectly.

Hence, during the serialization Ignite also writes {{{}name=this$0, 
type=Object, fieldId=0xCBDD23AA (-874699862){}}}, which is the reference to 
{{{}IgniteIndexedSessionRepository{}}}. That leads to the following issues:
 * we are serializing and saving internal utility data, like{{{} Ignite 
ignite{}}}, {{private IndexResolver<Session> indexResolver}} etc

 * one of the IgniteIndexedSessionRepository’s fields is IgniteCache itself - 
{{IgniteCache<String, IgniteSession> sessions}} that basically keeps every 
session so far leading to a StackOverflow error after some time. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to