Erstellen neue Tabelle mit cqlsh auf bestehende Schlüsselraum: Column family ID mismatch

Houston, wir haben ein problem.

Versuchen, erstellen Sie eine neue Tabelle mit cqlsh auf eine vorhandene Cassandra (v2.1.3) Schlüsselraum Ergebnisse in:

ServerError: 
<ErrorMessage code=0000 [Server error] message="java.lang.RuntimeException:
java.util.concurrent.ExecutionException: 
    java.lang.RuntimeException:      
        org.apache.cassandra.exceptions.ConfigurationException: Column family ID mismatch (found e8c03790-c952-11e4-a753-5981ea73cd7c; expected e8b14370-c952-11e4-a844-8f10bfb9c386)">

Nachdem der erste schaffen, versuchen, versuchen einmal mehr führt:

AlreadyExists: Table 'ks.Metriken' ist bereits vorhanden

Aber abrufen der Liste der vorhandenen Tabellen für den Schlüsselraum desc tables; meldet die neue Tabelle.

Das Problem scheint im Zusammenhang mit Cassandra-8387 außer, dass es nur ein client versucht, um die Tabelle zu erstellen: cqlsh

Wir haben eine Reihe von Funken Arbeitsplätze zu schaffen, die schlüsselräume und Tabellen, die beim Start möglicherweise tun dies parallel. Würde das Rendern der Schlüsselraum korrupt?

Erstellen einer neuen Schlüsselraum und eine Tabelle hinzufügen, es funktioniert wie erwartet.

Irgendwelche Ideen?

UPDATE

Fand einen workaround: Problem eine Reparatur der Schlüsselraum und die Tische erscheinen (desc tables) und sind auch funktional.

  • Gut zu finden auf die Reparatur. Ich würde vorschlagen, entfernen Sie die darunter liegende Verzeichnisse und Dateien...vor allem, wenn das schema war anders.
  • die Reparatur hat bei mir nicht funktioniert $ nodetool repair -- testks [2015-07-04 03:28:54,612] Nichts zu reparieren für Schlüsselraum 'testks'
  • Gleiche Fehler auf einen einzelnen Knoten-cluster und anscheinend die Reparatur hat nicht funktioniert. Musste neu starten in Verzweiflung. Alle updates?
  • Sie sollten Ihre post zu aktualisieren, wie Sie eine Antwort auf Ihre eigene Frage, und wählen Sie es als die Antwort. Diese Weise Leute wissen, dass Sie das problem bereits gelöst haben und anderen Menschen mit dem gleichen Problem wissen was die Lösung war (in den richtigen spot spot auf der Seite).
  • Wie ich schon erwähnt, in der Frage, es ist ein workaround und nicht eine Lösung für das problem.
  • Verstanden. Ich dachte, da Sie Ihre Frage für "Irgendwelche Ideen/workarounds", die ein workaround wäre akzeptabel als Antwort. Ich kann verstehen wollen, reservieren Sie, dass vor Ort für eine tatsächliche Lösung, obwohl.
  • du hast Recht 🙂 ich habe entfernt den Anruf für workarounds in Einklang zu bringen.

InformationsquelleAutor maasg | 2015-03-13
Schreibe einen Kommentar