Hi Power BI Community -
I'm seeing an issue with scheduled refresh in a scale out Power BI Report Server setting.
One of my report is developed by using imported mode data source and we have setup a scheduled refresh to keep the data upto date. If the scheduled refresh job runs on serverA then when I access the report and if the request gets served from ServerA I can see the latest data and if some of the widgets in the report gets served by serverB then I still get the old data. I can see from where the requests were served from ExecutionLog3 table. I have seen some post by Daniel_Altevogt where they were suggesting to redue the "ModelExpirationMinutes" which I dont feel comfortable doing as its going to reduce the performance. This seems to a bug to me. Has any faced the same scenario?
The behavior is expected, due to caching. Server-B will only pick up an updated model after (1) Server-A's refresh has completed and it has committed the model back to the shared report server catalog database and (2) A new session is created on Server-B.
Sessions are per server, per user and a timeout. Sessions are extended by the client browser when in use. So, in this case you can decrease the session timeout. The performance risk would be, if there are other users on that server that open and view reports & leave it idle past the session timeout... then they'll need to take the latency hit to reload the model.
Thank you Jon for the update. So inorder to get the most updated data to the user I need to reduce "SessionTimeout" property from its default value 600s to some where less than 300s (less than 5 mins). I'm also wondering how are "ModelExpirationMinutes" and "ModelCleanupCycleMinutes" have effect on this process.
I usually lower "ModelExpirationMinutes" and "ModelCleanupCycleMinutes" to 15 mintes from default 60 minutes for scale-out deployment. There is no clear guide line from Microsoft regarding this.