umbraco / Umbraco.Cloud.Issues

Public issue tracker for Umbraco Cloud
26 stars 2 forks source link

DetectCollision did not resolve a content item for original url #369

Closed bjarnef closed 3 years ago

bjarnef commented 3 years ago

On an Umbraco Cloud project based on Umbraco v8.12.2 and Deploy v4.1.2 I am starting to see a lot of pages not being routed and therefore not accessible from frontend. Strange enough these pages are accessible on local environment.

Not sure if it is specific related to this https://github.com/umbraco/Umbraco.Cloud.Issues/issues/245 as Dennis from the support team suggested, anywhere I would like to report this as a separate issue.

The project is using Umbraco ModelsBuilder AppData mode and the embedded version of ModelsBuilder included in Umbraco.

Some pages like /contact which previous was available was accessible, now isn't routed. The project doesn't have any specific redirects/rewrites or custom routing.

The log has started showing a lot of these warnings:

DetectCollision did not resolve a content item for original url: "/contact/", translated to "https://myproject.s1.umbraco.io/contact" and culture: "en-US"

image

The project doesn't using variants or language, except the default language en-US which the nodes by default inherits the culture from.

bjarnef commented 3 years ago

It seems this change was included in v8.12.0 but mainly enhance the logging: https://github.com/umbraco/Umbraco-CMS/pull/9830

bjarnef commented 3 years ago

Somehow nodes on second level was magically routed again on a new deployment. Previous some nodes on a 5th level also wasn't routed, but after upgrading the environment to v8.13.0 it seems these are routed again. I can't find something specific regarding this release, so maybe it was just fixes during the deployment.

I will keep an eye on whether the problem occurs again.

nul800sebastiaan commented 3 years ago

Thanks @bjarnef, you already found umbraco/Umbraco-CMS#9830 and I don't think this issue is Cloud specific at all. The logging was added to be able to better identify what is going wrong if we do have a problem building the routes. I am guessing the login and contact page existed in the site when you saw those errors. Also, if you have any custom RouteHandlers that would be important to check out.

I'm guessing the deployment triggered some kind of cache refresh or something, not sure. Please add any new info you might find to the related issue https://github.com/umbraco/Umbraco-CMS/issues/9514 - I'll close this as it's a CMS issue and we hope to one day find a way to reproduce it, unfortunately.. nothing good so far.

bjarnef commented 3 years ago

@nul800sebastiaan yea, not sure what was going on. On the next deploy the routing was working again. The project doesn't have custom route handlers.

The project is using Contentment package though.

Anyway some magic happened and resolved the issue 🤷‍♂️🦄🎩🐇

bjarnef commented 3 years ago

Just got this issue on a another Umbraco Cloud project after a deployment, where the only change was renaming document type and property names, but not aliases. This project is using Contentment v1.2.0, but there other where up-to-date with Contentment v1.4.2.

The only custom thing these projects have besides RenderMvcController and SurfaceController is that it using Contentment package. @leekelleher I wonder if you have any insights here if Contentment does any custom routing?

bjarnef commented 3 years ago

I made a minor change in a property name, rebuilded ModelsBuilder dll and deployed changes, which was enough to resolve this issue. However I wonder what is causing the underlying issue. In the log I also noticed this regarding Scope and ScopeContext.

image

bjarnef commented 3 years ago

Just wondering if the FakeController here: https://github.com/leekelleher/umbraco-contentment/blob/master/src/Umbraco.Community.Contentment/DataEditors/ContentBlocks/ContentBlocksViewHelper.cs

could conflict with the one in Umbraco core: https://github.com/umbraco/Umbraco-CMS/blob/v8/contrib/src/Umbraco.Web/Mvc/ControllerExtensions.cs