Question

FSM Refresh Cache

  • 29 July 2021
  • 2 replies
  • 165 views

Userlevel 3
Badge +8

We have a load balanced setup of the FSM, running on 3 servers. Whenever we do any changes (for example :- adding a new value to the Global codes or adding new rows to some custom tables), we do a refresh cache (Full). 
We have observed that when all the Mobile users initializes their devices, only some of them receives the new changes.  So they have to initialize multiple times to get the new updates. 

Questions : 

1) I believe it is necessary to do a refresh cache (Full) on all the 3 servers? Does that mean that we download 3 client on 3 machine connecting to 3 different servers and then press Refresh cache individually? 


2) Can the refresh cache be triggered through an XML so that we can use the Metrix integration service and post the XML to 3 different servers using SOAPUI or other tools? 


3) Does the cache also holds the contents of tables as well? So when the server prepares the mobile sqllite DB does it always query the backend DB tables for data or it uses the cache? 

 


This topic has been closed for comments

2 replies

Userlevel 7
Badge +24

Hi @TDCSOURABH,

1, This is correct. The best way to do this is to have the clients installed on the 3 load balance servers directly and run them up from there to do the refresh cache individually on each server directly.

2, This should be possible. If you clear the XML transaction log and then do a full cache refresh you should then be able to pull the relevant XML from the log. You would then need to set up a monitor schedule with message routing rule to trigger the three server refreshes. This could get quite complex though and you may need to expose the server names to FSM rather than the endpoint URL’s to achieve this so you may find running the refresh once on each of the three servers is more desirable.

3, If you are using persistent connections then the mobile device will always go to the same cached mobile DB on re-init. Until the changes ripple to all servers this will lead to what you have seen with the device continually picking up the old setup. Eventually all three servers should pick up the change with no user action but no guidance on how long this would take.

Kind regards,

Lee Pinchbeck

Userlevel 3
Badge +8

Hi,

Thanks for the response. 

Regarding Point 3. - Doesn’t the server prepare a new DB for the device on each initialization request, irrespective of the persistent connection ?  

We have a shared location for the mobile DB, so all the 3 servers points to the same location. 

 

Regards, 

Sourabh