100 Artikel im Warenkorb und Shopware streikt

Aktuell haben wir bei einem Kunden 2 Fälle, dass bei einer hohen Anzahl von Artiklen im Warenkorb die Bestellung nicht abgeschlossen werden kann. Heißt ganz einfach: Es sind ca. 100 Artikel im Warenkorb und mit dem Klick auf den Button „Zahlungspflichtig bestellen“ wird der Kunde zurück zum Warenkorb geleitet. Absolute keine Fehlermeldung im Log oder sonst wo. Die Bestellung kann einfach nicht abgeschlossen werden.

In der Zwischenzeit ist auch der Shopware Support mit involviert, haben aber bisher noch keinen Anhaltspunkt. Der Shop-Betreiber ist natürlich nicht glücklich, da es sich um rechte hohe Bestellungen handelt die nicht abgeschlossen werden können.

Falls also irgendjemand über so ein Verhalten schon mal gestoßen ist, wäre ich für jedem Hinweis dankbar, denn wir brauchen eine Lösung.

Wir hatten ein ähnliches Problem, was darauf zurückzuführen war, das die Bestellung - bevor sie abgesetzt wird - in der Session gespeichert wird und damit in der Datenbank. Wir haben dann aber auch tatsächlich eine Fehlermeldung gehabt

2020-10-15 09:42:09 [fcgid:warn] [pid 26977:tid 140046392813312] [client some.ip] mod_fcgid: stderr: PHP Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1118 The size of BLOB/TEXT data inserted in one transaction is greater than 10% of redo log size. Increase the redo log size using innodb_log_file_size. in /var/www/vhosts/xxx/httpdocs/releases/14/engine/Shopware/Components/Session/PdoSessionHandler.php:341, referer: https://xxx/checkout/finish
2020-10-15 09:42:09 [fcgid:warn] [pid 26977:tid 140046392813312] [client some.ip] mod_fcgid: stderr: Stack trace:, referer: https://xxx/checkout/finish
2020-10-15 09:42:09 [fcgid:warn] [pid 26977:tid 140046392813312] [client some.ip] mod_fcgid: stderr: #0 /var/www/vhosts/xxx/httpdocs/releases/14/engine/Shopware/Components/Session/PdoSessionHandler.php(341): PDOStatement->execute(), referer: https://xxx/checkout/finish
2020-10-15 09:42:09 [fcgid:warn] [pid 26977:tid 140046392813312] [client some.ip] mod_fcgid: stderr: #1 [internal function]: Shopware\\Components\\Session\\PdoSessionHandler->write('n8hmva8shg6emfu...', 'Shopware|a:50:{...'), referer: https://xxx/checkout/finish
2020-10-15 09:42:09 [fcgid:warn] [pid 26977:tid 140046392813312] [client some.ip] mod_fcgid: stderr: #2 [internal function]: session_write_close(), referer: https://xxx/checkout/finish
2020-10-15 09:42:09 [fcgid:warn] [pid 26977:tid 140046392813312] [client some.ip] mod_fcgid: stderr: #3 {main}, referer: https://xxx/checkout/finish
2020-10-15 09:42:09 [fcgid:warn] [pid 26977:tid 140046392813312] [client some.ip] mod_fcgid: stderr: thrown in /var/www/vhosts/xxx/httpdocs/releases/14/engine/Shopware/Components/Session/PdoSessionHandler.php on line 341, referer: https://xxx/checkout/finish

Keine Ahnung ob ihr hier ein ähnliches Problem habt. Wir haben demnach die Datenbank Settings erhöht…

Andere Idee ist halt noch dass das Feld in der s_core_sessions zu klein ist. Wenn mich nicht alles täuscht ist das ein Mediumblob, also 16 MB, und die können gerne schnell zusammenkommen wenn man objekte serialisiert in der Datenbank speichert :slight_smile:

Aber das sind wie gesagt nur Anhaltspunkte zu Problemen die wir auch mal bei hoheer Anzahl von Items im Warenkorb hatten.

Vielleicht hilfts.

Gruß

Da ist egal, wir werden wohl allen Punkten nachgehen. Wie schon erwähnt, im Log keinerlei hinweise.

Habt ihr da damals was rausgefunden, ich habe gerade das gleiche Problem. Artikel bleiben einfach im Warenkorb liegen.

Ich habe das nicht mehr ganz auf dem Schirm, aber damals lag es an der Datenbank bzw. an den Einstellungen. Wir mussten in der DB den Parameter " max_allowed_packet" auf 16M stellen.

Das habe ich schon, wenn ich " max_allowed_packet" auf 32M setze, dann ändert sich die Fehlermeldung:

[php7:error] [pid 21704] [client 24.134.19.221:53357] PHP Fatal error:  Uncaught Zend_Session_Exception: Zend_Session::start() - /srv/www/htdocs/meine-domain/wwwroot/meine-domain/shop/engine/Library/Zend/Session.php(Line:468): Error #2 session_start(): Failed to decode session object. Session has been destroyed in /srv/www/htdocs/meine-domain/wwwroot/meine-domain/shop/engine/Library/Zend/Session.php:481\nStack trace:\n#0 /srv/www/htdocs/meine-domain/wwwroot/meine-domain/shop/engine/Shopware/Components/DependencyInjection/Bridge/Session.php(106): Zend_Session::start(Array)\n#1 /srv/www/htdocs/meine-domain/wwwroot/meine-domain/shop/var/cache/production_202105060633/proxies/ShopwareProductiond47e5999c0334faca78cfa2002048ecc424fa365ProjectContainer.php(2934): Shopware\\Components\\DependencyInjection\\Bridge\\Session->createSession(Object(ShopwareProductiond47e5999c0334faca78cfa2002048ecc424fa365ProjectContainer), Object(Shopware\\Components\\Session\\PdoSessionHandler))\n#2 /srv/www/htdocs/meine-domain/wwwroot/meine-domain/shop/vendor/symfony/dependency-injection/Container.php(306): ShopwarePr in /srv/www/htdocs/meine-domain/wwwroot/meine-domain/shop/engine/Library/Zend/Session.php on line 481, referer: https://meine-domain/shop/de/checkout/finish

OK, es war noch die db, dort musste ich die data in s_core_sessions von mediumblob auf longblob vergrößern.