We're in the process of upgrading an CMS 11 app to CMS 12.
We upgraded the CMS and Find.Cms packages recently (to 12.22.5 and 15.2.0 respectively) and the index job started to fail every time.
The job enters status "Running" but turns "Failed" early. Here I expect the job to stop, but watchning the log it seems it keeps on running?
Is this the intended behaviour? Are there threads running that's not getting cancelled?
Usually it stops with the error:
Cannot create a command without an existing connection, you can use DbFactory to create stand-alone command objects
But then keeps running.
What could be causing this error?
You should be uprading to 12.16 Parallel Tasks and BackgroundContext | Optimizely Developer Commu
TL;DR: there was a bug with background task which was fixed with latest release
Hmm. I was at 12.16 already. Tried upgrading to latest, 12.17.1, but the issue persist.
The error occurs in my development environment, but only occurs intermittently on our testing server.
I'm guessing that if there are some badly developed pages/models that eg. tries to load data on property get, this might interefere with the job running threaded?
It appears that the Index update job is still broken then, as it still fails with the error above.
And it doesn't seem to handle cancellation at all, as it keeps running in the background even though the job finished.
Funny thing is, if the job runs as scheduled it returns as successful/green.
But looking at the result message, it wasn't, it failed with the same message...
Indexing job [Site name] [content]: Reindexing completed. ExecutionTime: 0 hours 0 minutes 0 seconds. Number of contents indexed: 0.
PCNAME An exception occurred while fetching content. Call on database executor not created on current context and on different thread. Possible rooted IDatabaseExecutor, which is not thread safe..
Indexing job [Global assets and other data] [content]: Reindexing completed. ExecutionTime: 0 hours 0 minutes 0 seconds. Number of contents indexed: 0.
PCNAME An exception occurred while fetching content. Cannot create a command without an existing connection, you can use DbFactory to create stand-alone command objects.
Number of external url best bets indexed: 1
Finally it seem to work.
Updated CMS.Core to 12.17.1 before as mentioned, but appearantly that didn't bring up the rest of the packages to as well?
So had to individually update each one to 12.17.1, and now it works.
Yes the bug is actually fixed in EPiServer.CMS.AspNetCore 12.17.1 (optimizely.com) , as it depends on CMS.Core, not the way around, so it's best to upgrade it instead
Ah, that might be it.
Thanks for the help. :-)