Guten Tag,
seit neuerdings lässt sich kein kompletter Shopabgleich mehr durchführen, weil beim pull bestimmter Artikel eine System.OutOfMemoryException auftritt. Über unser System:
Windows 7 in VMware unter Ubuntu 14.04
24GB verfügbarer RAM und über 100GB freier Festplattenspeicher
Microsoft SQL Server 2014
Wawi Version: 1.1.4.13
JTLConnector: v1.6 (UTF8-Konvertierung aktiv)
PHP Version: PHP Version 5.4.45
Artikelbestand Webshop: ~147.000 Artikel im Shop
Die Fehlermeldung ist nicht immer exakt die selbe aber scheint mit dem Speichern von Attributen zusammenzuhängen. Hier was bisher kam:
+ weitere wegen dem Zeichenlimit in der exception.txt
Auffällig ist bisher, dass die Fehlermeldung immer dann auftritt, wenn ein bisher nicht verbundener Artikel aus dem Shop geladen wird, der bereits in Wawi vorhanden ist. Es kommt also auch immer:
Außerdem tritt der Fehler immer nur bei einzelnen Artikeln auf. Sobald man diese aus dem Shop entfernt, läuft der Connector wieder eine Weile bis der Fehler bei irgendeinem Artikel erneut auftritt.
Im Anhang z.B. die Connector Antwort beim letzten Problemartikel.
Was wir bisher probiert haben:
Was können wir noch versuchen? Woran könnte der Fehler liegen? Ich bin langsam mit meinem Latein am Ende.
Vielen Dank.
seit neuerdings lässt sich kein kompletter Shopabgleich mehr durchführen, weil beim pull bestimmter Artikel eine System.OutOfMemoryException auftritt. Über unser System:
Windows 7 in VMware unter Ubuntu 14.04
24GB verfügbarer RAM und über 100GB freier Festplattenspeicher
Microsoft SQL Server 2014
Wawi Version: 1.1.4.13
JTLConnector: v1.6 (UTF8-Konvertierung aktiv)
PHP Version: PHP Version 5.4.45
Artikelbestand Webshop: ~147.000 Artikel im Shop
Die Fehlermeldung ist nicht immer exakt die selbe aber scheint mit dem Speichern von Attributen zusammenzuhängen. Hier was bisher kam:
Code:
Fehler:
Artikel-Empfangen-Fehler: Bitte beachten Sie, dass zur Fehler-Diagnose ebenfalls die Log-Datei des Servers und das Abgleich-Log der Wawi notwendig sind!
Eine Ausnahme vom Typ "System.OutOfMemoryException" wurde ausgelöst.
Ein Aufrufziel hat einen Ausnahmefehler verursacht.
bei System.Linq.Enumerable.OfTypeIterator[TResult](IEnumerable source)
bei System.Linq.Enumerable.OfType[TResult](IEnumerable source)
bei jtlDatabase.Attributes.VirtualMemberAttribute.TryGetValue(AttributeCollection oAttributeCollection, VirtualMemberAttribute& oAttribute)
bei jtlDatabase.jtlObjectTable.AddVirtualPropertyMembers()
bei jtlDatabase.jtlObjectTable..ctor()
bei jtlDatabase.classes.jtlDBClasses.jtlArtikelattributBase..ctor()
bei jtlDatabase.classes.jtlDBClasses.jtlArtikelattribut..ctor()
bei System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
Code:
Fehler:
Artikel-Empfangen-Fehler: Bitte beachten Sie, dass zur Fehler-Diagnose ebenfalls die Log-Datei des Servers und das Abgleich-Log der Wawi notwendig sind!
Eine Ausnahme vom Typ "System.OutOfMemoryException" wurde ausgelöst.
bei System.Reflection.CustomAttribute._GetPropertyOrFieldData(RuntimeModule pModule, Byte** ppBlobStart, Byte* pBlobEnd, String& name, Boolean& bIsProperty, RuntimeType& type, Object& value)
bei System.Reflection.CustomAttribute.GetPropertyOrFieldData(RuntimeModule module, IntPtr& blobStart, IntPtr blobEnd, String& name, Boolean& isProperty, RuntimeType& type, Object& value)
bei System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeModule decoratedModule, Int32 decoratedMetadataToken, Int32 pcaCount, RuntimeType attributeFilterType, Boolean mustBeInheritable, IList derivedAttributes, Boolean isDecoratedTargetSecurityTransparent)
bei System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeType type, RuntimeType caType, Boolean inherit)
bei System.RuntimeType.GetCustomAttributes(Type attributeType, Boolean inherit)
bei System.Attribute.InternalGetAttributeUsage(Type type)
bei System.Attribute.CopyToArrayList(List`1 attributeList, Attribute[] attributes, Dictionary`2 types)
bei System.Attribute.InternalGetCustomAttributes(PropertyInfo element, Type type, Boolean inherit)
bei System.Attribute.GetCustomAttributes(MemberInfo element, Type type, Boolean inherit)
bei System.Attribute.GetCustomAttribute(MemberInfo element, Type attributeType, Boolean inherit)
bei System.Reflection.CustomAttributeExtensions.GetCustomAttribute[T](MemberInfo element)
bei jtlDatabase.jtlMemberProperty.IHBF1IT47Jy()
bei jtlDatabase.jtlMemberProperty.get_Attribute()
bei jtlDatabase.jtlMemberProperty.get_IsObfuscated()
bei jtlDatabase.jtlObjectRepository.vmnFeyWEOnY(jtlObject , IPropertyInfo , Object )
bei jtlDatabase.jtlObjectRepository.FillBy(jtlObject item, DataTable dataTable, Int32 rowNumber, MissingPropertiesMode missingPropertiesMode)
bei jtlDatabase.jtlObjectList`1.appendListFromDB(String sqlQuery, MissingPropertiesMode handleMissingProperties, jtlDBParameter[] oDBParameter_arr)
bei jtlDatabase.jtlObjectList`1.fillListFromDB(String cSQL, MissingPropertiesMode handleMissingProperties, jtlDBParameter[] oDBParameter_arr)
bei jtlDatabase.jtlDatabaseTable`1.fill()
bei jtlDatabase.classes.jtlDBClasses.jtlArtikelattributList.FindAll()
bei jtlDatabase.classes.ConnectorClasses.SaveClasses.AttributeSaver..ctor()
bei jtlDatabase.classes.ConnectorClasses.ProductSaver.GoUngWPBDt(IEnumerable`1 attributes, jtlArtikel )
bei jtlDatabase.classes.ConnectorClasses.ProductSaver.Save(List`1 products, List`1& exceptions)
bei jtlDatabase.classes.ConnectorClasses.Saver.Save(IEnumerable`1 items, jtlShop shop, List`1& exceptions)
bei jtlCore.ControllerClasses.Connector.Abgleich.Funktionen.ConnectorPuller.Pull[TEntity](Int64 quantity)
Code:
Fehler:
Artikel-Empfangen-Fehler: Bitte beachten Sie, dass zur Fehler-Diagnose ebenfalls die Log-Datei des Servers und das Abgleich-Log der Wawi notwendig sind!
Eine Ausnahme vom Typ "System.OutOfMemoryException" wurde ausgelöst.
bei System.Collections.Generic.Dictionary`2.Initialize(Int32 capacity)
bei System.Collections.Generic.Dictionary`2..ctor(Int32 capacity, IEqualityComparer`1 comparer)
bei System.Attribute.InternalGetCustomAttributes(PropertyInfo element, Type type, Boolean inherit)
bei System.Attribute.GetCustomAttributes(MemberInfo element, Type type, Boolean inherit)
bei System.Attribute.GetCustomAttribute(MemberInfo element, Type attributeType, Boolean inherit)
bei System.Reflection.CustomAttributeExtensions.GetCustomAttribute[T](MemberInfo element)
bei jtlDatabase.jtlMemberProperty.rVhcxxEcDEc()
bei jtlDatabase.jtlMemberProperty.get_Attribute()
bei jtlDatabase.jtlMemberProperty.get_IsObfuscated()
bei jtlDatabase.jtlObjectRepository.TFqc2UgpHVj(jtlObject , IPropertyInfo , Object )
bei jtlDatabase.jtlObjectRepository.FillBy(jtlObject item, DataTable dataTable, Int32 rowNumber, MissingPropertiesMode missingPropertiesMode)
bei jtlDatabase.jtlObjectList`1.appendListFromDB(String sqlQuery, MissingPropertiesMode handleMissingProperties, jtlDBParameter[] oDBParameter_arr)
bei jtlDatabase.jtlObjectList`1.fillListFromDB(String cSQL, MissingPropertiesMode handleMissingProperties, jtlDBParameter[] oDBParameter_arr)
bei jtlDatabase.jtlDatabaseTable`1.fill()
bei jtlDatabase.classes.jtlDBClasses.jtlArtikelattributList.FindAll()
bei jtlDatabase.classes.ConnectorClasses.SaveClasses.AttributeSaver..ctor()
bei jtlDatabase.classes.ConnectorClasses.ProductSaver.D2BAfojeoQ(IEnumerable`1 attributes, jtlArtikel )
bei jtlDatabase.classes.ConnectorClasses.ProductSaver.Save(List`1 products, List`1& exceptions)
bei jtlDatabase.classes.ConnectorClasses.Saver.Save(IEnumerable`1 items, jtlShop shop, List`1& exceptions)
bei jtlCore.ControllerClasses.Connector.Abgleich.Funktionen.ConnectorPuller.Pull[TEntity](Int64 quantity)
+ weitere wegen dem Zeichenlimit in der exception.txt
Auffällig ist bisher, dass die Fehlermeldung immer dann auftritt, wenn ein bisher nicht verbundener Artikel aus dem Shop geladen wird, der bereits in Wawi vorhanden ist. Es kommt also auch immer:
Code:
Warnungen:
Artikelnummer '8699077NK' ist bereits vorhanden. Der Wawi-Artikel wird aktualisiert.
Außerdem tritt der Fehler immer nur bei einzelnen Artikeln auf. Sobald man diese aus dem Shop entfernt, läuft der Connector wieder eine Weile bis der Fehler bei irgendeinem Artikel erneut auftritt.
Im Anhang z.B. die Connector Antwort beim letzten Problemartikel.
Was wir bisher probiert haben:
- Funktionen Datenbank bereinigen, reparieren und Performanceoptimierung in Wawi.
- Beim Microsoft SQL Server den Maximalen Serverarbeitsspeicher verringert und "Lock pages in memory" aktiviert.
- Weitere SQL Server Diagnose bei der wir aber nur feststellen konnten, dass einige ebay Artikel queries der Wawi eine recht starke Auslastung erzeugen.
- Die Paketgrößen Einstellungen in der Connector Konfiguration auf 1 begrenzt und die Bilder auf 10MB/Paket
- Überprüfen von Einstellungen für vmware
- Fehlerüberprüfung bei arbeitsspeicher und festplatten
Was können wir noch versuchen? Woran könnte der Fehler liegen? Ich bin langsam mit meinem Latein am Ende.
Vielen Dank.