Copied to clipboard

Flag this post as spam?

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


  • Arie 224 posts 675 karma points
    Apr 22, 2013 @ 23:36
    Arie
    0

    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?

  • Arie 224 posts 675 karma points
    Apr 22, 2013 @ 23:45
    Arie
    0

    Going on 2 hours now for the sort-action.

    More information:

    • The IIS-instance is taking over 1GB of RAM on the server.
    • CPU for the process
    • Bandwidth to the SQL-server: 2,000 Bytes/sec (send) and 300 Bytes/sec (receive).
  • Zoki 25 posts 91 karma points
    Apr 25, 2013 @ 16:01
    Zoki
    0

    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.

  • Arie 224 posts 675 karma points
    Apr 26, 2013 @ 03:14
    Arie
    0

    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)

  • Arie 224 posts 675 karma points
    Apr 26, 2013 @ 03:17
    Arie
    0

    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)

  • Zoki 25 posts 91 karma points
    Apr 27, 2013 @ 16:29
    Zoki
    0

    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

  • Arie 224 posts 675 karma points
    Apr 27, 2013 @ 19:09
    Arie
    0

    Zoki,

    I just upgraded to 6.0.4, same problem. I've added the most recent error from the log to the issue.

  • fabrice 104 posts 227 karma points
    Apr 30, 2013 @ 09:49
    fabrice
    0

    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.

     

  • Zoki 25 posts 91 karma points
    Apr 30, 2013 @ 09:55
    Zoki
    0

    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

  • fabrice 104 posts 227 karma points
    May 01, 2013 @ 09:17
    fabrice
    0

    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...

     

  • fabrice 104 posts 227 karma points
    May 01, 2013 @ 09:19
    fabrice
    0

    I have voted for the issue :)

Please Sign in or register to post replies

Write your reply to:

Draft