Fehler beim löschen der Datei "XY"

9.1.x

#1

Hallo,

ich habe ein Problem das mich mit ownCloud schon seit Ewigkeiten verfolgt und meist darin geendet hat, dass ich ownCloud komplett neu installiert habe. Es betrifft das löschen von Dateien, die ich zwar auf meinem Desktop (Mac OS X) löschen kann, aber sie bleiben zum Teil auf dem Server und sind nicht via Browserzugriff zu löschen.

Gehostet ist mein ownCloud bei all-inkl als Shared Host, sprich ich habe keinen Zugriff via SSH.
Ich habe heute die neuste Version installiert (9.1.3) und das ganze läuft unter php 5.6 (CGI).
Aktiv ist ebenfalls die Verschlüsselung von Dateien.

Wie schon eingangs gesagt, kommt das Problem immer wieder und ich kann nicht nachvollziehen, wann und warum. Anfangs dachte ich, es liegt an zu großen Uploads. Die Dateien waren manchmal 3 GB groß. Zum Test habe ich das Limit dann mal runtergesetzt auf 1 GB und hochgeladene Dateien sind auch gerne kleiner wie z.B. 700 MB etc.

Heute habe ich nun nach Monaten gesehen, dass eben das Löschproblem wieder vorhanden ist. Lokal auf meinem Rechner gelöscht, laut Client auch erledigt, aber im Browser sieht man noch alles und der Platz wird auch auf dem Server beansprucht. Nun habe ich div. weitere Test's gemacht und dabei festgestellt, das vor allem Dateien betroffen sind die vor 4 Monaten hochgeladen wurden. Diese können weder gelöscht noch umbenannt werden, wohingegen alle aktuellen Dateien gelöscht und mit anderem Namen versehen werden können. In den letzten vier Monaten habe ich jedoch keine Arbeiten an ownCloud durchgeführt sondern eben lediglich das ganze für alltagsübliche Arbeiten genutzt. Einzige Änderung war die von all-inkl geforderte Änderung der PHP Version. Ich bin mir hier nicht sicher, ob da schon Version 5.6 lief oder ich noch eine ältere Version hatte (vermutlich 5.3).

Als Fehlermeldung wird mir beim Löschversuch im Protokoll folgendes angezeigt:

Fatal webdav Exception: {"Message":"HTTP\/1.1 423 \"Share\/Freunde\/Dateien\/Fotos_t08.zip.001\" is locked","Exception":"OCA\DAV\Connector\Sabre\Exception\FileLocked","Code":0,"Trace":"#0 \/www\/htdocs\/v07XXXX\/owncloud\/3rdparty\/sabre\/dav\/lib\/DAV\/Tree.php(179): OCA\DAV\Connector\Sabre\File->delete()\n#1 \/www\/htdocs\/v07XXXX\/owncloud\/3rdparty\/sabre\/dav\/lib\/DAV\/CorePlugin.php(285): Sabre\DAV\Tree->delete('Share\/Freunde\/F...')\n#2 [internal function]: Sabre\DAV\CorePlugin->httpDelete(Object(Sabre\HTTP\Request), Object(Sabre\HTTP\Response))\n#3 \/www\/htdocs\/v07XXXX\/owncloud\/3rdparty\/sabre\/event\/lib\/EventEmitterTrait.php(105): call_user_func_array(Array, Array)\n#4 \/www\/htdocs\/v07XXXX\/owncloud\/3rdparty\/sabre\/dav\/lib\/DAV\/Server.php(459): Sabre\Event\EventEmitter->emit('method:DELETE', Array)\n#5 \/www\/htdocs\/v07XXXX\/owncloud\/3rdparty\/sabre\/dav\/lib\/DAV\/Server.php(248): Sabre\DAV\Server->invokeMethod(Object(Sabre\HTTP\Request), Object(Sabre\HTTP\Response))\n#6 \/www\/htdocs\/v07XXXX\/owncloud\/apps\/dav\/appinfo\/v1\/webdav.php(56): Sabre\DAV\Server->exec()\n#7 \/www\/htdocs\/v07XXXX\/owncloud\/remote.php(164): require_once('\/www\/htdocs\/v07...')\n#8 {main}","File":"\/www\/htdocs\/v076012\/owncloud\/apps\/dav\/lib\/Connector\/Sabre\/File.php","Line":342,"User":"BENUTZERNAME"}

Hat jemand eine Idee, was ich prüfen kann und wie ich die Dateien nun sauber vom meinem Server gelöscht bekomme?


#2

Dateien werden gelockt, wenn man sie entweder direkt per WebDAV öffnet oder wenn man irgendwelche Operationen mit ihnen ausführt. Standardmäßig wird das in der Datenbank gemacht, wenn es da z.B. zu Timeouts kommt, bleibt die Datei gelockt. Falls möglich, sollte man einen Redis-Cache für File-Locking nutzen (keine Ahnung, ob das dein Webhoster anbietet). Ansonsten gibt es noch die Möglichkeit, das Locking manuell in der Datenbank aufzuheben, schau einfach mal in den FAQs hier auf dem Forum.


#3

Danke für den schnellen Hinweis.
Ich denke ich muss dieses Locking ausschalten. Hinsichtlich Cache habe ich da leider schon sehr wenig Möglichkeiten, da es kein root server ist. Da meckert ownCloud ohnehin schon immer ein wenig hinsichtlich "Tipps" / Empfehlungen".
Hoffentlich lassen sich danach die Dateien dann wieder normal löschen.


#4

Kurzes Feedback... Der Tipp war gold werd. Nun funktioniert wieder alles mit dem Befehl:
'filelocking.enabled' => true,
in der config.php.