Error in Sitecore 10.3 XM with CDs - Could not find configuration node: database/database[@id='master']
Hi Team,
Recently we came across two distinct scenarios with same error message.
1) We started getting below error when we try to hit our layout service API endpoint.
If we hit end point of CM, it was working fine and when we try to hit end point of CD it was giving this error, It was clear there is something in backend expecting master DB instead of WEB DB
In first scenario my colleague Jatin also got same issue while setting up docker instance for 10.3, and my friend Akshay Barve and I had the same observation.
2) Second scenario I was having the same exception, It was another project on 10.3 XM with CD, It was one of the migration project so we were migrating from 10.2 to 10.3, Older site was not giving any error but new site the moment we hit, it was giving same exception in the log
Issue in second scenario was in site grouping there was only site and both CM and CD URLs were given in host name and had WEB db as database, so basically there was no preview site, but both of the URLs were trying to show data from a WEB db, but issue was same because it had WEB DB and some configuration was still trying to find master DB either from DLL or from Config.
So different scenarios but same behavior and pointed to a same problem.
To troubleshoot second scenario where after upgrading it started giving error, we tried following.
1) We checked our code and tried to find if any code is using master db configuration
2) We also tried to check if any existing new 10.3 DLLs are having any master db reference
3) We checked in whole app_config folder and tried to search <databaseName>master</databaseName> configuration
and that is where Jatin pointed the same issue we faced and changing this file in order to give CD specific role to make it work
Same patch configuration worked for all of the two scenarios. See below in green,
Solution
We created a patch file with below configuration, it is clearly seen that without this patch file CD will was looking for <databaseName>master</databaseName> instead of a WEB DB.
<?xml version="1.0"?>
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/" xmlns:role="http://www.sitecore.net/xmlconfig/role/" xmlns:set="http://www.sitecore.net/xmlconfig/set/">
<sitecore role:require="ContentDelivery">
<layoutService>
<configurations>
<config name="sxa-jss">
<requestContext type="Sitecore.LayoutService.Configuration.DefaultRequestContext, Sitecore.LayoutService">
<databaseName>web</databaseName>
</requestContext>
</config>
</configurations>
</layoutService>
</sitecore>
</configuration>
Everything worked fine after this patch.
PS: This behavior is registered as a bug by Sitecore support with 578367 reference number, and they acknowledged this behavior.
Comments
Post a Comment