Programmatically creating or importing content creates additional rows in tblNotificationSubscription

Found in

EPiServer.CMS.Core 11.16.0

Fixed in

EPiServer.CMS.UI 11.34.0

Created

Sep 15, 2020

Updated

Mar 16, 2021

Area

CMS UI

State

Closed, Fixed and tested


Description

Issue Description

When new content such as pages or assets are created via the API or through the out of the box import job it is adding rows to tblNotificationSubscription. This only happens when a project has been added. In the client's case they run a custom sync job which "creates categories, products, variants, location pages, and images". They are not programatically adding the new content to a project, it is happening automatically. The additional rows in tblNotificationSubscription impact performance when loading the CMS UI due to the loading of netNotificationSubscriptionListByKey.

It should be noted that I have only replicated the behavior with the out of the box import job. The customer's sync job is using the service API to create variants. COM-12010 created to address service API.

Customer Impact Statement

CMS UI takes a long time to load. Previously it was timing out but currently as a workaround they are truncating tblNotificationSubscription. This is not a good solution for them.

The client will be going live soon.

Environment Information

svmquicksilver

Steps to Reproduce

Steps on alloy

  1. Create a project.
  2. In the Project selector choose None(use primary drafts)
  3. Navigate to the Export UI in CMS admin.
  4. Choose the root page. Select "sub items" and "export files that the pages link to."
  5. Click export.
  6. Delete any page. (I deleted the "Reseller extranet" page under "customer zone"..
  7. Check the # of rows in tblNotificationSubscription
    select count(*) from tblNotificationSubscription
    
  1. Navigate to import screen.
  2. Choose a destination for the import. (I selected "Start")
  3. Select the file from the previous import. Use the "update existing items with matching ID" option.
  4. Begin import.
  5. Check the # of rows in tblNotificationSubscription

Expected: No increase in rows
Actual: Rows increase

Attachment List

* Please see Zendesk Support tab for further comments and attachments.