At session fail over (memory to memory), inconsistency of session data might happen.

 
When you use a function of session fail over (memory to memory) in the environment with intra-mart WebPlatform (Resin), inconsistency of session data might happen.

This issue would not be solved with Resin3.1.x. 
(It would also not be solved with Resin3.0.x.)

<Condition>
Two Resins are running.
One of them is App-A and the other is App-B.
Each resins is set below settings.

//--------------------------------
<server id="app-a" host="192.168.0.1" port="6802"/>
<server id="app-b" host="192.168.0.2" port="6802"/>

<persistent-store type="cluster">
<init path="cluster"/>
</persistent-store>
.
.
.
<web-app xmlns="http://caucho.com/ns/resin">
<session-config>
<use-persistent-store="true"/>
</session-config>
</web-app>
//--------------------------------

Execute process sequence below in this condition. 

-1: Send Request1 from BrowserX
--1-1: This is processed with App-A
--1-2: Executing Session#setAttribute("key", "value_1-2")
-2: Stop App-A
-3: Send Request2 from BrowserX
--3-1: This is processed with App-B (this is because App-A is down) ←OK: expected run
--3-2: Executing Session#getAttribute("key"). Acquiring "value_1-2" ←OK: expected run
--3-3: Executing Session#setAttribute("key", "value_3-3")
-4: Start App-A
-5: Send Request3 from BrowserX
--5-1: This is processed with App-B (this is because App-A is starting) ←OK: expected run
--5-2: Executing Session#getAttribute("key"). Acquiring "value_3-3"←OK: expected run
--5-3: Executing Session#setAttribute("key", "value_5-3")
-6: Finish to start App-A 
-7: Send Request3 from BrowserX
--7-1: This is processed with App-A (this is because starting App-A finished) ←OK: expected run
--7-2: Executing Session#getAttribute("key").
"value_3-3" is acquired<--*****NG********

-- Target ----------------------------------------------------------------------------------
iWP/Web System Construction Platform/WebPlatform/AppFramework
----------------------------------------------------------------------------------------------



FAQID:318
Was this article helpful?
0 out of 0 found this helpful
Powered by Zendesk