Estoy usando SDL Tridion 2009 SP1 en un servidor de 64 bits e intento publicar un XML masivo de todos los componentes multimedia en el sistema (190K +). Estoy usando el método folder.GetListItems(filter)
con el filtro configurado en Recursive="true"
.Error de memoria insuficiente al publicar un resultado grande de GetListItems
La plantilla tiene una duración de varios segundos y luego explota con un error de falta de memoria:
<?xml version="1.0"?>
<tcm:Error xmlns:tcm="http://www.tridion.com/ContentManager/5.0" ErrorCode="7" Category="7" Source="Kernel" Severity="1"><tcm:Line ErrorCode="7" Cause="true"><![CDATA[Out of memory]]></tcm:Line><tcm:Details><tcm:CallStack><tcm:Location>FolderBLST.GetListData</tcm:Location></tcm:CallStack></tcm:Details></tcm:Error>
at Tridion.ContentManager.Interop.TDSBL._IBLOrganizationalItemST.GetListData(UserContext userContext, String URI, EnumListKind listKind, ListColumnFilter columnFilter, String rowFilter)
at Tridion.ContentManager.ContentManagement.OrganizationalItem.GetListItems(Filter filter)
at myNS.myTbb.Transform(Engine engine, Package package)
at Tridion.ContentManager.Templating.Assembly.AssemblyMediator.Transform(Engine engine, Template template, Package package)
at Tridion.ContentManager.Templating.Assembly.CSharpSourceCodeMediator.RunTemplate(Engine engine, Package package, String templateUri, String className)
at Tridion.Templating.CSharpTemplate.CSharpSourceTemplate.Transform(Engine __engine, Package __package)
at Tridion.ContentManager.Templating.Assembly.CSharpSourceCodeMediator.Transform(Engine engine, Template template, Package package)
at Tridion.ContentManager.Templating.Engine.ExecuteTemplate(Template template, Package package)
at Tridion.ContentManager.Templating.Engine.InvokeTemplate(Package package, TemplateInvocation templateInvocation, Template template)
at Tridion.ContentManager.Templating.Compound.CompoundTemplateMediator.Transform(Engine engine, Template templateToTransform, Package package)
at Tridion.ContentManager.Templating.Engine.ExecuteTemplate(Template template, Package package)
at Tridion.ContentManager.Templating.Engine.InvokeTemplate(Package package, TemplateInvocation templateInvocation, Template template)
at Tridion.ContentManager.Templating.Engine.TransformPackage(Template template, Package package)
at Tridion.ContentManager.Templating.Engine.TransformItem(Template template, IdentifiableObject itemToRender)
at Tridion.ContentManager.Templating.Debugging.DebuggingEngine.Run()
at Tridion.ContentManager.Templating.Debugging.DebugSession.Run()
Desde el Seguimiento de la pila se ve como si el error está ocurriendo en la capa de negocio del servidor CM. ¿Existe una configuración de memoria que pueda aumentar para esto? De ser así, ¿cuál es?
Gracias Miguel. Vamos a dividir el proceso en un grupo de subcarpetas (según su segunda sugerencia). Sin embargo, me gusta mucho su sugerencia en el escenario 1 con el sistema de eventos. –
contento de que haya sido útil Nickoli. Este tipo de carga siempre causa problemas cuando hay una gran cantidad de artículos. Agregué un escenario 3 como otro ejemplo – Miguel