Synchronisation ist nicht vollständig

Questions and information regarding the Windows desktop client - Fragen und Informationen zum Windows Desktop-Client

Synchronisation ist nicht vollständig

Postby StefanS » 30 Mar 2010, 15:48

Hallo,

ich benutze Teamdrive mit eigenem WEBDav. Leider werden nicht alle Dateien sauber synchronisiert. Sin Teil Ihnen ist nur als .teamdrive Datei mit 0 KB vorhanden. Woran kann dies liegen?

Stefan
StefanS
 
Posts: 1
Joined: 30 Mar 2010, 15:42

Re: Synchronisation ist nicht vollständig

Postby Florian Grothe » 30 Mar 2010, 16:49

Hallo Stefan,
die .teamdrive dateien, sind temporärdateien. Sie dienen als Platzhalter, bevor die eigentlichen Dateien vollständig herunter geladen sind. Auch ältere Versionen werden zum Teil so abgelegt.

Mein Tip:
  • erstmal noch ein wenig abwarten, ob sich dort etwas bewegt
  • schauen wie die Dateien im TD-Explorer angezeigt werden
  • schauen ob die Dateien in der Trasfer-queue stehen (Datei markieren, in die Nachrichtenansicht wechseln)
  • überprüfen ob Konflikte angezeigt werden

Dann, wenn es keinen Fortschritt zeigt, solltest Du die logfiles an unseren support schicken, per "Hilfe" --> "sende Logfiles"

Gruß
Florian
Florian Grothe
TeamDrive Team Member
 
Posts: 46
Joined: 12 Jan 2010, 12:34

Re: Synchronisation ist nicht vollständig

Postby physiqs » 30 Mar 2010, 16:55

Das gleiche Problem habe ich auch. Durch einen Vergleich der Gesamtgröße meiner lokalen Kopie mit dem WebDav-Ordner ergibt sich, dass die Dateien tatsächlich nie auf WebDav geladen wurden.
Der zweite Client legt deshalb lokal nur die besagten .teamdrive-Dateien an.
In beiden TD-Explorern stehen die Dateien in der Liste, als ob sie auf dem Server wären.
Beide Queues sind längst leer.
Es wurde TD auf beiden Rechnern mehrmals neugestartet.
Konflikte gibt es auch keine.
Und insgesamt abgewartet wurde mehrere Stunden.
Gibt es eine generische Möglichkeit die TD zu zwingen, die Dateien nochmals hochzuladen, ohne jede einzelne Datei verändern zu müssen?
physiqs
 
Posts: 4
Joined: 30 Mar 2010, 13:10

Re: Synchronisation ist nicht vollständig

Postby physiqs » 30 Mar 2010, 19:27

Ich habe mittlerweile nachvollziehen können, wie diese Fehler zustande kommen:
  • Beim Hochladen von Client A gab es während der Übertragung einen Verbindungsabbruch, wegen einer DSL-Zwangstrennung.
  • Anschließend wurde die Verbindung sehr schnell wieder aufgebaut, allerdings mit einer neuen IP-Adresse.
  • Der WebDav-Server hat die alte, bereits kaputte Verbindung noch aufrecht erhalten, wodurch er die halbangelegte Datei noch im Dateisystem hatte.
  • Nach dem neuen Verbindungsaufbau hat der Client A korrekterweise eine HEAD-Anfrage auf diese Datei geschickt, die dann mit Code 200 beantwortet wurde.
  • Der Client A entschließt sich die Datei nochmals hochzuladen (PUT), was er auch erfolgreich schafft und in der lokalen Datenbank vermerkt.
  • Der WebDav-Server merkt nach einigen Minuten, dass es einen Timeout auf der alten Verbindung gibt, schickt einen Code 500 zurück (faktisch jetzt ins Nirvana) und löscht die vermeintlich halbangelegte Datei, womit er aber tatsächlich die zum zweiten mal korrekt hochgeladene Datei löscht.
  • Der Client A bekommt von diesem Löschen nichts mit und überprüft auch nicht, ob alle Dateien nach einer Weile auf dem WebDav-Server noch existieren.
  • Client A unternimmt ab diesem Zeitpunkt nichts mehr.
  • Auf dem Server fehlt die Datei aber und somit kann Client B diese natürlich nicht herunterladen und legt stattdessen eine .teamdrive-Datei an.

Hier ein Auszug aus dem Serverlog zum Nachvollziehen (aus Gründen der Lesbarkeit wurde der Dateiname mit durch TEAMDRIVE_DATEI ersetzt):

Code: Select all
85.180.83.9 - intern [30/Mar/2010:18:17:25 +0200] "HEAD TEAMDRIVE-DATEI HTTP/1.1" 404 - "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" << DANACH START VON PUT (erst später im Log)
85.180.89.17 - intern [30/Mar/2010:18:22:20 +0200] "HEAD TEAMDRIVE-DATEI HTTP/1.1" 200 - "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
85.180.89.17 - intern [30/Mar/2010:18:22:23 +0200] "PUT TEAMDRIVE-DATEI HTTP/1.1" 204 - "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
85.180.89.17 - intern [30/Mar/2010:18:22:48 +0200] "HEAD TEAMDRIVE-DATEI HTTP/1.1" 200 - "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
85.180.83.9 - intern [30/Mar/2010:18:17:27 +0200] "PUT TEAMDRIVE-DATEI HTTP/1.1" 500 613 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"  << ERGEBNIS DES "ALTEN" PUT
85.180.89.17 - intern [30/Mar/2010:18:23:28 +0200] "GET TEAMDRIVE-DATEI HTTP/1.1" 404 334 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"  <<DATEI FEHLT FÜR CLIENT B (auch auf 17er IP)


Somit nochmals mein Frage: Wie rege ich den Client dazu an, diese Überprüfung durchzuführen? Und sollte dies nicht auch irgendwie automatisch passieren?
Das Verhalten des Servers ist natürlich ein bisschen gemein, aber vermutlich arbeiten viele WebDav-Server so (hier ist es übrigens ein Apache2 mit DAV-Modul).
physiqs
 
Posts: 4
Joined: 30 Mar 2010, 13:10

Re: Synchronisation ist nicht vollständig

Postby Florian Grothe » 31 Mar 2010, 16:51

Hallo physiqs,

erstmal vielen Dank für die ausführliche und wundervoll nachvollziehbare Erläuterung.

So jetzt zur Beantwortung der noch offenen Fragen:

Ja, die Überprüfung, ob die Dateien vollständig angekommen sind sollte automatisch geschehen und wird auch automatisch durch den Klient durchgeführt. Dies geschieht allerdings nur einmal, nach dem Upload.
Dieses periodisch immer wieder für jede Version, von jeder Datei zu prüfen, würde zu Performanceproblemen führen und wäre auch nicht sinnvoll, da TeamDrive die Daten im nachhinein nicht mehr ändert.

Ich weise nochmal darauf hin, das dies WebDAV-protokollspezifische Unzulänglichkeiten sind. Deshalb verwenden wir auch für den von uns gehosteten Space ein eigenes Protokoll. Wer seinen Space auf einem eigenen Server hosten möchte, kann den TeamDrive Personal Server verwenden und so von dem optimierten Protokoll sowie von "unbegrenztem" Speicher und Traffic profitieren.

Genug der Werbung!

Um das Auftreten des von Dir beschriebenen Fehlers zu minimieren könnte man das Timeout des WebDAV-Servers kleiner als das Timeout des TeamDrive Klients setzen. Vorschlag: 30sec.

Um jetzt das Neuhochladen der Dateien auszulösen ist die einfachste Möglichkeit eine neue Version anzulegen. (Datei öffnen, Datei speichern) Und die Dateien werden erneut hochgeladen.

Gruß
Florian
Florian Grothe
TeamDrive Team Member
 
Posts: 46
Joined: 12 Jan 2010, 12:34

Re: Synchronisation ist nicht vollständig

Postby pfeffer » 05 Apr 2010, 19:55

Mir fällt dazu ein:
Ich fände es gut, wenn die Benennungen eindeutiger wären. "Space scannen" - scannt das den lokalen oder den Server nach neuen Dateien? - Also da bitte immer ein "lokalen" oder "server" davor schreiben.
Dann könnte man auch eine Funktion einbauen, mittels der man zumindest manuell überprüfen lassen kann, ob alle Dateien auf dem Server angekommen sind. Ich hätte eigentlich gedacht, dass "synchronisieren" diesen Effekt hat - das trifft aber offenbar nicht zu. - Was macht diese Funktion eigentlich?

Ich hatte jetzt selbst ein ähnliches Problem: mit der alten Version wurden die Dateien mit mehr als 237 Zeichen nicht heruntergeladen. Die neue Version kann das nun - danke!
Ich dachte, ich drück "synchronisieren" und er holt sie. Hat er aber nicht.
Schließlich habe ich einen Weg gefunden: Alle Dateien markieren und dann mit Rechtsklick auf "download".
EDIT: Jetzt habe ich festegestellt, dass dabei die meisten, aber leider nicht alle Dateien herunter geladen wurden :-( Ein zweiter Versuch hat nun wieder ein paar mehr heruntergeladen - einige wurden angelegt mit der zusätzlichen .teamdrive-Endung, aber sie haben eine Länge von 0 und teamdrive versucht nicht, deren Inhalt zu holen :-( - was kann ich da machen?
EDIT2: Bei diesen Dateien hat es geholfen, sie im Teamdrive-Explorer zu markien, und über rechte Maustaste einzeln herunter zu laden. Es wäre schön, wenn es einen Befehl dafür gäbe, der das für alle Dateien im Space automatisch macht. Jetzt sind noch ein paar Dateien übrig, die auch in dem TeamDrive-Explorer nicht angezeigt werden, der auf dem Rechner läuft, wo die Dateien lokal vorhanden sind. - Wo dran kann das liegen? - Habe mir ein paar dieser Dateien genauer angeschaut: Es sind die, deren absoluter Pfad inkl. Dateiname länger als ca. 255 Zeichen ist. Wie kann ich TeamDrive dazu bewegen, die auch hochzuladen?

Mir wäre es wichtig, eine Funktion zu haben, die mir anzeigt, welche Dateien noch nicht synchronisiert sind.

Gruß,
Pfeffer.
pfeffer
 
Posts: 23
Joined: 22 Feb 2010, 00:13

Re: Synchronisation ist nicht vollständig

Postby pfeffer » 10 Apr 2010, 12:53

1. zu meinem Problem:
Windows-Explorer zeigt die Dateien, deren Pfad zu lang ist, problemlos an. Allerdings kann man sie auch damit nicht kopieren.
Ich habe da noch etwas gegoogelt: die alte WIndows-API unterstützt wohl nur Pfadlängen bis 26x Zeichen. Der Windows-Datei-Explorer scheint noch diese alte API zu verwenden. Es gibt aber eine neue API, nämlich die API, dir für UniCode verwendet werden soll, die bis zu 32.000 Zeichen Pfadlänge unterstützt. Ich kenne natürlich Euren Quellcode nicht, aber vielleicht müsst Ihr auch auf diese API umsteigen.
Mit robocopy kann ich die Dateien übrigens problemlos kopieren.

Wie schon gesagt, werden die Dateien, deren Pfad länger ist als 25x oder 26x (habe ich nicht genau ausprobiert), in der Datei-Ansicht von TeamDrive gar nicht angezeigt. getestet mit TeamDrive Version 2.2.119.

Es wäre sehr schön, wenn dieser Fehler noch behoben würde.

EDIT:
2. zu dem Problem, das physiqs geschildert und analysiert hervorragend hat:
hast Du im Apache WebvDAV-File-Locking aktiviert?
Ohne das genau untersucht zu haben: Wenn File-Locking aktiviert ist, vermute ich, dass Apache bei dem Put vom 2. Recher sofort "423 Locked" antworten müsste. Darauf könnte TeamDrive dann reagieren, indem es 30 Sekunden wartet, dann nochmal per HEAD abfragt, ob jetzt die Datei da und vollständig ist, und falls nicht, einen erneuten Upload startet.

Gruß,
Pfeffer.
pfeffer
 
Posts: 23
Joined: 22 Feb 2010, 00:13

Re: Synchronisation ist nicht vollständig

Postby luzagodom » 12 Jul 2010, 05:19

There's a lot of information there. It might take a couple of read-throughs to absorb it all.
luzagodom
 
Posts: 5
Joined: 12 Jul 2010, 04:35


Return to Windows XP/Vista/7/8/10

Who is online

Users browsing this forum: No registered users and 5 guests