I've got a content node that has about 275 children (articles). Sorting them alphabetically is very slow - it's already been almost an hour and it's still processing.
Reloading the parent node is also very slow (about 30-45 seconds).
Can you check a log? On 6.0.3 I had to remove sitemapProvider from web config to remove some errors, but I was still getting nodeSorter errors in log, but only when sorting > 100 nodes.
2013-05-01 09:10:22,132 [10] ERROR umbraco.presentation.webservices.nodeSorter - [Thread 24] An error occurred System.Threading.ThreadAbortException: Thread was being aborted. at System.Runtime.CompilerServices.RuntimeHelpers._CompileMethod(IRuntimeMethodInfo method) at System.Reflection.Emit.DynamicMethod.CreateDelegate(Type delegateType) at Umbraco.Core.Persistence.Database.PocoData.GetFactory(String sql, String connString, Boolean ForceDateTimesToUtc, Int32 firstColumn, Int32 countColumns, IDataReader r) at Umbraco.Core.Persistence.Database.FindSplitPoint(Type typeThis, Type typeNext, String sql, IDataReader r, Int32& pos) at Umbraco.Core.Persistence.Database.CreateMultiPocoFactory[TRet](Type[] types, String sql, IDataReader r) at Umbraco.Core.Persistence.Database.GetMultiPocoFactory[TRet](Type[] types, String sql, IDataReader r) at Umbraco.Core.Persistence.Database.<Query>d__1c`1.MoveNext() at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source) at umbraco.cms.businesslogic.datatype.DefaultData.LoadValueFromDatabase() at umbraco.cms.businesslogic.datatype.DefaultData.get_Value() at umbraco.cms.businesslogic.web.Document.Save() at umbraco.presentation.webservices.nodeSorter.UpdateSortOrder(Int32 ParentId, String SortOrder)
UPDATE : The sorting works for some nodes, but it doesn't work for others. I didn't find out what is different yet...
v6.0.3: sorting very slow (275 children)
I've got a content node that has about 275 children (articles). Sorting them alphabetically is very slow - it's already been almost an hour and it's still processing.
Reloading the parent node is also very slow (about 30-45 seconds).
Ideas/suggestions?
Going on 2 hours now for the sort-action.
More information:
Can you check a log? On 6.0.3 I had to remove sitemapProvider from web config to remove some errors, but I was still getting nodeSorter errors in log, but only when sorting > 100 nodes.
Here's what I'm seeing in the error log. This happened right after I initiated the sort.
2013-04-25 18:00:52,192 [36] ERROR umbraco.presentation.webservices.nodeSorter - [Thread 16] Could not update sort order
System.Threading.ThreadAbortException: Thread was being aborted.
at SNIReadSync(SNI_Conn* , SNI_Packet** , Int32 )
at SNINativeMethodWrapper.SNIReadSync(SafeHandle pConn, IntPtr& packet, Int32 timeout)
at System.Data.SqlClient.TdsParserStateObject.ReadSni(DbAsyncResult asyncResult, TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParserStateObject.ReadNetworkPacket()
at System.Data.SqlClient.TdsParserStateObject.ReadByte()
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
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)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
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 System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader()
at Umbraco.Core.Persistence.Database.<Query>d__1c`1.MoveNext()
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
at umbraco.cms.businesslogic.datatype.DefaultData.LoadValueFromDatabase()
at umbraco.cms.businesslogic.datatype.DefaultData.get_Value()
at umbraco.cms.businesslogic.web.Document.Save()
at umbraco.presentation.webservices.nodeSorter.UpdateSortOrder(Int32 ParentId, String SortOrder)
Log entries after the second sort attempt:
2013-04-25 19:11:01,435 [36] INFO umbraco.BusinessLogic.Log - [Thread 39] Redirected log call (please use Umbraco.Core.Logging.LogHelper instead of umbraco.BusinessLogic.Log) | Type: Custom | User: 0 | NodeId: -1 | Comment: [UmbracoExamine] (InternalIndexer)Index is being optimized
2013-04-25 19:11:40,107 [36] INFO umbraco.BusinessLogic.Log - [Thread 11] Redirected log call (please use Umbraco.Core.Logging.LogHelper instead of umbraco.BusinessLogic.Log) | Type: Custom | User: 0 | NodeId: -1 | Comment: [UmbracoExamine] (InternalIndexer)Index is being optimized
2013-04-25 19:12:34,278 [36] INFO umbraco.BusinessLogic.Log - [Thread 49] Redirected log call (please use Umbraco.Core.Logging.LogHelper instead of umbraco.BusinessLogic.Log) | Type: Custom | User: 0 | NodeId: -1 | Comment: [UmbracoExamine] (InternalIndexer)Index is being optimized
2013-04-25 19:12:37,747 [36] ERROR umbraco.presentation.webservices.nodeSorter - [Thread 58] Could not update sort order
System.Threading.ThreadAbortException: Thread was being aborted.
at System.Runtime.CompilerServices.RuntimeHelpers._CompileMethod(IRuntimeMethodInfo method)
at System.Reflection.Emit.DynamicMethod.CreateDelegate(Type delegateType)
at Umbraco.Core.Persistence.Database.PocoData.GetFactory(String sql, String connString, Boolean ForceDateTimesToUtc, Int32 firstColumn, Int32 countColumns, IDataReader r)
at Umbraco.Core.Persistence.Database.FindSplitPoint(Type typeThis, Type typeNext, String sql, IDataReader r, Int32& pos)
at Umbraco.Core.Persistence.Database.CreateMultiPocoFactory[TRet](Type[] types, String sql, IDataReader r)
at Umbraco.Core.Persistence.Database.GetMultiPocoFactory[TRet](Type[] types, String sql, IDataReader r)
at Umbraco.Core.Persistence.Database.<Query>d__1c`1.MoveNext()
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
at umbraco.cms.businesslogic.datatype.DefaultData.LoadValueFromDatabase()
at umbraco.cms.businesslogic.datatype.DefaultData.get_Value()
at umbraco.cms.businesslogic.web.Document.Save()
at umbraco.presentation.webservices.nodeSorter.UpdateSortOrder(Int32 ParentId, String SortOrder)
Arie, I couldn't resolve same problem, so I hope someone from core team will take a look at it:
http://issues.umbraco.org/issue/U4-1750
Zoki,
I just upgraded to 6.0.4, same problem. I've added the most recent error from the log to the issue.
It's reallyyyy slow for me too since Umbraco 6.xx. (we are at 6.0.3)
The editor are doing a simple sort by moving the position of one node to the top. It takes 4 minutes...and it used to take less than 30 sec.
Fabrice, you're probably seeing nodeSorter error in log also.
It would be a good idea to comment and upvote this issue, in order to get this fixed:
http://issues.umbraco.org/issue/U4-1750
Yes I have :
2013-05-01 09:10:22,132 [10] ERROR umbraco.presentation.webservices.nodeSorter - [Thread 24] An error occurred
System.Threading.ThreadAbortException: Thread was being aborted.
at System.Runtime.CompilerServices.RuntimeHelpers._CompileMethod(IRuntimeMethodInfo method)
at System.Reflection.Emit.DynamicMethod.CreateDelegate(Type delegateType)
at Umbraco.Core.Persistence.Database.PocoData.GetFactory(String sql, String connString, Boolean ForceDateTimesToUtc, Int32 firstColumn, Int32 countColumns, IDataReader r)
at Umbraco.Core.Persistence.Database.FindSplitPoint(Type typeThis, Type typeNext, String sql, IDataReader r, Int32& pos)
at Umbraco.Core.Persistence.Database.CreateMultiPocoFactory[TRet](Type[] types, String sql, IDataReader r)
at Umbraco.Core.Persistence.Database.GetMultiPocoFactory[TRet](Type[] types, String sql, IDataReader r)
at Umbraco.Core.Persistence.Database.<Query>d__1c`1.MoveNext()
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
at umbraco.cms.businesslogic.datatype.DefaultData.LoadValueFromDatabase()
at umbraco.cms.businesslogic.datatype.DefaultData.get_Value()
at umbraco.cms.businesslogic.web.Document.Save()
at umbraco.presentation.webservices.nodeSorter.UpdateSortOrder(Int32 ParentId, String SortOrder)
UPDATE : The sorting works for some nodes, but it doesn't work for others. I didn't find out what is different yet...
I have voted for the issue :)
is working on a reply...