Renderer im Winterschlaf ?

Sind Mapnik und Osmarender im Winterschlaf oder ist Tauwasser in die Server eingedrungen? :roll_eyes:

Bei Osmarender (tiles@home) sieht man im Großraum Mitteldeutschland in den Zoomstufen 6 bis 11 nur noch blaue Kacheln mit der Aufschrift “unknown type”.

Mapnik rendert seit gestern, dem 18.Februar, ca. 9:30 Uhr nicht den kleinsten Datensatz mehr.

Hat Jemand eine plausible Erklärung dafür?

mfG Michael

Mapnik: http://forum.openstreetmap.org/viewtopic.php?id=6462

http://wiki.openstreetmap.org/wiki/Platform_Status

Genaueres weis ich aber auch nicht… auf den mailinglisten habe ich auch nix gesehen…

Aha, ich sehe man arbeitet dran - dann können wir ja hoffen!
Ich hatte nämlich schon verzweifelt nach irgendeiner Meldung gesucht und nichts gefunden.
Auf Webseiten steht in solchem Fall wenigstens immer “Under Construction”. :smiley:

Wie PHersion schon mit dem link zum anderen Thread hingewisen hat, laeuft derzeit ein "planmaessiger"re-import der Mapnik db (die Haupt-DB ist davon vollkommen unbetroffen). Waerend der laeuft, kann der Renderer natuerlich nicht rendern, da ja keine Datenbank zur verfuegung steht. Der ganze import dauert meist 1 - 2 Tage bis alles wieder auf dem aktuellen Stand ist. Anschliessend werden dann noch alle Tiles als “veraltet” markiert, so dass alle Kacheln neu gerendert werden, nicht nur die die sich geaendert haben wie sonst normal. In der zeit, ist der Renderer dann etwas ueberlastet und es wird noch ein paar weitere Tage zu Artefakten (Tiles von unterschiedlicher aktuallitaet) kommen. Nach knapp einer Woche sollte sich wieder alles stabilisiert haben und die “gewohnte” Aktualitaet von wennigen minuten Verzoegerung wieder erreicht werden.

Als Hintergrund information ist hier denke ich noch hilfreich zu wissen. Das bis vor nicht all zu langer Zeit (wahrscheinlich weniger als ein Jahr), wurde generell ein mal pro Woche die neuesten daten in die render Datenbank geladen und zwischen den Wochen gab es keinerlei Updates. Dann wurde irgenwann ein experimenteller Diff import geschrieben, der auch waerend der Woche die Daten aktuallisiert hat. Da aber ein paar der komplizierteren OSM konstrukte wie manche relations nicht richtig gehandhabt wurden, musste trotzdem die DB oeffters mal neu geladen werden um die akumulierten Fehler wieder zu entfernen. Mit zunehmender Stabilitaet des diff imports wurden die Abstaende zwischen den DB-imports immer laenger. Ich glaube der letzte war im November. (Somit haben sich die Leute vielleicht zu sehr an die hohe Aktuallitaet gewohnt… ;-)) Auch wenn glaube ich keine Bugs mehr bekannt sind im diff import, ist es dennoch sinnvoll gelegentlich mal ein komplett import zu machen um sicher zu stellen das alles korrekt ist, zumal die letzten Bugs glaube ich nach dem Vorherigen import gefixt wurden.

Dieser gelegentliche Import findet nun eben gerade statt. Es ist also nichts worueber man sich sorgen machen muss. Den servern geht es jedenfalls noch gut :slight_smile:

Das obrige betrift alles nur die mapnik Karte. Zu den osmarender Problemen kann ich nichts sagen, die entsprechenden Leute sind aber glaube ich informiert. Sollte also auch bald behoben sein.

Aaaaaah, danke für die super Erklärung
Aber was is den mit Osmarender los?

@amm: Kann es sein, daß doch noch einige BUGs beim DIFF-Import vorhanden sind?

Ich habe festgestellt, daß wenn man die gleiche Straße mehrfach ändert, am Ende die Tiles nicht immer die neuste Version haben. Ich hatte z.B. vor einiger Zeit eine neue Straße getaggt und dann hochgeladen. Beim Rauszoomen habe ich dann gesehen, daß die eigentlich gerade Straße von mir krumm angelegt war und habe die überflüssigen Punkte entfernt und neu hochgeladen. Am Ende hat man dann an den Kachelrändern gesehen, daß eine Kachel die neue Straße hat, die andere nicht.

Auch mehrere Wochen später war das ganze noch so. Da es sich nur um ein paar Pixel handelte, habe ich mir nichts dabei gedacht.

Eine Idee, die ich hatte (aber noch nicht reproduziert habe) ist, daß wenn ich eine Straße mit zwei Nodes über drei Tiles habe, daß dann beim verschieben eines der Nodes nur das Tile+alle Nachbartiles verschoben werden. Und Tiles-3 wird nicht neu gerendert.

mapnik rendert erst bei bestimmten Änderungen neu. Im Notfall einfach die Kachel einzelnd laden und ein /dirty anhängen

also aus http://b.tile.openstreetmap.org/17/68706/45069.png für die Kachel wird http://b.tile.openstreetmap.org/17/68706/45069.png/dirty
es gibt auch noch http://b.tile.openstreetmap.org/17/68706/45069.png/status

Cool, das mit /dirty und mit /status kannte ich noch nicht. Danke!

Ah, da werde ich meine Erklaerung noch etwas erweitern muessen… :slight_smile:

Da der Server nicht die Kapazitaet hat alle Kacheln “on-the-fly” zu renderen (waere auch nicht sonderlich sinnvoll), werden nach dem rendern die Kachel auf der Festplatte abgespeichert um das naechste mal wenn sie jemand betrachten moechte heraus zu geben ohne sie neu rendern zu muessen.

Wennn nun etwas an den OSM daten veraendert wird, erscheinen diese Aenderungen im Diff und sie werden in die Mapnik rendering DB eingefuegt. Dieser Teil sollte inzwischen bug frei sein. Das heist, wenn du eine neue Kachel betrachtest, die zuvor noch nie gerendert wurde, bekommst du die frischen daten aus der Datenbank gerendert. Wenn die Kachel jedoch schon mal betrachtet wurde, kann es sein das man die alte Kachel von der Festplatte bekommt.

Um das zu verhindern laeuft ein weiterer Prozess ab, der die Diffs nimmt und versucht heraus zu finden welche Kacheln durch diese Aenderung eigentlich betroffen ist und markiert diese dann als “dirty”, so das (wenn der Server nicht gerade ueberlastet ist) diese Kachel dann neu gerendert werden soll anstelle die alte von der Festplatte zu nehmen. Das bestimmen welche Kachel neu gerendert werden muss ist jedoch nicht trivial und ist ein Kompromiss zwischen genauigkeit und performance. Z.B. wenn man ein grosser geschlossener Weg von landuse=forest zu landuse=medow umgetagt wird, muss die gesammte Innenflaeche des polygons gerendert werden. Wenn jedoch z.B. eine note=something an das Deutschland Polygon gehaengt wird, braucht nicht gesammt Deutschland neu gerendert werden. Hierfuer wird derzeit eine recht einfache Heuristik verwendet, die gerade be polygonen nicht immer funktioniert, aber auch moeglicherweise bei Wegen die nur eine Kachel tangieren nicht alles noetige zum neu rendern markiert. Desshalb gibt es wie Nightdrive richtig darauf hinweist die manuelle moeglichkeit bestimmte Kacheln zum neu rendern zu bringen.

Ausserdem werden nur Kacheln von zoomstufen z18 - z10 automatisch zum neu rendern markiert. Denn z.B. die z0 Kachel muesste sonst jedesmal neu gerendert werden, denn jede aenderung laege in deren bereich. Low zoom Kacheln koennen desshalb schon mal recht veraltet sein, wenn sie keiner manuell neu rendert. Auf Low Zoom Kacheln aedert sich aber normalerweise nicht viel, so das das meist kein Problem ist.

Dessweiteren, werden die Kuesten noch mal komplett anders behandelt und werden nicht per Diff import behandelt. Diese koennen dann auch nicht per /dirty korrigiert werden, denn die neuen Kuesten Daten werden nur gelegendlich importiert.

Ich hoffe das macht die Sache etwas klarer.