Deployment Fails with Error "NHibernate.Exceptions.GenericADOException: could not execute query"
I have Courier successfully set up, and most content pages transfer without issue. However, when attempting to transfer some content nodes of a blog post type, an error occurs during deployment.
The only obvious difference is that this doctype has two "Tags" properties, but those datatypes are on the destination environment.
Umbraco v. 7.10.4
Courier v. 3.1.6
Full Error from CourierTraceLog (source environment):
ERROR Umbraco.Courier.Core.BackgroundTaskRunner - [Thread 66] An error occurred consuming task
System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> NHibernate.Exceptions.GenericADOException: could not execute query
[ SELECT cmsPropertyData.dataNvarchar, cmsPropertyData.dataNtext, umbracoNode.id, umbracoNode.uniqueID
FROM cmsPropertyData
INNER JOIN cmsPropertyType ON cmsPropertyType.id = cmsPropertyData.propertytypeid
INNER JOIN umbracoNode ON umbracoNode.id = cmsPropertyData.contentNodeId
WHERE cmsPropertyType.Alias = (@p0)
AND umbracoNode.id IN (SELECT umbracoNode.id
FROM umbracoNode
INNER JOIN cmsContent ON cmsContent.nodeId = umbracoNode.id
INNER JOIN cmsContentType ON cmsContentType.nodeId = cmsContent.contentType
INNER JOIN cmsPropertyType ON cmsPropertyType.contentTypeId = cmsContentType.nodeId
WHERE cmsPropertyType.Alias = (@p0) AND umbracoNode.nodeObjectType = (@p2))
AND (cmsPropertyData.dataNvarchar IS NOT NULL OR cmsPropertyData.dataNtext IS NOT NULL) ]
Name:alias - Value:umbracoFile Name:nodeObjectType - Value:b796f64c-1f99-4ffb-b886-4bf4bc011a9c
[SQL: SELECT cmsPropertyData.dataNvarchar, cmsPropertyData.dataNtext, umbracoNode.id, umbracoNode.uniqueID
FROM cmsPropertyData
INNER JOIN cmsPropertyType ON cmsPropertyType.id = cmsPropertyData.propertytypeid
INNER JOIN umbracoNode ON umbracoNode.id = cmsPropertyData.contentNodeId
WHERE cmsPropertyType.Alias = (@p0)
AND umbracoNode.id IN (SELECT umbracoNode.id
FROM umbracoNode
INNER JOIN cmsContent ON cmsContent.nodeId = umbracoNode.id
INNER JOIN cmsContentType ON cmsContentType.nodeId = cmsContent.contentType
INNER JOIN cmsPropertyType ON cmsPropertyType.contentTypeId = cmsContentType.nodeId
WHERE cmsPropertyType.Alias = (@p0) AND umbracoNode.nodeObjectType = (@p2))
AND (cmsPropertyData.dataNvarchar IS NOT NULL OR cmsPropertyData.dataNtext IS NOT NULL)] ---> System.Data.SqlClient.SqlException: Execution 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
--- End of inner exception stack trace ---
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
at System.Data.SqlClient.SqlDataReader.get_MetaData()
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
at NHibernate.AdoNet.AbstractBatcher.ExecuteReader(IDbCommand cmd)
at NHibernate.Loader.Loader.GetResultSet(IDbCommand st, Boolean autoDiscoverTypes, Boolean callable, RowSelection selection, ISessionImplementor session)
at NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies)
at NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies)
at NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters)
--- End of inner exception stack trace ---
at NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters)
at NHibernate.Loader.Loader.ListIgnoreQueryCache(ISessionImplementor session, QueryParameters queryParameters)
at NHibernate.Impl.StatelessSessionImpl.ListCustomQuery(ICustomQuery customQuery, QueryParameters queryParameters, IList results)
at NHibernate.Impl.StatelessSessionImpl.List(NativeSQLQuerySpecification spec, QueryParameters queryParameters, IList results)
at NHibernate.Impl.SqlQueryImpl.List(IList results)
at Umbraco.Courier.Persistence.V6.NHibernate.Helpers.MediaHelper.<>c__DisplayClass2.<GetOrCreateMediaPathCache>b__0(Object x)
at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
at Umbraco.Courier.Persistence.V6.NHibernate.Helpers.MediaHelper.GetOrCreateMediaPathCache(Func`2 sqlQueryFactory)
at Umbraco.Courier.Persistence.V6.NHibernate.Helpers.MediaHelper.GetMediaGuidByPath(String mediaPath)
at Umbraco.Courier.DataResolvers.Helpers.ImagesResolver.AddImageDependenciesForValue(String value, Item item)
at Umbraco.Courier.DataResolvers.GridCellDataResolvers.CoreCellEditorResolver.HandleRte(Item item, ContentProperty propertyData, GridValueControlModel cell, Boolean packing)
at Umbraco.Courier.DataResolvers.GridCellDataResolvers.CoreCellEditorResolver.ExtractingCell(Item item, ContentProperty propertyData, GridValueControlModel cell)
at Umbraco.Courier.DataResolvers.PropertyDataResolvers.GridCellResolverProvider.ExtractingProperty(Item item, ContentProperty propertyData)
at Umbraco.Courier.DataResolvers.PropertyDataResolverProvider.Extracting(Item item)
at Umbraco.Courier.Core.ResolutionManager.ExecuteResolver(Item item, ItemEvent e, ItemProvider provider)
at Umbraco.Courier.Core.ItemProvider.Extract(Item item)
at Umbraco.Courier.RepositoryProviders.Local.ExtractItem(Item item, Boolean overwrite)
at Umbraco.Courier.RepositoryProviders.Webservices.Repository.ExtractItems(String sessionKey, SerializedItemWrapper[] items, Boolean overWrite)
--- End of inner exception stack trace ---
at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
at System.Web.Services.Protocols.SoapHttpClientProtocol.EndInvoke(IAsyncResult asyncResult)
at Umbraco.Courier.RepositoryProviders.WebServiceProvider.RepositoryWebservice.EndExtractItems(IAsyncResult asyncResult)
at Umbraco.Courier.RepositoryProviders.CourierWebserviceRepositoryProvider.ExtractItems(Item[] items, Boolean overWrite)
at Umbraco.Courier.Core.Extraction.RevisionExtraction.ExtractItems(List`1 nodes)
at Umbraco.Courier.Core.Extraction.RevisionExtraction.ExtractReadyRevisionBatch()
at Umbraco.Courier.Core.Extraction.RevisionExtraction.Extract()
at Umbraco.Courier.Core.Tasks.ExtractionTask.Run()
at Umbraco.Courier.Core.BackgroundTaskRunner`1.ConsumeTaskInternal(T task)
Some additional information:
I was able to get a few of the content nodes to deploy when I made sure that both of the Tag properties had at least one tag present, but I was still unable to transfer the last content node, even when adding a tag to the property. (Since the Tag property doesn't have a Mandatory marker on it, it seems odd that data in that property would be a requirement for deployment in any case.)
I was finally able to transfer the last content node when I noticed that its main content (provided by a Grid Control) only contained a Rich Text Grid Editor with only an image in in. When I removed the RTE Editor and replaced it with a LeBlender Editor which allows for inserting an Image from the Media section, I was then able to transfer the node. (Once again a bizarre sort of "requirement" for Courier to choke on, IMHO.)
Deployment Fails with Error "NHibernate.Exceptions.GenericADOException: could not execute query"
I have Courier successfully set up, and most content pages transfer without issue. However, when attempting to transfer some content nodes of a blog post type, an error occurs during deployment.
The only obvious difference is that this doctype has two "Tags" properties, but those datatypes are on the destination environment.
Umbraco v. 7.10.4
Courier v. 3.1.6
Full Error from CourierTraceLog (source environment):
Some additional information:
I was able to get a few of the content nodes to deploy when I made sure that both of the Tag properties had at least one tag present, but I was still unable to transfer the last content node, even when adding a tag to the property. (Since the Tag property doesn't have a Mandatory marker on it, it seems odd that data in that property would be a requirement for deployment in any case.)
I was finally able to transfer the last content node when I noticed that its main content (provided by a Grid Control) only contained a Rich Text Grid Editor with only an image in in. When I removed the RTE Editor and replaced it with a LeBlender Editor which allows for inserting an Image from the Media section, I was then able to transfer the node. (Once again a bizarre sort of "requirement" for Courier to choke on, IMHO.)
We had the same issue, related https://issues.umbraco.org/issue/COU-627.
We applied the Courier.v3.1.6-cou-627-v2.HotFix.zip
It resolved the issue.
is working on a reply...