Anonymous | Login
Project:
RSS
  
News | My View | View Issues | Roadmap | Summary

View Issue DetailsJump to Notes ] Issue History ] Print ]
ID
0040111
TypeCategorySeverityReproducibilityDate SubmittedLast Update
defect[Retail Modules] StoreServercriticalhave not tried2019-02-03 10:412019-02-06 14:35
ReportermtaalView Statuspublic 
Assigned Tomtaal 
PrioritynormalResolutionfixedFixed in Version
StatusclosedFix in branchFixed in SCM revisiond671a6a95bb9
ProjectionnoneETAnoneTarget Version
OSAnyDatabaseAnyJava version
OS VersionDatabase versionAnt version
Product VersionSCM revision 
Review Assigned To
Regression level
Regression date
Regression introduced in release
Regression introduced by commit
Triggers an Emergency PackNo
Summary

0040111: SS should store/use all central cookies to ensure correct working in combination with load balancer

DescriptionProblem description
- the store server in online mode is like a proxy, it forwards (almost) all requests to the central server and returns the response.
- when calling central the store server will try to use always the same session on central for a user, so webpos user A will have its own http session on the store server and it's own on the central server.
- the store server does this by keeping the session id cookie from the central server in memory (in its http session for the user A), so when user A does a next request from the WebPOS it will take that cookie and include it in the request.
- this works fine in our environments without loadbalancer
- BUT has a load balancer with sticky sessions
- the loadbalancer implements sticky session by sending back a special cookie, so when it receives a new request with this cookie it assigns the request to the same node as before, which has the correct http session ready to be used
- the store server however does not keep this special cookie, therefore requests through the store server can be and are assigned to different nodes by the loadbalancer, recreating sessions there.

This issue was also there last year in november we/I think.

The fix will be to store all the cookies (not only JSESSIONID). I have worked on a fix which works on my dev laptop, but will test it some more tomorrow morning.
Steps To ReproduceSee Description
Proposed SolutionStore all cookies
TagsNo tags attached.
Attached Files

- Relationships Relation Graph ] Dependency Graph ]

-  Notes
(0109460)
hgbot (developer)
2019-02-03 10:42

Repository: erp/pmods/org.openbravo.mobile.core
Changeset: d671a6a95bb9d0565890e52ccfa4dac3aa4cb2a0
Author: Martin Taal <martin.taal <at> openbravo.com>
Date: Sun Feb 03 10:42:13 2019 +0100
URL: http://code.openbravo.com/erp/pmods/org.openbravo.mobile.core/rev/d671a6a95bb9d0565890e52ccfa4dac3aa4cb2a0 [^]

Fixes issue 40111: SS should store/use all central cookies to ensure correct working in combination with load balancer
Store all cookies, note a map is used as not all cookies are resend at every response. The session cookie is only
send when changed by the server, so it is kept in a map and updated when the response returns.

---
M src/org/openbravo/mobile/core/servercontroller/MobileServerRequestExecutor.java
---
(0109633)
AugustoMauch (manager)
2019-02-06 14:35

Code reviewed and verified

- Issue History
Date Modified Username Field Change
2019-02-03 10:41 mtaal New Issue
2019-02-03 10:41 mtaal Assigned To => mtaal
2019-02-03 10:41 mtaal Triggers an Emergency Pack => No
2019-02-03 10:42 hgbot Checkin
2019-02-03 10:42 hgbot Note Added: 0109460
2019-02-03 10:42 hgbot Status new => resolved
2019-02-03 10:42 hgbot Resolution open => fixed
2019-02-03 10:42 hgbot Fixed in SCM revision => http://code.openbravo.com/erp/pmods/org.openbravo.mobile.core/rev/d671a6a95bb9d0565890e52ccfa4dac3aa4cb2a0 [^]
2019-02-06 14:35 AugustoMauch Note Added: 0109633
2019-02-06 14:35 AugustoMauch Status resolved => closed


Copyright © 2000 - 2009 MantisBT Group
Powered by Mantis Bugtracker