ownCloud: Das Problem mit den _conflict-Dateien reproduzieren – so geht es (bei mir)

Kein Kommentar Autor: Jürgen (jdo)

ownCloud Logo 150x150Heute morgen schrieb ich über das Problem mit tausenden von _conflict-Dateien, die mir der ownCloud-Sync-Client da ins Nest gelegt hat. Wenn man den Client während einer Synchronisation mittels kill -9 abschießt und dann wieder startet, scheint das Problem nicht aufzutreten. Allerdings habe ich in meinem Test-Ordner auch nur wenige Dateien drin.

Trotzdem kann ich diese _conflict-Dateien provozieren und ich glaube nicht, dass das so geplant ist.

1. Versuch: Nur 2 Dateien

Zunächst habe ich in einem Test-Ordner nur 2 Dateien genommen: 1.jpg und 2.jpg. Während der ownCloud-Client lief, habe ich den Befehl touch 1.jpg ausgeführt. Das macht nichts weiter, als den Zeitstempel zu ändern.

Ergebnis: Sync-Client hat brav funktioniert.

Danach habe ich den Sync-Cclient geschlossen und touch 2.jpg aufgerufen. Danach den Client gestartet.

Ergebnis: Sync-Client hat brav funktioniert.

2. Versuch: Mehrere Dateien

Während der Sync-Client lief, habe ich so zirka 50 Dateien in den Sync-Ordner kopiert und ihn ein paar Dateien in die ownCloud übertragen lassen. Während des Synchronisations-Vorgangs habe ich den Client dann einfach abgeschossen (via kill -9 oder einfach über rechten Mauslick beenden erzeugt das gleiche Ergebnis)

Nun habe ich auf dem lokalen Rechner in meinem Test-Ordner find . -exec touch {} \; ausgeführt. Das macht nichts anderes als allen Dateien in sämtlichen Unterordnern einen neuen Zeitstempel zu verpassen. Es verändert die Datei nicht und die md5-Summe ist auch genau gleich. Nun habe ich den ownCloud-Client wieder aufgerufen …

Hätte ich nicht auf dem Server geschaut, hätte ich auch nichts von den Konflikten mitbekommen (im Browser sähe man es natürlich auch). Die _conflict-Dateien werden nicht auf meinen Rechner zurücksynchronisiert. Warum das bei dem Mac so war, keine Ahnung. Das Blöde an der Sache ist nur: Lösche ich nun Dateien auf meinem Desktop, löscht ownCloud die _conflict-Dateien auf dem Server nicht.

Wenn ich den Unterordner lösche, wo sich so eine Konflikt-Datei befindet, synchronisiert mir der Client beim nächsten Aufruf den Order auf den Desktop zurück – der ist allerdings scheinbar leer. Lösche ich diese dann noch einmal auf dem Desktop, verschwindet er auch auf dem Server inklusive der unerwünschten Dateien.

ownCloud _conflict-Problem

ownCloud _conflict-Problem

Ergebnis: _conflict-Dateien von den vorher schon synchronisierten Daten.

System: ownCloud 5, Synchronisations-Client 1.2.1, Linux Mint 14 als Desktop, Ubuntu 12.04 als Server. Das Problem besteht aber bei ownCloud 4.5 auch.

Noch einmal vereinfact, wie sich das Problem bei mir reproduzieren lässt:

  • Auf dem Desktop bei laufendem Client so 20 Dateien in den Sync-Ordner kopieren
  • auf dem Server überwachen, bis ein paar Dateien synchronisiert sind
  • Sync-Client beenden
  • touch auf dem Desktop über die Dateien laufen lassen
  • Sync-Client wieder aktivieren -> _conflict-

Warum die Konflikt-Dateien heute morgen aufgetaucht sind, nachdem ich gestern meinen Rechner heruntergefahren habe, weiß ich nicht. Ich hatte natürlich keinen touch auf meinen Dateien vor dem Aktiieren des ownCloud-Client gemacht … zumindest ist das mal eine sichere Lösung, wie man diese Dateien immer wieder erzeugen kann.

Lösung:

touch vom System löschen? … mit einem Cronjob die Dateien einfach periodisch weghauen tut es wohl nicht – die stehen ja sicher auch irgendwo in der Datenbank und sobald ownCloud-Verschlüsselung im Spiel ist … so lassen kann man es auch nicht, weil das Platzverschwenudung ist und die Synchronisation unnötig in die Länge gezogen wird – und die ist schon langsam genug.

Kann vielleicht bitte jemand bestätigen, dass sich bei ihm so auch die _conflict-Dateien erzeugen lassen?




 Alle Kommentare als Feed abonnieren

Kommentare sind geschlossen.