Orchard.Alias.Implementation.Updater.AliasHolderUpdater Problem in 1.7

Topics: Core, Customizing Orchard, Troubleshooting
Dec 13, 2013 at 3:44 AM
Edited Dec 13, 2013 at 3:47 AM
crosspost: http://stackoverflow.com/questions/20558727/orchard-alias-implementation-updater-aliasholderupdater-exception-during-alias

I want to start by saying I'm currently migrating 1.6 to 1.7.2. So it used to work in 1.6 but I'm now having issues with 1.7.2.

2 of my Content Types are having issues when creating items, they never finish saving and when I check the logs I get this:
Orchard.Alias.Implementation.Updater.AliasHolderUpdater - Exception during Alias refresh
NHibernate.Exceptions.GenericADOException: could not execute query
[ select aliasrecor0_.Id as Id1829_, aliasrecor0_.Path as Path1829_, aliasrecor0_.RouteValues as RouteVal3_1829_, aliasrecor0_.Source as Source1829_, aliasrecor0_.Action_id as Action5_1829_ from Orchard_Alias_AliasRecord aliasrecor0_ where aliasrecor0_.Id>@p0 order by aliasrecor0_.Id asc ]
  Name:p1 - Value:48
[SQL: select aliasrecor0_.Id as Id1829_, aliasrecor0_.Path as Path1829_, aliasrecor0_.RouteValues as RouteVal3_1829_, aliasrecor0_.Source as Source1829_, aliasrecor0_.Action_id as Action5_1829_ from Orchard_Alias_AliasRecord aliasrecor0_ where aliasrecor0_.Id>@p0 order by aliasrecor0_.Id asc] ---> System.Data.SqlClient.SqlException: Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding. ---> System.ComponentModel.Win32Exception: The wait operation timed out
When I stop it and view the site (anywhere really), it's entirely wrecked with this error:
Exception Details: System.ComponentModel.Win32Exception: The wait operation timed out

[Win32Exception (0x80004005): The wait operation timed out]
[SqlException (0x80131904): Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.]

Line 162:            return criteria
Line 163:                .List<ContentItemVersionRecord>()
Line 164:                .Select(x => ContentManager.Get(x.ContentItemRecord.Id, _versionOptions != null && _versionOptions.IsDraftRequired ? _versionOptions : VersionOptions.VersionRecord(x.Id)))

Source File: d:\Projects\Office Ignite\Main-1.7\src\Orchard\ContentManagement\DefaultContentQuery.cs    Line: 162 
I don't know why this is isolated with those two CTs. They don't have parts with custom tables or anything.

Any piece of information would be highly appreciated. Thanks!
Dec 13, 2013 at 10:17 AM
Between 1.6 and 1.7 transactions the way transactions work changed. Is there any transaction level related calls in your code?

In 1.7.2 the way AliasUpdater works changed (performance optimization). I don't know how, it might be related.

Are you using SQL CE as DB? If not, you can try changing the transaciton level to ReadUncommitted in Orchard.Data.SessionLocator.cs