Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Mark Bowser 273 posts 860 karma points c-trib
    Sep 08, 2015 @ 18:12
    Mark Bowser
    0

    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

    Anyone seen this before? Any ideas? Thanks

  • Dave Woestenborghs 3504 posts 12135 karma points MVP 9x admin c-trib
    Sep 09, 2015 @ 06:14
    Dave Woestenborghs
    100

    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

  • Mark Bowser 273 posts 860 karma points c-trib
    Sep 09, 2015 @ 19:55
    Mark Bowser
    1

    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.

    Thanks!

Please Sign in or register to post replies

Write your reply to:

Draft