SaaS CMS has officially launched! Learn more now.

Inconsistent behavior when creating nested folders


Good afternoon,

Our clients have reported a few inconsistencies when creating nested folders which seems to be occurring only when application is running on multiple App Service instances. Please see more information regarding the issue in reproduction steps.

Reproduction information:

  • ensure that site is running on multiple App Service instances (otherwise issue does not seem to occur)
  • login to CMS
  • create a new folder with unique name for the current site
  • try creating a new folder under the one that has just been created - this now has two outcomes, none of which is expected:
    1. instead of new folder appearing with the name editor, the current folder gets the name editor active to change the current folder name. The new folder is created as well, with the "New folder" name.
    2. new folder appears with the name editor, however after finishing the entering of the name folder is still named "New folder". When this issue occurs, refreshing the page seems to update the folder names properly.

Installed EPiServer packages:

EPiServer.Azure 10.0.1
EPiServer.CMS 11.15.0
EPiServer.CMS.AspNet 11.15.0
EPiServer.CMS.Core 11.15.0
EPiServer.CMS.TinyMce 2.10.1
EPiServer.CMS.UI 11.24.0
EPiServer.CMS.UI.Core 11.24.0
EPiServer.CMS.UI.Sources 11.24.0
EPiServer.Forms 4.28.0
EPiServer.Forms.Core 4.28.0
EPiServer.Forms.UI 4.28.0
EPiServer.Framework 11.15.0
EPiServer.Framework.AspNet 11.15.0
EPiServer.Labs.LanguageManager 3.3.2
EPiServer.Logging.Log4Net 2.2.2
EPiServer.Packaging 3.4.0
EPiServer.Packaging.UI 3.4.0
EPiServer.Personalization.MaxMindGeolocation 1.0.0
EPiServer.ServiceLocation.StructureMap 2.0.3
EPiServer.XForms 1.0.3

Please let me know if you have any suggestions or any additional information is needed.

Best regards,

May 14, 2020 14:01

Hi Nemanja,

This certainly looks like load balancing issues where some requests are directed to one instance and other requests are going to other instances. In theory Episerver shouldn't require session affinity (i.e. directing the same user to the same server for all of their requests) though, in practice it is used in certain areas of the system (e.g. in the import/export functionality). It may be that the issue stems from issues in the configuration of remote events so each server instance is unaware of changes made on the others. Are you able to check that, for example, you can make a change to a page and publish it on one instance then see the change immediately on another? Have you taken a look at the network tab in chrome inspector to see if any requests are failing?

I suspect a quick fix would be to enable session affinity on your web app though I know some people prefer not to take that approach. There's also a risk that taking that approach might mask an underlying issue with remote events.

May 15, 2020 9:40

Hi Paul, 

Thanks for the suggestions!

I took a look at service bus metrics and I could see it had traffic.

To be sure, I've double checked both the console and network, I didn't find any errors or failed requests. Also, I have tried creating a new page, publishing it and opening it on two instances, page was available on both. I've updated the content and published again - both pages had updated content after the page refresh.

We would really like to avoid enabling session affinity if possible, let's wait and see if we can get a reply from EPiServer developers if this is fixable without the session affinity.

Best regards,

May 15, 2020 13:13
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.