Hi,
I’m experiencing an unusual URL/routing issue in Umbraco 17.6.1 and would appreciate some help understanding what is happening internally.
Currently, I am working on a new project development in V17.6.1 so this is happening in my development environment, and deployment is handled through Azure DevOps.
The behaviour is:
- I publish content from the Umbraco backoffice.
- The URL is generated correctly and works immediately.
- However, the generated URL is not written to the
umbracoDocumentUrltable. - The URL appears to be available through the in-memory URL/cache mechanism, so routing works while the application is running.
- When I deploy changes through Azure DevOps, the application is restarted and the URL disappears.
- The content itself remains published.
- Publishing the content again causes the URL to work again, but the URL is still not persisted to
umbracoDocumentUrl.
Investigation so far
I have been looking at the Umbraco 17.6.1 source code, particularly DocumentUrlAliasService.cs.
I noticed logic around the server role where database persistence is skipped when the current server is running as a Subscriber which call a method UpdateAliasCacheAsync(Guid documentKey) is specifically a cache-only operation and does not write to the database.
This appears to match what I am seeing. The URL is generated and available in memory, but the corresponding database persistence is skipped.
The main issue is that the content team has to republish content after every deployment because the URL works in the backoffice but isn’t persisted and therefore disappears when the application is restarted.
Any guidance from someone familiar with the DocumentUrlService implementation in Umbraco 17 would be greatly appreciated.
Thanks!