Skip to content
July 9, 2020 / kiranpatils

7 learnings from Sitecore 9.3 upgrade


Recently we have done a couple of Sitecore 9.3 upgrades and while doing that learned a few things which would like to share with you with a goal that it might make your upgrade journey smoother!

For both projects, we installed and configured Plain Sitecore 9.3 and ported over code/configurations and Sitecore items from old instance to newly setup 9.3 instance.


#1 : Core DB error while accessing /sitecore/login on CD Server

As per Security best practice, /sitecore/login should not be accessible on CD Server. We got following error when we tried the same:

We reached out to Sitecore support and they gave us a link to KB article: as you might have noticed from KB article that this issue applies to 9.1+ version.

We tried KB article steps. But with no luck 😦

We had some back and forth with Sitecore and finally following steps worked for us, Which was approved by Sitecore support as well:

  1. Deployed modified patch file under App_Config\Include\z.Hotfix folder. (We had to keep shell site, which is required for EXM, as per error message)
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns:patch=""
  <sitecore role:require="ContentDelivery">
      <site name="login">
        <patch:delete />
      <site name="modules_shell">
        <patch:delete />

2. Added following node in CD’s Web.Config. (You can also add web.config transform for automatic deployment)

<location path="sitecore">
      <deny users="*"/>

#2 : Identified Content delivery users as editors

We’ve been using Federated Authentication (Azure AD B2C) for Content delivery users/visitors. As soon as 5+ users/visitors login from CD Server they were getting redirected to Users are getting redirected to : /sitecore/client/Applications/LicenseOptions/StartPage – Usually you hit this page on CM server. When the number of logged-in content author’s count has exceeded your allowed license limit

From log file, We came across following log entry

“7692 17:25:11 WARN The maximum number of simultaneously active (logged-in) editors exceeded. The User extranet\x9lg8FkakV cannot be logged in to the system. The maximum of editors allowed by license is 5.”

Came across this As per this post – “Sitecore support has registered this a bug with reference number 366550, and there is (on request) a hotfix available for 9.3.”

We reached out to Sitecore support and they shared SC Hotfix 402431-1.update package with us. Deploying this patch fixed our issue!

#3 : Final step Workflow will not be listed in Workbox

This will be a super rare issue. But this was due to the client’s earlier setup and internal process, Where If an item reaches the final state. Someone will go to Workbox and manually publish. We were having parallel discussions and suggested a better approach. The client team wanted to have this functionality as-is. which works in Sitecore 8.2.

We reached out to Sitecore support and they were not able to find out when and why this got changed. But Sitecore support was able to help us with CustomWorkboxForm.cs file. Let me know if you also have a similar issue and I’ll share the file with you. I still believe this should be handled using Auto publish configuration.

#4 : Redis driver timeout issues

This KB Article: indicates that the issue is fixed in CMS 9.2 Initial Release. Which is true from the code point of view. But you still need to tweak your REDIS configurations. I’ve already penned down my thoughts on this earlier :

#5 : CTRL + S shortcut does not work in Experience editor

We noticed that CTRL + S operation was not working in the experience editor. Sitecore support was able to reproduce this issue and registered it as Bug: 359703. There is a change in PageEditor.JS. If you don’t have any customization in your PageEditor.JS then you can follow the steps given below:

To resolve this issue, please uncomment the following from your “Website/sitecore/shell/Applications/Page Modes/PageEditor.js“: = function(postaction) {
  var command = "webedit:save";
  if (postaction) {
    command += "(postaction=" + postaction + ")";

  this.postRequest(command, null, false);


if (e.keyCode == 83 && e.ctrlKey) {

#6 : SQL Exception when login to Sitecore

During login we faced following SQL Exception :

Nested Exception

    Exception: System.Data.DataException
    Message: Error executing SQL command:  
		INSERT INTO [Properties] (   [Key], [Value] ) VALUES (   @name, @value )

    Nested Exception

    Exception: System.Data.SqlClient.SqlException
    Message: String or binary data would be truncated.
    The statement has been terminated.
    Source: .Net SqlClient Data Provider

We were able to fix this issue by following steps given in this post :

But as per this KB Article: This issue is fixed when we asked more about this to Sitecore support. Here’s what they shared

I checked deeper and found out that it was because the texts: “SC_TICKET_” and “CORE_SC_TICKET”.
The KB mentions about “SC_TICKET” which is actually fixed (you could clarify that there is only CORE_SC_TICKET now but not SC_TICKET).Internally, Product team targets to fix this bug 223702 in the version 9.4. I have already informed Product team about this.

It looks like this issue is still open and If you come across this error then you can follow steps given in earlier post by Thom Sip.

#7 : Indexing error : sitecore- prefix is used for two Solr indexes

Core name for sitecore_testing_index and sitecore_suggested_test_index have “sitecore-” prefix. But other cores are using sitecore_ prefix.

To keep it consistent. We’ve created the following patch file to update Core names for those two indexes.

<?xml version="1.0"?>
<configuration xmlns:patch="" xmlns:role="" xmlns:search="">
<sitecore role:require="Standalone or ContentManagement" search:require="Solr">
<!–Somehow following two indexes has prefix "sitecore-" in their name and our Solr cores are not made that way.
For naming consistency updating core names–>
<configuration type="Sitecore.ContentSearch.ContentSearchConfiguration, Sitecore.ContentSearch">
<indexes hint="list:AddIndex">
<index id="sitecore_testing_index" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider">
<param desc="core" patch:instead="param[@desc='core']">$(id)</param>
<index id="sitecore_suggested_test_index" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider">
<param desc="core" patch:instead="param[@desc='core']">$(id)</param>

That’s it for now. As you can see we had a lot of learnings and it wasn’t done by me alone. Thanks to everyone who has been involved in these efforts!

If you have new learnings, It will be good to share it with the community. I’m looking forward to your learnings!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: