Speichern in PP während NextCloud client die Daten synct führt zu NexCloud Client "freeze"

Hallo,

ich habe folgendes Problem “nur” (?) mit PP und dem NextCloud Client auf dem Mac. Alle beteiligten haben die aktuelle Version, ich versuche nur herauszufinden, wo es klemmt und was ich ggf. machen kann.
Die YAML Datei von PP liegt in einem Verzeichnis, das ich mit dem Nexcloud Client auf dem Mac auf den Server syncen lasse.

Da meine Datei groß ist, dauert das ca. 30-40 Sekunden. Wenn ich den sync im NextCloud client sehe, und abwarte bis der fertig ist, dann ist alles ok. Wenn ich aber während die Dateien synchen nochmal in PP speichere mit z.B. cmd-s dann hängt sich der NextCloud Client auf. Das “blöde” ist, dass der leider nicht richtig crashed, sondern brav das Icon anzeigt, so als ob alles “OK” ist, oder eben “synct”, je nachdem wann der client sich aufhängt. Danach kann man den Client nur noch mit “kill” abschießen und neu starten, dann geht es wieder, bis man zu schnell speichert. :slight_smile:

Ich wollte nun fragen, was genau bei einem erneuten Speichern mit cmd-s passiert. Wird eine neue Datei geschrieben, oder wird die alte umbenannt und dann geschrieben.

Da PP das einzige Programm ist bei mir, bei dem mir das a.) auffällt und ich das b.) jederzeit reproduzieren kann, wollte ich hier ein wenig forensic betreiben, damit ich dann im NextCloud Forum weiter nachfragen kann. Für mich sieht es so aus, also ob die aktuelle Datei in name.backup.xml umbenannt wird, und dann neu gespeichert unter name.xml
Falls jemand das auch mal hatte und eine Idee hat, was ich falsch mache, dann gerne auch dazu ein Tipp.
Ich bin ratlos, hab aber cmd-s “in den Fingern” so nach dem Motto: Lieber einmal zu viel gespeichert, als zu wenig.

Viele Grüße
Juergen

Das Backup ist eine 1:1 Kopie deines Files.

Ich denke, dein Problem liegt an der Sperre des Files während dem speichern. Damit will man unter anderem das korupieren beim speichern auf Netzlaufwerken verhindern.

Hi. Verstehe ich das richtig, dass die Datei beim schreiben komplett gesperrt wird für andere Prozesse; also selbst zum Lesen gesperrt?
Kannst Du mir nen Tipp geben, wo ich das im Code finde, damit ich da weiter nachschauen kann? Bei Excel/Word/ passiert das alles nicht. Das begreife ich eben nicht.

Vielen Dank
Juergen

Ob sie zum lesen gesperrt ist, vermag ich nicht zu beurteilen, da bin ich zu wenig firm in java.

Das speichern findet hier statt:

Genauer gesagt in ClientFactory in writeFile`: portfolio/name.abuchen.portfolio/src/name/abuchen/portfolio/model/ClientFactory.java at a03dd7d7669dd84096cc22139895ded4990c34bc · portfolio-performance/portfolio · GitHub

Da wird lustigerweise genau dann nicht gelockt, wenn es sich um ein MacOS X handelt.

Danke fürs präzisieren!