Reibungsloser Umzug zwischen zwei Rechnern UND Versionen
-
@MatthiasM also auf meinem billig-Laptop mit i3 und 4GB RAM startet MV 13.5.1 bzw. MV 13.6.0 develop in 20 Sekunden. Nur mal so als Referenz.
Lade doch mal bitte Dein ~mediathek3/mediathekview.log File hoch. Ggfs. kann man da etwas herauslesen, wo die Zeit verbraten wird.
Wieviel RAM verwendet der MV Prozess laut Task-Manager?
Hast Du eine Medien-Sammlung eingebunden?
Sind da auf dem alten Rechner Netzlaufwerke eingebunden, die auf dem neuen Rechner nicht drauf sind?
Wie viele Abos hast Du? Wie viele Blacklist-Einträge?
Wieviele Zeilen bzw. kB haben Deine DateiendownloadAbos.txt
undhistory.txt
?
Wie lange dauert der Start mit einem frischen Einstellungsverzeichnis? -
@rubikon sagte in Reibungsloser Umzug zwischen zwei Rechnern UND Versionen:
Hast Du eine Medien-Sammlung eingebunden?
Sind da auf dem alten Rechner Netzlaufwerke eingebunden, die auf dem neuen Rechner nicht drauf sind?Das führt hier nur zu einer Fehlermeldung bzgl. nicht existierender/erreichbarer Verzeichnisse. Eher dauert das Einlesen der Medien von den Netzlaufwerken. Da das aber im Hintergrund geschieht, ist MV trotzdem nutzbar. Nur die Suche in der Mediensammlung funktioniert erst, wenn das Einlesen der Medien beendet ist.
-
@rubikon sagte in Reibungsloser Umzug zwischen zwei Rechnern UND Versionen:
@MatthiasM also auf meinem billig-Laptop mit i3 und 4GB RAM startet MV 13.5.1 bzw. MV 13.6.0 develop in 20 Sekunden. Nur mal so als Referenz.
Lade doch mal bitte Dein ~mediathek3/mediathekview.log File hoch. Ggfs. kann man da etwas herauslesen, wo die Zeit verbraten wird.
Gerne die aktuelle…
Wieviel RAM verwendet der MV Prozess laut Task-Manager?
aktuell, nachdem er mal läuft, 1,2 GB. Dito, wenn grad die neue Filmliste geladen wird.
Hast Du eine Medien-Sammlung eingebunden?
nicht daß ich wüßte, also nicht bewußt.
Sind da auf dem alten Rechner Netzlaufwerke eingebunden, die auf dem neuen Rechner nicht drauf sind?
Nein, alle identisch sogar mit gleichem Laufwerksbuchstaben als Share.
Wie viele Abos hast Du? Wie viele Blacklist-Einträge?
keine. Ich bin ein reiner Von-Hand-Runterlader…
Wieviele Zeilen bzw. kB haben Deine Dateien
downloadAbos.txt
undhistory.txt
?0 und knapp 5 kB
Wie lange dauert der Start mit einem frischen Einstellungsverzeichnis?
Start wie auch Laden der Filmliste ab dem Zeitpunkt, wo der flotte Fortschrittsbalken fertig ist, bis zu dem Punkt, wo MV wieder reagiert, so mit meinen Einstellungen ca. 10 Minuten.
mit dem jungfräulich nach Installation entstandenen Verzeichnis zuzüglich der automatisch geladenen Filmliste 12 Sekunden
lG Matthias
-
Gibt es eine kleine Doku, welche Datei im .mediathek3-Ordner was enthält bzw. wofür gut ist (im Klartext v.a.: Wo sind EINSTELLUNGEN drin, die man evtl. retten kann und möchte bzw. im Gegenteil welche, die zum Showstopper mutieren, und welche kann man ggf. Zeile für Zeile aus einer alten Installation in einer neuen einbauen oder ggf. Zeilen auskommentieren, um zu schauen, ab wann es kracht?)
Danke! lG Matthias
-
@MatthiasM kommentierter Inhalt von einem Rechner, auf dem MV immer “in-memory” läuft
C:\Users\rubikon\.mediathek3>dir /o:N Datenträger in Laufwerk C: ist Katniss Win10 \ Volumeseriennummer: ASDF-1234 Verzeichnis von C:\Users\rubikon\.mediathek3 23.02.2020 15:20 4.895 downloadAbos.txt // zeilenweise: bisherige Abo-Downloads 19.03.2020 17:56 201.217.886 filme.json // Javascript object notation der Filmliste vom MV-Server (alles in 1 einziger Zeile!) 21.03.2020 14:30 42.578 history.txt // zeilenweise: bisherige manuelle Downloads 24.03.2020 18:01 6 mediadb.txt // log Datei für Exports 24.03.2020 18:01 12.799 mediathek.xml // Programmsets, Abos, Blacklist, ausstehende/laufende Downloads, Einstellungen (Tabellen, Zeichenersetzungen, Farbschema, etc.) 24.03.2020 17:57 12.799 mediathek.xml_copy_1 // rollierendes Backup 1 21.03.2020 14:30 12.799 mediathek.xml_copy_2 // rollierendes Backup 2 21.03.2020 12:45 10.408 mediathek.xml_copy_3 // rollierendes Backup 3 20.03.2020 19:48 10.165 mediathek.xml_copy_4 // rollierendes Backup 4 20.03.2020 14:47 10.165 mediathek.xml_copy_5 // rollierendes Backup 5 24.03.2020 18:02 5.365 mediathekview.log // log Datei der zuletzt gestarteten Sitzung 24.03.2020 18:00 2.022 settings.xml // Einstellungen Filter-Dialog, Download Puffergröße
Ich hatte noch keine Gelegenheit, den Code zu lesen und vermute daher ohne Gewähr:
die von Dir angesprochene Datenbank ist nur- zum Persistieren (
INSERT INTO FilmListe VALUES (Film1, Film2, ...)
) und - zum auswählbar Machen der Filmliste (
SELECT Film FROM FilmListe WHERE Filter ...
).
Diese Datenbank wird glaub ich beim Download einer neuen Filmliste vom MV-Server neu aufgebaut (aber nur im Low-Memory Modus). Einstellungen / Verlauf enthält diese DB glaube ich nicht. Ich les aber irgendwann mal nach.
(edit: DB-Schema sh. hier L669-L682: drei Tabelle für 1.) Filme, 2.) Beschreibungen, 3.) Webseiten-Links - sonst nichts)Da Du von 64 GB RAM sprichst: ich sehe “low-memory”-mode bei meinen 16 GB (Desktop) bzw. 4 GB (Laptop) nur, wenn ich es zu Debug-Zwecken erzwinge.
Manuelles Bearbeiten der
.xml
Dateien kann zur Unlesbarkeit der Datei für XML-Parser führen… ist eher für Fortgeschrittene bzw. “letzter Ausweg”. JSON ähnlich. Und das.log
erzeugt das Programm auch selbst; kann man halt -mit Bedacht- vor dem Hochladen ins Forum anonymisieren und muß aber aufpassen, da manche Editoren wichtige Zeichen verändern.
Das manuelle Bearbeiten der o.g. Dateien ist mE normalerweise nicht nötig:- für mediathekview.xml gibt es eine GUI, im Menü über
Datei Import Alte Abos/Blacklist/Ersetzungstabelle - settings.xml würde ich im Zweifelsfall löschen und neu erzeugen
- downloadAbos.txt und history.txt - ist halt der Verlauf und auch eher technisch aufgebaut
- filme.json - Bei Problemen löschen und neu vom MV-Server holen punkt
(Viele Texteditoren steigen bei 200 MB in 1 Zeile Text aus. Und 1 Klammer falsch setzen genügt und die Datei kann nicht mehr geladen werden!)
- zum Persistieren (
-
@rubikon OK, mit den Infos werde ich mich mal von einer frischen 10-Sekunden-Start-Installation ausgehend hochhanteln. Ich meine gestern den Effekt gehabt zu haben, daß mit MEINEN Settings aber nach Löschen von history.txt und filme.json der Start und das Rzunterladen einer ganbz frischen Filmliste ins sotzusagen “leere” trotzdem 10 Minuten gedauertt hat. Irgendeine klitzekleine Einstellung scheint da maßgeblich zu sein.
Ich experimentiere mal und melde mich wieder.
Danke! lG Matthias -
@MatthiasM sagte in Reibungsloser Umzug zwischen zwei Rechnern UND Versionen:
mediathekview.log
In Deinem log ist klar zu sehen, daß 10 Minuten lang keine neuen log-Einträge hinzugefügt werden. Bei mir dauert “dieselbe” Lücke ~2 Sekunden. (Vorsicht mit der Aussage! Hier sind nebenläufige Programmabläufe (Neudeutsch: Threads) im Spiel und es gibt hier keine synchrone Reihenfolge, sondern z.T. asynchrones Durcheinander.)
INFO 00:32:51,328 [ForkJoinPool.commonPool-worker-19] reader.FilmListReader (FilmListReader.java:488) - Liste Filme gelesen am: 24.03.2020, 00:32 ... INFO 00:32:51,711 [AWT-EventQueue-0] controller.IoXmlSchreiben (IoXmlSchreiben.java:206) - Daten Schreiben nach: ...\mediathek.xml ... INFO 00:33:11,084 [ForkJoinPool.commonPool-worker-5] writer.FilmListWriter (FilmListWriter.java:113) - Write duration: 2481 ms INFO 00:43:35,214 [AWT-EventQueue-0] controller.IoXmlSchreiben (IoXmlSchreiben.java:206) - Daten Schreiben nach: ...\mediathek.xml
Nach 10 Minuten kommt das Speichern der Einstellungen ein zweites mal dran.
Das Speichern der Einstellungen kann u.a. folgende Auslöser haben- Beenden des Programms (hier nicht, da die Sitzung danach noch 2 Stunden gelaufen ist)
- Schließen des Einstellungsdialogs (kann man beim Start noch nicht öffnen)
- Abschluß des Imports einer Filmliste von Datei
- Abschluß des Download der aktuellen Filmliste (sh. erstes Speichern im log)
- Änderung der Downloadliste
- Start eines Downloads
- Initialisierung der Filmlisten Programmeintrittspunkte
Aber welcher der übrigens Kandidaten es ist, oder ob ich beim Lesen einen weiteren Kandidaten übersehen habe… ?:man_shrugging_light_skin_tone:
Blind tu ich mich grade schwer zu sagen, ob hier
- zwei Programmabläufe (Threads) sich gegenseitig blockieren beim Zugriff auf ein kritisches Betriebsmittel und der Konflikt erst nach einer Weile aufgelöst wird (erkennbar an geringer CPU-Last für den MV-Prozess auf allen Kernen) - aber wodurch würde -mit Blick auf die gesetzten Timeouts von höchstens 30 Sekunden- eine solche race condition aufgelöst?
- ein intensiver Rechenprozess auf z.B. der Filmliste lange Zeit braucht (erkennbar an hoher CPU-Last auf 1 Kern)
- die Netzwerkbandbreite in die Knie gegangen ist und der Rechner einfach nur wartet
- I/O Fehler auf dem Massenspeicher … aber auf 2 Rechnern an derselben Stelle im Programm?!
- ein Problem mit der Netzwerk-Konfiguration (IP-Adresse doppelt vergeben und so Scherze)
- etc. pp.
Ich verstehe noch nicht (muß ich auch nicht!), warum es Dir so wichtig ist, die Einstellungen vom alten Rechner zu übernehmen. Zumal Du nach eigener Aussage weder Abos noch Blacklist hast. Sind es besondere Programmsets? Oder die Liste ausstehender Downloads? Ist aber ne eher unverschämte Frage, ist Deine Sache, brauchst nicht beantworten.
Ich wär hier trotzdem erst mal raus. Mit Lesen komm ich nicht weiter.
Ich könnte nur -möglicherweise- mehr sagen, sähe ich dasmediathek.xml
File. Da sind aber dann Daten drin über alle Filme, die Du grade downloaden möchtest, Deine Abos, Deine Blacklist und Pfade auf Deinem Rechner / IP-Adressen in Deinem Netzwerk… also eher heikle Sachen, die man nicht ins Netz stellen möchte und nach denen ich nicht fragen möchte und auch nicht frage.Wo im Code CPU-Zeit verbraten wird, sähe man ggfs. in visualvm… aber das Tool ist nicht wirklich simpel zu bedienen, mit der MV VM zu verbinden, noch schwieriger das Ergebnis zu verstehen und dann zu wissen, wo das Problem liegen könnte. Das mit diesem Tool ist eher laut vor mich hingedacht und es ist definitiv kein Tipp für Anwender ohne Java-Kenntnisse.
-
Letzter Wasserstand: Ich habe aus der alten Mediathek.xml den Abschnitt mit den Programmsets und der Ersetzungsliste händisch in die Mediathek.xml der jungfräulichen frischen Installation übertragen und ansonsten nichts von der alten Installation übernommen. Nun läuft alles flott, keine 12 Minuten Gedenkzeit bei Programmstart oder nach Laden der Filmliste. Für Ursachenforschung fehlt mir da jetzt der Nerv. Ein bißchen handgestricktes Set mit der Namensgebung der Downloaddateien, das ich nicht vom meinem zickenden alten Rechner händisch abschreiben und zu Fuß hier nachbauen wollte, war das Hauptmotiv, die alten Einstellungen einfach komplett übernehmen zu wollen. Die History zu behalten hätte wohl ein weiteres wichtiges Motiv sein sollen, siehe mein jetziges Problemchen:
Ich habe jetzt nämlich ein Problem mit Downloads von alten Sachen, die ich schon unter der alten Version auf dem alten Rechner runtergeladen hatte, und die mir jetzt, wahrscheinlich eben weil ich die alte history.txt nicht übernommen hatte, wieder als noch nicht runtergeladen (= nicht grau) in der Filmliste angezeigt werden. Wenn ich nun da einen Film runterladen möchte, der offensichtlich schon da ist, wird mir fortsetzen oder mit gleichem Namen neu runterladen angeboten, bei Verstreichen des Timeouts wird “fortgesetzt”, und real bedeutet das in jedem Fall, daß der definitiv komplett vorhandene Film nochmal komplett runtergeladen wird (= die schon vorhandene Datei überschrieben). Ist das so beabsichtigt? Normalerweise würde fortsetzen doch bedeuten, einen unvollständigen Download aufzunehmen und abzuschließen, aber einen erfolgreichen vollständigen sollte es so nicht überschreiben, dachte ich.
Kann ich das irgendwie umgehen? Kann ich probeweise meine alte history.txt mit einem geeigneten ASCII-Editor in die jungfräuliche einbauen und dann bekomme ich die alten, schon längst runtergeladenen File in der Filmliste wieder grau hinterlegt bzw. bei entsprechender Filtereinstellung ausgeblendet, oder riskiere ich dann schon wieder 10 Minuten Gedenkzeit? Momentan bekomme ich z.B. bei arte Filme bis 2015 runter als ungesehen / nicht runtergeladen angezeigt…
Kleine Nebenfrage: Kann ich in der Filmliste bei der Spaltenauswahl den “Ansehen”-Button alleine ausblenden, und nur den “Download”-button sichtbar behalten?
Kleine Nebenfrage 2: Ich markiere mehrere Filme und drücke dann den “zentralen” Downloadbutton oben. Dann wird entgegen der Einstellung im Set NICHT der Pfad nach jeweiligem Thema gesetzt; wenn ich das haben will, muß ich “ändern” drücken und dann jeden Film einzeln zum Download abschicken. Ist das so korrekt/gewollt oder mache ich was falsch?
lG Matthias
-
@MatthiasM das kopieren der history.txt sollte problemlos funktionieren. Wichtig ist vorher das Programm immer beenden. Am Format der Datei hat sich zwischen den Versionen nichts geändert. Sollte die Übernahme der history zu Problemen führen wäre eine Kopie davon für mich mal interessant um zu sehen warum es haken könnte
-
@MatthiasM sagte: Kleine Nebenfrage: Kann ich in der Filmliste bei der Spaltenauswahl den “Ansehen”-Button alleine ausblenden, und nur den “Download”-button sichtbar behalten?
Alleine nicht, aber du kannst diese Spalte soweit nach rechts verschieben, dass sie für dich de facto ausgeblendet ist.
@MatthiasM sagte: Kleine Nebenfrage 2: Ich markiere mehrere Filme und drücke dann den “zentralen” Downloadbutton oben. Dann wird entgegen der Einstellung im Set NICHT der Pfad nach jeweiligem Thema gesetzt; wenn ich das haben will, muß ich “ändern” drücken und dann jeden Film einzeln zum Download abschicken. Ist das so korrekt/gewollt oder mache ich was falsch?
Ich speichere nie in Unterordner, aber soweit ich mich erinnere, war die Funktion schon immer so, wie du sie beschrieben hast.