SynMobile Remediation
Issue
Some clients using SynMobile have identified intermittent errors being surfaced.
Cause
Dev Team have conducted some internal testing and found that the failure point was the SqlLite database under load. The SqlLite database sits on the web server in a folder such as D:\SynMobile\SqlLite and is used for caching the credentials on the web server for Speed.
When a few client mobile apps connect to the Webservice at the same time the API performs as expected.
The tests found that when there are multiple concurrent connections the Web service would intermittently get this error "Exception occurred ReviveSqlLiteSession"
Resolution
A refactoring project was done as part of DSY-12454 completed 30/10/2018
The improvements are listed below:
- Remove SqlLite database
- Store all Mobile Session activity in the table: MobileSession
- Store all Mobile API Activity in MobileSessionHistory so there is an audit log of what the SynMobile App users are doing
- Store the PINs in MobilePin
- Split the Session Expiry and PIN Expiry in to separate logic
- Shift these ExpiryMinutes values out of the XML file and in to the Config Table
- SynMobile|Session|KeepAliveMinutes (Default 20160 - 2 Weeks)
- SynMobile|PIN|KeepAliveMinutes (Default 262080 - 26 Weeks)
- Handle session expiry and Pin expiry situations clearer : tell the user the Session or PIN has expired and they need to log in again
Fix Available
Available in v69.14 onwards.
Can be made available with any V68 and V69 version- please contact support for more information.