Passive Peers "reaktivieren"?

Hier finden YaCy User Hilfe wenn was nicht funktioniert oder anders funktioniert als man dachte. Bei offensichtlichen Fehlern diese bitte gleich in die Bugs (http://bugs.yacy.net) eintragen.
Forumsregeln
In diesem Forum geht es um Benutzungsprobleme und Anfragen für Hilfe. Wird dabei ein Bug identifiziert, wird der thread zur Bearbeitung in die Bug-Sektion verschoben. Wer hier also einen Thread eingestellt hat und ihn vermisst, wird ihn sicherlich in der Bug-Sektion wiederfinden.

Passive Peers "reaktivieren"?

Beitragvon redlexan » Mi Apr 02, 2014 6:55 am

Hallo zusammen,

ich versuche derzeit, ein kleines Netz aus Yacy-Peers zu erstellen und bin auf folgendes gestoßen:
- Ausgangssituation: Das Netzwerk besteht aus HF-Linkstrecken, d.h. Verbindungen können ggf. mal stundenweise ausfallen.
- In den Netzwerktechnisch gut funktionierenden bereichen gibt es jew. 2 Principal-peers, die sich erfolgreich untereinander pingen und aktiv bleiben.
Das funktioniert soweit. DIe Peers bootstrappen erfolgreich, das Netzwerk funktioniert dann einige Tage. Alle Peers sehen sich zuächst gegenseitig.
Nun mein Problem:

Sobald es ein Problem mit dem Netzwerk gibt, zerfällt das Yacy-Netz (logisch). Bei den Peers am jeweils anderen Netzwerkende werden dann die Peers als Passiv angezeigt.
Diese Situation scheint statisch zu sein. Bestehen die Netzwerkverbindungen wieder, bleiben die Peers im Status Passiv, obwohl ich alle peers manuell, auch über .yacy-Adressierung, erreichen kann. (per Browser, über proxys gegenseitig geprüft, seedlisten erreichbar) Auch das Neustarten der Peers scheint hier nichts daran zu ändern.
Werden diejenigen Peers, die im Status "Passiv" stehen, von den anderen Peers periodisch auf irgendeine Weise geprüft?

Vielen Dank, Alex
redlexan
 
Beiträge: 2
Registriert: Mi Apr 02, 2014 6:29 am

Re: Passive Peers "reaktivieren"?

Beitragvon Orbiter » Mi Apr 02, 2014 7:41 am

Hi,

das ist ja eine spannende Geschichte! HF-Linkstrecken!, da würde ich gerne mehr drüber lesen 8-)

Also ein Peer, der bei einem anderen als passive markiert wurde weil er nicht mehr erreicht werden kann bleibt in diesem Zustand bis er das selbst wieder ändert. Peers aus der passiv-Liste werden nicht automatisch hin-und-wieder angepingt.

Jeder 'lebendige' Peer macht einmal in der Minute einen Peer Ping zu einem anderen Peer. Dieser prüft über einen Backping den Betriebstatus Senior/Junior und teilt das im gleich Peer-Ping dem anpingenden Peer als Antwort mit. Ist der Peer ein Senior Peer, kommt er wieder in die aktive Liste. Jedes 'Hello', also der Peer-Ping wird ausserdem mit einer kleinen Liste von 10 zuletzt bekannt gewordenen Senior Peers beantwortet.

Gibt ein Peer also ein 'Lebenszeichen' durch einen Peer Ping von sich und wird erfolgreich als Senior gekennzeichnet, so geht diese Info also wieder 'auf die Reise' denn die nächsten anpingenden Peers bekommen den in die Liste.

Wenn ein Peer nun durch ein Ping an einen anderen so eine Liste bekommt, dann vergleicht er nach dem Zeitpunkt des letzten Lebenzseichen des 'anderen' Peers in der eigenen passive-Liste und der remote-Info: ist das Lebenszeichen in der remote Info vor dem in der eigenen Passiv-Liste, dann wird der neue Peer ignoriert, ansonsten ist das ein 'arrival' und der Peer kommt wieder in die Aktiv-Liste.

Solten _alle_ Peers durch fehlgeschlagene Pings passiv sein, so wird die Seedliste von einem Senior wieder neu geladen.

Als erstes würde ich versuchen die Uhren zu vergleichen, das Netz benötigt aufgrund des Tests zum letzten Lebenszeichen relativ gut abgeglichene Uhrzeiten. Es gibt zwar Toleranzen aber allzu große könnten ein Problem sein. Bitte gucken ob auch die Zeitzone korrekt ist.
Orbiter
 
Beiträge: 5787
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Passive Peers "reaktivieren"?

Beitragvon redlexan » Mo Apr 07, 2014 7:24 am

Hallo,

danke erst einmal für die schnelle Antwort.
Ich habe am Wochenende noch ein wenig experimentieren dürfen. Die Uhzeiten noch einmal genau abzugleichen scheint nur ein Teil der Lösung zu sein.
Da das Netz an YaCy-Peers im Moment recht statisch ist; also sämtliche Peers derzeit auf Servern laufen (keine auf Userrechnern, die Dynamik ins Netz bringen) habe ich wohl ersteinmal eine Deadlock-Situation: 2 Teilnetze sehen sich gegenseitig als Passiv, kein Teilnetz versucht den Verbindungsaufbau zum jeweils anderen, da jeweils alle Peers im Teilnetz betroffen sind.
Das erklärt auch, dass sich die Situation auch nicht durch neustarten einzelner Peers auflöst.

Meine vorübergehende Lösung ist folgende: Ich lösche in einem Restart-Zyklus stumpf die seed.old.heap auf einem Peer. Das beseitigt einerseits die Passiv-Einträge und scheint ein neues Bootstrapping zu bewirken... (nicht schön aber geht...) Der Peer fügt das Netz dann wieder zusammen.
(Ich überlege gerade, ob so eine Situation auch im Internet entstehen kann. Das könnte einige Peers kosten.)

Bei dem Netzwerk handelt es sich übrigens um das IP-Netz der Funkamateure ("HAMNET"). Das Netz befindet sich in DL gerade im Aufbau; bislang gibt es nur sehr wenige Services. (vornehmlich Backbone-Netzwerk)
Das Netzwerk existiert Weltumspannend im IP-Netz 44.* ; es besteht jedoch keine (direkte) Verbindung zum Internet.
Eine kurze übersicht findest du hier: http://de.wikipedia.org/wiki/Hamnet,
eine Übersicht über die Ausdehnung des Netzwerkes hier: http://hamnetdb.net/, (klick auf "Map")
redlexan
 
Beiträge: 2
Registriert: Mi Apr 02, 2014 6:29 am


Zurück zu Fragen und Antworten

Wer ist online?

Mitglieder in diesem Forum: Yahoo [Bot] und 2 Gäste

cron