MiniProfiler error after saving or publishing specific node
This site is an umbraco 7.1.8 site, and the error was noticed first on September 8th, 2015.
We are seeing an error in the umbraco backoffice when we attempt to save, save and publish, or preview one of the nodes in our site. So far, we've only found the one node that has this problem. Other nodes under the same parent with the same document type do not have this problem. I've tried reindexing the internal indexer, and I've verified that I can connect to all of the dbs listed in the connectionStrings section of the web.config. I didn't find anything interesting in the windows event logs. I'm having trouble reproducing the problem locally.
I don't have a lot of experience with the MiniProfiler. As far as I can tell, our site isn't initializing anything MiniProfiler related on ApplicationStarted. I tried setting umbracoDebugModel="false" in the web.config in an attempt to bypass this problem. No Luck yet.
2015-09-08 10:29:22,352 [7] INFO Umbraco.Web.BatchedServerMessenger - [Thread 42] Submitting calls to distributed servers
2015-09-08 10:30:55,110 [7] INFO Umbraco.Core.Publishing.PublishingStrategy - [Thread 45] Content 'Beyond' with Id '1879' has been published.
2015-09-08 10:30:55,157 [7] INFO Umbraco.Core.Persistence.UmbracoDatabase - [Thread 45] at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
at System.Data.SqlClient.SqlInternalConnection.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)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
at System.Data.SqlClient.SqlCommand.ExecuteScalar()
at StackExchange.Profiling.Data.ProfiledDbCommand.ExecuteScalar() in c:\Code\github\SamSaffron\MiniProfiler\StackExchange.Profiling\Data\ProfiledDbCommand.cs:line 299
at Umbraco.Core.Persistence.PetaPocoCommandExtensions.<>c__DisplayClassa.<ExecuteScalarWithRetry>b__9()
at Umbraco.Core.Persistence.FaultHandling.RetryPolicy.ExecuteAction[TResult](Func`1 func)
at Umbraco.Core.Persistence.PetaPocoCommandExtensions.ExecuteScalarWithRetry(IDbCommand command, RetryPolicy cmdRetryPolicy, RetryPolicy conRetryPolicy)
at Umbraco.Core.Persistence.PetaPocoCommandExtensions.ExecuteScalarWithRetry(IDbCommand command, RetryPolicy retryPolicy)
at Umbraco.Core.Persistence.PetaPocoCommandExtensions.ExecuteScalarWithRetry(IDbCommand command)
at Umbraco.Core.Persistence.Database.Insert(String tableName, String primaryKeyName, Boolean autoIncrement, Object poco)
I've noticed that in the logs above, I get a lot message saying that the node was published. However, no changes are saved.
This guy has a similar post with a very similar error message, but I'm not sure it is the same root cause. DB Timeout Error on Executing SP
Do you have a grid, archetype or nested content on your page. If you have a lot of items in one of these controls it creates a long json string which can exceed the max column length of your database.
This problem has been solved in 7.2
Archetype has released a dll that you can drop in your bin folder that will change the max column lenght on startup
Ugggg. I forgot about that. We aren't using Archetype or a grid or nested content or anything special like that. However, there was a Textbox Multiple with a lot of data in it. That data was stored in the dataNtext column of the cmsPropertyData table. We recently switched this property into a read only Label. It looks like the Labels store their data in the dataNvarchar column. The dataNvarchar column was of datatype nvarchar(500).
I was able to reproduce the problem. I created a Textbox Multiple and pasted a lot of text into it. It saved to the dataNtext column. I changed the data type to a Label, and had errors when I tried to publish the node. I ran this query:
ALTER TABLE cmsPropertyData
ALTER COLUMN dataNvarchar nvarchar(MAX)
and was able to save and publish the node. I looked in the database at the dataNvarchar column, and sure enough, the Label data was stored in the dataNvarchar column instead of the dataNtext column.
MiniProfiler error after saving or publishing specific node
This site is an umbraco 7.1.8 site, and the error was noticed first on September 8th, 2015.
We are seeing an error in the umbraco backoffice when we attempt to save, save and publish, or preview one of the nodes in our site. So far, we've only found the one node that has this problem. Other nodes under the same parent with the same document type do not have this problem. I've tried reindexing the internal indexer, and I've verified that I can connect to all of the dbs listed in the
connectionStrings
section of the web.config. I didn't find anything interesting in the windows event logs. I'm having trouble reproducing the problem locally.I don't have a lot of experience with the MiniProfiler. As far as I can tell, our site isn't initializing anything MiniProfiler related on ApplicationStarted. I tried setting
umbracoDebugModel="false"
in the web.config in an attempt to bypass this problem. No Luck yet.I've noticed that in the logs above, I get a lot message saying that the node was published. However, no changes are saved.
This guy has a similar post with a very similar error message, but I'm not sure it is the same root cause. DB Timeout Error on Executing SP
Anyone seen this before? Any ideas? Thanks
Do you have a grid, archetype or nested content on your page. If you have a lot of items in one of these controls it creates a long json string which can exceed the max column length of your database.
This problem has been solved in 7.2
Archetype has released a dll that you can drop in your bin folder that will change the max column lenght on startup
You can find it on this page : https://github.com/imulus/Archetype/releases/tag/v1.7
It's called DatabaseSizer.dll
Dave
Ugggg. I forgot about that. We aren't using Archetype or a grid or nested content or anything special like that. However, there was a Textbox Multiple with a lot of data in it. That data was stored in the
dataNtext
column of thecmsPropertyData
table. We recently switched this property into a read only Label. It looks like the Labels store their data in thedataNvarchar
column. ThedataNvarchar
column was of datatypenvarchar(500)
.I was able to reproduce the problem. I created a Textbox Multiple and pasted a lot of text into it. It saved to the
dataNtext
column. I changed the data type to a Label, and had errors when I tried to publish the node. I ran this query:and was able to save and publish the node. I looked in the database at the
dataNvarchar
column, and sure enough, the Label data was stored in thedataNvarchar
column instead of thedataNtext
column.Thanks!
is working on a reply...