Svn_GetFile Aufruf führt zu read from https://svn.fhem.de:443 timed out

Begonnen von TomLee, 09 November 2025, 13:42:53

Vorheriges Thema - Nächstes Thema

TomLee

Hallo,

kann mir wer bitte erklären, warum bei mir der Aufruf (auf zwei Systemen) zu der Meldung führt, wenn die Dateien grösser 100 KB sind?

bspw:
{ Svn_GetFile("FHEM/98_SVG.pm", "FHEM/98_SVG.pm") }

Gruß Thomas

rudolfkoenig

Kannst Du dein Experiment bitte wiederholen?

Heute Mittag habe ich ein Netzwerk Problem gesehen, das sollte jetzt aber weg sein.

Otto123

Ich kann das bestätigen:
funktioniert (22k):
{ Svn_GetFile("contrib/AttrTemplate/99_sonos2mqttUtils.pm", "FHEM/99_sonos2mqttUtils.pm")}funktioniert nicht (437k):
{ Svn_GetFile("FHEM/lib/AttrTemplate/mqtt2.template", "FHEM/lib/AttrTemplate/mqtt2.template")}Tom sein Beispiel funktioniert auch nicht.

Zitat2025.11.09 17:01:07.573 1: SVN download of contrib/AttrTemplate/99_sonos2mqttUtils.pm to FHEM/99_sonos2mqttUtils.pm finished
2025.11.09 17:02:05.810 1: ERROR Svn_GetFile FHEM/lib/AttrTemplate/mqtt2.template: read from https://svn.fhem.de:443 timed out
2025.11.09 17:03:06.439 1: ERROR Svn_GetFile FHEM/98_SVG.pm: read from https://svn.fhem.de:443 timed out

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

rudolfkoenig

Bei mir ist mqtt2.template eher 850k, aber ich kann bestaetigen, dass das Laden nicht klappt.
Die Ursache ist, dass FHEM die Daten mit ca 32kb/sec laedt, und nach 4 Sekunden abbricht.
wget laedt die gleiche Datei mehr als das zehnmal schneller (immer noch langsam fuer mein Geschmack).

Ich habe jetzt in Svn_GetFile incrementalTimout=>1 hinzugefuegt (und eingecheckt), damit klappt es, auch wenn langsam.

Bleibt die Frage, wieso das Laden via FHEM so viel langsamer ist.
Ich habe jetzt ne Weile rumexperimentiert: das pselect6 Systemcall braucht bei FHEM jeweils 0.2s, bis was gemeldet wird.
Bei wget ist das nur ein Bruchteil.
Wenn jemand eine Idee hat warum bzw. was man dagegen machen kann, bitte melden.

rudolfkoenig

#4
Bin weiter: es liegt an dem (automatisch hinzugefuegten) URL Parameter ?format=txt.

D.h. die Abfrage wird als
https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/lib/AttrTemplate/mqtt2.template?format=txtgesendet.

Otto123

Zitat von: rudolfkoenig am 09 November 2025, 19:05:11Bei mir ist mqtt2.template eher 850k, aber ich kann bestaetigen, dass das Laden nicht klappt.
Zitat-rw-r----- 1 fhem fhem 437K Nov  8 23:07 FHEM/lib/AttrTemplate/mqtt2.template
Der svn Browser zeigt das auch so, hab ich da was kaputt gemacht?

Wie lädt FHEM update die Datei? Da funktioniert es ja auch.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

TomLee

Es macht den Eindruck das es nach der Änderung wieder funktioniert.
Trotzdem mag ich erwähnen das es bei meinen kurzen Tests einmal (hier bei 21_SONOSPLAYER) nicht geklappt hat:
2025.11.09 20:16:56 1: SVN download of FHEM/37_echodevice.pm to FHEM/37_echodevice.pm finished
2025.11.09 20:18:24 1: ERROR Svn_GetFile FHEM/21_SONOSPLAYER.pm: read from https://svn.fhem.de:443 timed out
2025.11.09 20:20:06 1: SVN download of FHEM/21_SONOSPLAYER.pm to FHEM/21_SONOSPLAYER.pm finished
2025.11.09 20:20:48 1: SVN download of FHEM/21_SONOSPLAYER.pm to FHEM/21_SONOSPLAYER.pm finished
2025.11.09 20:21:42 1: SVN download of FHEM/37_echodevice.pm to FHEM/37_echodevice.pm finished
2025.11.09 20:23:01 1: SVN download of FHEM/21_SONOSPLAYER.pm to FHEM/21_SONOSPLAYER.pm finished
2025.11.09 20:27:28 1: SVN download of FHEM/93_DbRep.pm to FHEM/93_DbRep.pm finished


Zitat von: rudolfkoenig am 09 November 2025, 16:47:26Heute Mittag habe ich ein Netzwerk Problem gesehen, das sollte jetzt aber weg sein.

Evtl. hat es vlt. dahingehend was gebracht, dass das Forum zwischendurch keinen Hänger mehr hat. Das war diese Woche mMn. nämlich auch mehrfach der Fall.

rudolfkoenig

ZitatDer svn Browser zeigt das auch so, hab ich da was kaputt gemacht?
Nein, es war mein Fehler, ich habe die Daten ohne ?format=txt geladen, und die Ausgabe nicht geprueft.
850k ist ohne "?format=text", 450 mit, und wget ist mit "?format=txt" genauso langsam, wie FHEM.

Ich wuesste gerne, warum trac bei "nicht-formatieren" so viel langsamer ist, und ob es schnellere Alternativen gibt.

rudolfkoenig

ZitatWie lädt FHEM update die Datei? Da funktioniert es ja auch.
Da werden die Daten nicht von trac geladen, sondern aus einem Verzeichnis, was taeglich um 7:45 aus dem SVN erstellt wird.

betateilchen

Zitat von: rudolfkoenig am 09 November 2025, 19:05:11Bei wget ist das nur ein Bruchteil.
Wenn jemand eine Idee hat warum bzw. was man dagegen machen kann, bitte melden.

Gefühlt ist der Download generell sehr langsam:

udo@ip-172-26-6-68:~$ wget https://svn.fhem.de/trac/export/HEAD/trunk/fhem/FHEM/lib/AttrTemplate/mqtt2.template
--2025-11-10 13:55:50--  https://svn.fhem.de/trac/export/HEAD/trunk/fhem/FHEM/lib/AttrTemplate/mqtt2.template
Resolving svn.fhem.de (svn.fhem.de)... 2a01:4f8:221:1b5a::2, 88.99.31.202
Connecting to svn.fhem.de (svn.fhem.de)|2a01:4f8:221:1b5a::2|:443... connected.
HTTP request sent, awaiting response... 200 Ok
Length: unspecified [None]
Saving to: 'mqtt2.template'

mqtt2.template                               [                                                <=>                               ] 436.93K  20.1KB/s    in 22s     

2025-11-10 13:56:12 (20.0 KB/s) - 'mqtt2.template' saved [447417]

Auch bei der zweitgrößten Datei in dem Verzeichnis ist das nicht viel schneller:

udo@ip-172-26-6-68:~$ wget https://svn.fhem.de/trac/export/HEAD/trunk/fhem/FHEM/lib/AttrTemplate/httpmod.template
--2025-11-10 13:56:32--  https://svn.fhem.de/trac/export/HEAD/trunk/fhem/FHEM/lib/AttrTemplate/httpmod.template
Resolving svn.fhem.de (svn.fhem.de)... 2a01:4f8:221:1b5a::2, 88.99.31.202
Connecting to svn.fhem.de (svn.fhem.de)|2a01:4f8:221:1b5a::2|:443... connected.
HTTP request sent, awaiting response... 200 Ok
Length: unspecified [None]
Saving to: 'httpmod.template'

httpmod.template                             [                  <=>                                                             ]  69.00K  20.2KB/s    in 3.4s   

2025-11-10 13:56:36 (20.2 KB/s) - 'httpmod.template' saved [70653]

Getestet wurde mit den in Trac angezeigten Download-Links von einem Amazon Server aus, um lokale Netzwerkeinflüsse auszuschließen.

Die gute Nachricht: es geht auch schneller...

udo@ip-172-26-6-68:~$ wget https://svn.fhem.de/fhem/trunk/fhem/FHEM/lib/AttrTemplate/mqtt2.template
--2025-11-10 14:05:14--  https://svn.fhem.de/fhem/trunk/fhem/FHEM/lib/AttrTemplate/mqtt2.template
Resolving svn.fhem.de (svn.fhem.de)... 2a01:4f8:221:1b5a::2, 88.99.31.202
Connecting to svn.fhem.de (svn.fhem.de)|2a01:4f8:221:1b5a::2|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 447365 (437K) [text/plain]
Saving to: 'mqtt2.template.1'

mqtt2.template.1                         100%[==>] 436.88K  2.10MB/s    in 0.2s   

2025-11-10 14:05:14 (2.10 MB/s) - 'mqtt2.template.1' saved [447365/447365]

Scheint also wirklich so zu sein, dass der export über trac der Flaschenhals ist.

Aber selbst da kommt es zu unterschiedlichen Dateigrößen bei der gleichen Datei (es sei denn, die Datei wurde in den letzten Minuten verändert)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Otto123

Zitat von: betateilchen am 10 November 2025, 14:06:40Gefühlt ist der Download generell sehr langsam:
Ich prüfe das mal, ich habe ja Anfang des Jahres die Bandbreite begrenzt um die Download Bots etwas zu vergraulen und deren Einfluss auf unsere gesamte Struktur zu verringern.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

betateilchen

Wenn die Funktion Svn_GetFile() heißt, muss man doch darin nicht zwingend über trac gehen, oder?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rudolfkoenig

ZitatWenn die Funktion Svn_GetFile() heißt, muss man doch darin nicht zwingend über trac gehen, oder?
Das stimmt.
Ich frage mich, warum wir das ueber trac gemacht haben.

Ich habe https://svn.fhem.de/trac/browser/trunk/fhem/XXX?format=txt gegen https://svn.fhem.de/fhem/trunk/fhem/XXX getauscht, und sehe erstmal keine Probleme.
Download von mqtt2.template dauert 0.18sec statt 22.3sec.

Habe die Datei eingecheckt.

rudolfkoenig

Ich sehe doch einen Unterschied: $Id$ ist beim "direkten" Download nicht aufgeloest.
Seufz.

betateilchen

Zitat von: rudolfkoenig am 10 November 2025, 15:04:47Ich sehe doch einen Unterschied: $Id$ ist beim "direkten" Download nicht aufgeloest.
Seufz.

Ah... das erklärt das:

Zitat von: betateilchen am 10 November 2025, 14:06:40Aber selbst da kommt es zu unterschiedlichen Dateigrößen bei der gleichen Datei
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!