Seit zwei tagen bekomme ich Message: Failed to remove directory

Hallo zusammen,

Seit zwei tagen bekomme ich Message: Failed to remove directory. Dies nach Update von 5.6.7 auf 5.6.8, Jemand eine Idee, was das ist oder wie ich das löse?

 "/var/www/vhosts/..../....[/var/cache/production\_202008121209/html/md](http://partylook.com/var/cache/production_202008121209/html/md)": rmdir(/var/www/vhosts/..../....[/var/cache/production\_202008121209/html/md](http://partylook.com/var/cache/production_202008121209/html/md)): Directory not empty

Channel: core

request:

 { "uri": "/backend/Cache/clearDirect?cache=Config&\_dc=1598270595998", "method": "GET", "query": { "cache": "Config", "\_dc": "1598270595998", "module": "backend", "controller": "Cache", "action": "clearDirect" }, "post": [] }

shop: No shop data available

session:

 { "userId": "50", "roleId": "1" }

Vielen Dank im Voraus, Ron

Vielleicht mal kontrollieren:

  • Ist das Verzeichnis noch vorhanden?
  • Sind die Benutzer auch die richtigen?
  • Sind die Zugriffsrechte auf 755?

@R4M schrieb:

Vielleicht mal kontrollieren:

  • Ist das Verzeichnis noch vorhanden?
  • Sind die Benutzer auch die richtigen?
  • Sind die Zugriffsrechte auf 755?

 

Bester R4M, auf alle deine fragen ist die Antwort Ja

Und wenn du einfach mal den Cache manuell löscht?

@R4M schrieb:

Und wenn du einfach mal den Cache manuell löscht?

 

Also alles im Ordner production_202008121209/html/md entfernen oder auch production_202008121209, oder meinst de CTRL + ALT + X im backend?

Das kannst du ignorieren. Wenn der Cache geleert wird und parallel reingeschrieben wird, kann dieser Fehler auftreten

1 Like

@Shyim schrieb:

Das kannst du ignorieren. Wenn der Cache geleert wird und parallel reingeschrieben wird, kann dieser Fehler auftreten

 

Und wie behebe ich das Shyim? 

@ronarts schrieb:

@R4M schrieb:

Und wenn du einfach mal den Cache manuell löscht?

 

Also alles im Ordner production_202008121209/html/md entfernen oder auch production_202008121209, oder meinst de CTRL + ALT + X im backend?

Du kannst den kompletten Ordner “production_202008121209” killen :-) 

1 Like

Hi zusammen.

Haben aktuell das gleiche Problem. Bei uns nützt das Löschen des kompletten production-Verzeichnis aber leider nichts. 

An was kann dies noch liegen?

Hallo zusammen,

ich habe das Problem leider ebenfalls beim täglichen Refresh des http-Caches und mich mal mit meinem Hoster dazu unterhalten.

Die meinen folgendes:

So wie ich die Fehlermeldung deute ist das Verhalten technisch gesehen auch korrekt.

Shopware führt da, wie ich dem LogEintrag entnehme, ein rmdir aus um einen Ordner zu löschen. Ein rmdir setzt aber immer voraus, dass das zu löschende Verzeichnis leer ist.

Wenn Shopware da Dateien ablegt, dann wird rmdir nicht funktionieren um den Ordner inklusive des Inhalts zu löschen.

Shopware müsste da erst die Inhalte entfernen und könnte dann via rmdir den Ordner löschen.

Was meint Shopware dazu?

 

Hier der Vollständigkeit halber noch meine Fehlermeldung aus dem Cronjob:

Clearing httpcache.

In Filesystem.php line 180:
                                                                               
  [Symfony\Component\Filesystem\Exception\IOException]                         
  Failed to remove directory "/web/var/cache/production_202011060821/html/ci": rmdir(/var/www/clients/client1/web2/web/var/  
  cache/production_202011060821/html/ci): Directory not empty                  
                                                                               

Exception trace:
  at /web/vendor/symfony/filesystem/Filesystem.php:180
 Symfony\Component\Filesystem\Filesystem->remove() at /web/vendor/symfony/filesystem/Filesystem.php:177
 Symfony\Component\Filesystem\Filesystem->remove() at /web/engine/Shopware/Components/CacheManager.php:573
 Shopware\Components\CacheManager->clearDirectory() at /web/engine/Shopware/Components/CacheManager.php:165
 Shopware\Components\CacheManager->clearHttpCache() at /web/engine/Shopware/Commands/WarmUpHttpCacheCommand.php:140
 Shopware\Commands\WarmUpHttpCacheCommand->execute() at /web/vendor/symfony/console/Command/Command.php:255
 Symfony\Component\Console\Command\Command->run() at /web/vendor/symfony/console/Application.php:987
 Symfony\Component\Console\Application->doRunCommand() at /web/engine/Shopware/Components/Console/Application.php:129
 Shopware\Components\Console\Application->doRunCommand() at /web/vendor/symfony/console/Application.php:255
 Symfony\Component\Console\Application->doRun() at /web/engine/Shopware/Components/Console/Application.php:108
 Shopware\Components\Console\Application->doRun() at /web/vendor/symfony/console/Application.php:148
 Symfony\Component\Console\Application->run() at /web/bin/console:38

sw:warm:http:cache [--shopId [SHOPID]] [-c|--clear-cache] [-b|--concurrent-requests [CONCURRENT-REQUESTS]] [-k|--category] [-o|--emotion] [-g|--blog] [-m|--manufacturer] [-t|--static] [-p|--product] [-d|--variantswitch] [-z|--productwithnumber] [-y|--productwithcategory] [-x|--extensions] [--] []...

 

Vielen Dank schon mal für Hilfe und Anregungen.

Viele Grüße, Manuel

Wir haben das Problem nun seit der Umstellung von Shopware 5.5.6 auf 5.6.9 nun ebenfalls.

Hintergrund. Im Shop sind gleichzeitig immer viele user unterwegs die erzeugen ihrerseits wieder neue Files.
Selbst in der shell mit rm -rf production… kommt man da nicht weit.
Besser, “threadsafe”, ordner den man löschen möchte umbenennen, in den nicht hineingeschrieben wird, und dann löschen.

 

Gegebenenfalls sollte man dieses auch in Shopware implementieren, sodass auch bei Servern mit high traffic keine Fehler auftreten.

Wir haben das nun mehrfach täglich ! Shopware was ist hier los ???!!!

Auch bei uns die gleiche Fehlermeldung beim Cache leeren. Hab auch schon mit TimmeHosting Kontakt gehabt. Leider wissen die auch nicht weiter. 

 

Von Timme wurde der Cache auch manuell gelöscht, aber ohne Ergebnis bzw. Fehler kommt weiterhin.

 

Grüße Andi

 

IMHO ruft hier im Frontend nur jemand eine Kategorie auf, die es nicht (mehr) gibt.

1 Like

Das mit der Kategorie ist normal, kann auch GOogle sein, etc. ist nun mal so -> ignorieren.

 

Bei dem Cache besteht hier tatsächlich das Problem,dass zu viele zugriffe gleichzeitig das Cache leeren stört. Shopware sollte diesen Teil des Shops “Threadsafe” gestalten.
Heißt Ordner umbenennen, dann löschen.

Anders ist es nicht möglich.

1 Like

Wir haben es nun folgendermaßen gelöst, in dem CacheManager (Shopware/Components/CacheManager.php).
Grundsätzlich genügt es hier den Ordner umzubenennen, die random_int function habe ich hier nur vorsichtshalber hereingenommen ist aber nicht wirklich nötig, nur wenn mehrere Kollegen gleichzeitig im Backend herumfuhrwerken.

Zusammenfassung

image

VG
Thomas