SEO-Index aufbauen nicht mehr möglich

Seit dem Update auf Shopware 5.5.10 wurde der betreffende Cronjob mit der Fehlermeldung

array (
  ‘error’ => ‘SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry ‘104866’ for key ‘PRIMARY’’,
)

auf inaktiv gesetzt. Über den manuellen Weg erhalte ich folgende Fehlermeldung:

“Fehler Indexierung fehlgeschlagen, weitere Informationen findest du im Log. 503”

Kann das jemand bestätigen bzw. kennt eine Lösung zu dem betreffenden Problem?

Hallo,

ich glaube nicht, dass das irgendwas mit 5.5.10 zu tun hat. Natürlich werden bei einem Update auch Caches erneuert, die bspw. nicht im regulären Betrieb gelöscht werden. Entsprechend gibt es auch immer Fehler im System, die erst bei einem Update auffallen. 

In meinem Testshop erhalte ich per Cron und auch Backend keinerlei Fehler bei der URL Generierung. Das läuft alles fehlerfrei durch.

Du solltest im ersten Schritt mal schauen, ob überhaupt alle Request in der Debug Konsole des Browsers (Tab Network) einen Fehler zeigen oder nur ein bestimmter. Und dann brauchen wir auch die komplette Fehlermeldung mit Stacktrace und nicht nur die oben gennante.

Spontan klingt es eher wie ein Problem mit dem Auto-Increment deiner Datenbank.

Grüße
Moritz

Hallo Moritz, vielen Dank für deine schnelle Antwort, ich habe den Hinweis auf Version 5.5.10 aus dem Titel entfernt, um niemanden zu verunsichern.

Anbei der Log:

 core.ERROR: PDOException: SQLSTATE(23000): Integrity constraint violation: 1062 Duplicate entry ‘104876’ for key ‘PRIMARY’ in /homepages/32/d624158528/htdocs/engine/Library/Zend/Db/Statement/Pdo.php:219 Stack trace: #0 /homepages/32/d624158528/htdocs/engine/Library/Zend/Db/Statement/Pdo.php(219): PDOStatement->execute(Array) #1 /homepages/32/d624158528/htdocs/engine/Library/Zend/Db/Statement.php(297): Zend_Db_Statement_Pdo->_execute(Array) #2 /homepages/32/d624158528/htdocs/engine/Shopware/Core/sRewriteTable.php(726): Zend_Db_Statement->execute(Array) #3 /homepages/32/d624158528/htdocs/engine/Shopware/Plugins/Default/Core/RebuildIndex/Controllers/Seo.php(327): sRewriteTable->sInsertUrl(‘sViewport=detai…’, ‘Labellamafia-Sh…’) #4 /homepages/32/d624158528/htdocs/engine/Shopware/Plugins/Default/Core/RebuildIndex/Controllers/Seo.php(189): Shopware_Controllers_Backend_Seo->seoArticle(0, 100, Object(Shopware\Models\Shop\DetachedShop)) #5 /homepages/32/d624158528/htdocs/engine/Library/Enlight/Controller/Action.php(192): Shopware_Controllers_Backend_Seo->seoArticleAction() #6 /homepages/32/d624158528/htdocs/engine/Library/Enlight/Controller/Dispatcher/Default.php(563): Enlight_Controller_Action->dispatch(‘seoArticleActio…’) #7 /homepages/32/d624158528/htdocs/engine/Library/Enlight/Controller/Front.php(222): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp)) #8 /homepages/32/d624158528/htdocs/engine/Shopware/Kernel.php(202): Enlight_Controller_Front->dispatch() #9 /homepages/32/d624158528/htdocs/vendor/symfony/http-kernel/HttpCache/SubRequestHandler.php(102): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #10 /homepages/32/d624158528/htdocs/vendor/symfony/http-kernel/HttpCache/HttpCache.php(448): Symfony\Component\HttpKernel\HttpCache\SubRequestHandler::handle(Object(Shopware\Kernel), Object(Symfony\Component\HttpFoundation\Request), 1, true) #11 /homepages/32/d624158528/htdocs/engine/Shopware/Components/HttpCache/AppCache.php(260): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL) #12 /homepages/32/d624158528/htdocs/vendor/symfony/http-kernel/HttpCache/HttpCache.php(238): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true) #13 /homepages/32/d624158528/htdocs/engine/Shopware/Components/HttpCache/AppCache.php(105): Symfony\Component\HttpKernel\HttpCache\HttpCache->pass(Object(Symfony\Component\HttpFoundation\Request), true) #14 /homepages/32/d624158528/htdocs/shopware.php(122): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request)) #15 {main}  Next Zend_Db_Statement_Exception: SQLSTATE(23000): Integrity constraint violation: 1062 Duplicate entry ‘104876’ for key ‘PRIMARY’ in /homepages/32/d624158528/htdocs/engine/Library/Zend/Db/Statement/Pdo.php:224 Stack trace: #0 /homepages/32/d624158528/htdocs/engine/Library/Zend/Db/Statement.php(297): Zend_Db_Statement_Pdo->_execute(Array) #1 /homepages/32/d624158528/htdocs/engine/Shopware/Core/sRewriteTable.php(726): Zend_Db_Statement->execute(Array) #2 /homepages/32/d624158528/htdocs/engine/Shopware/Plugins/Default/Core/RebuildIndex/Controllers/Seo.php(327): sRewriteTable->sInsertUrl(‘sViewport=detai…’, ‘Labellamafia-Sh…’) #3 /homepages/32/d624158528/htdocs/engine/Shopware/Plugins/Default/Core/RebuildIndex/Controllers/Seo.php(189): Shopware_Controllers_Backend_Seo->seoArticle(0, 100, Object(Shopware\Models\Shop\DetachedShop)) #4 /homepages/32/d624158528/htdocs/engine/Library/Enlight/Controller/Action.php(192): Shopware_Controllers_Backend_Seo->seoArticleAction() #5 /homepages/32/d624158528/htdocs/engine/Library/Enlight/Controller/Dispatcher/Default.php(563): Enlight_Controller_Action->dispatch(‘seoArticleActio…’) #6 /homepages/32/d624158528/htdocs/engine/Library/Enlight/Controller/Front.php(222): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp)) #7 /homepages/32/d624158528/htdocs/engine/Shopware/Kernel.php(202): Enlight_Controller_Front->dispatch() #8 /homepages/32/d624158528/htdocs/vendor/symfony/http-kernel/HttpCache/SubRequestHandler.php(102): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #9 /homepages/32/d624158528/htdocs/vendor/symfony/http-kernel/HttpCache/HttpCache.php(448): Symfony\Component\HttpKernel\HttpCache\SubRequestHandler::handle(Object(Shopware\Kernel), Object(Symfony\Component\HttpFoundation\Request), 1, true) #10 /homepages/32/d624158528/htdocs/engine/Shopware/Components/HttpCache/AppCache.php(260): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL) #11 /homepages/32/d624158528/htdocs/vendor/symfony/http-kernel/HttpCache/HttpCache.php(238): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true) #12 /homepages/32/d624158528/htdocs/engine/Shopware/Components/HttpCache/AppCache.php(105): Symfony\Component\HttpKernel\HttpCache\HttpCache->pass(Object(Symfony\Component\HttpFoundation\Request), true) #13 /homepages/32/d624158528/htdocs/shopware.php(122): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request)) #14 {main} {“uid”:“aee934b”}
 

Kannst du denn mal in PHPMyAdmin schauen, ob die Tabelle s_core_rewrite_urls ein Auto-Increment hat? Das bedeutet, dass die ID Spalte automatisch nach oben gesetzt wird,

Puh, also ich bin jetzt in der Datenbank und in der entsprechenden Tabelle drin. So sieht das Ganze bei mir aus:

Sieht doch so aus, dass es vorhanden ist:

 

Kannst du mal schauen, was die höchste ID ist? Passt das irgendwie mit der Zahl aus der Fehlermeldung zusammen? Also 104876?

Sonst suche mal im Feld „org_path“ nach %104876% und schau, ob das dort irgendwo vergeben ist.

Die höchste ID ist die 105569, allerdings iat auch die ID 104876 bereits vorhanden, im Log des Cronjobs war seltsamerweise auch von der 104866 die Rede. Würden die Nummern neu aufgebaut, wenn ich sie entferne?

So, ich habe das Problem lösen können. Ich habe festgestellt, dass bei jedem Aufruf eine höhere ID abgefragt wurde. Dies habe ich dann so lange ausgeführt, bis die höchste vorhandene ID erreicht war. Interessant wäre natürlich zu wissen, wo diese Abfrage erzeugt wird und ob der Wert dort direkt hätte hochgesetzt werden können.