CouchDB: Fehler in Version 1.0.0 verursacht Datenverlust
Ein fehlerhaftes Zusammenspiel zwischen der standardmäßig aktivierten Funktion delayed_commits und dem integrierten Timer kann zu Datenverlust führen, so die Entwickler. Wird die Datenbank neu gestartet, bleibt die Referenz zu dem gestoppten Timer bestehen. Greift die Anwendung auf die fehlerhafte Referenz zu, werden weitere Schreibzugriffe auf die Datenbank nicht mehr ausgeführt. Die aktuelle Version 1.0.0 war erst vor wenigen Tagen erschienen.
Die Entwickler raten deshalb dazu, die Datenbank nicht neu zu starten, sondern im laufenden Betrieb über die Administrationskonsole unter http://yourserver:5984/_utils/config.html die Funktion delayed_commit auf false zu setzen. Dazu werden Administrationsrechte benötigt.
Um sicherzustellen, dass alle Daten ordnungsgemäß gespeichert sind, können Anwender auch ohne Administrationsrechte eine entsprechende HTML-Datei mit Skripts in die Datenbank hochladen. Den enthaltenen Code und eine Anleitung haben die Entwickler auf der entsprechenden Webseite(öffnet im neuen Fenster) abgelegt. Alternativ bieten sie dafür ein Shell-Skript(öffnet im neuen Fenster).
Erst wenn alle noch ausstehenden Schreibbefehle abgeschlossen sind, können Benutzer auch ohne Administratorrechte die Datenbank reparieren. Dazu muss in der Konfigurationsdatei /usr/local/etc/couchdb/local.ini die Zeile delayed_commits = auf false gesetzt werden. Nach der Eingabe des kill-Befehls für die Datenbank startet CouchDB mit den geänderten Einstellungen neu. Für den kill-Befehl werden unter Umständen dennoch Root-Rechte benötigt.
Die fehlerbereinigte Version 1.0.1 soll in wenigen Tagen erscheinen. Die Entwickler wollen zusätzlich ein Werkzeug veröffentlichen, mit dem verlorene Daten unter Umständen wieder hergestellt werden können. Dazu will das CouchDB-Team eine Mitteilung über die entsprechende Mailingliste veröffentlichen(öffnet im neuen Fenster).
- Anzeige Hier geht es zum Handbuch für Softwareentwickler bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.



