2016-04-06 10 views
1

Speicherung habe ich einen fünf Knoten Riak Cluster und mache einige grundlegende Anwendungstests mit einem Python RiakClient mit pbc. Code sieht ungefähr so ​​aus:Riak Zurückkehren Status gesperrt, wenn der Schlüssel

b = riakclient.bucket('test') 
item = b.get('key1') 
item.data = 'testdata' 
item.store() 

Ich erhalte {Fehler, gesperrt} als RiakError zurück. Sobald dies bekomme ich auch eine Menge Fehler zwischen den Clusterknoten zu passieren beginnt, die wie folgt aussehen:

Handoff receiver for partition 1134123.... exited abnormally ... {error,locked} 

Irgendwelche Ideen, was das sein könnte, oder wie zu lösen? Dies ist riak 2.0.2, denkt über Updates nach, hofft aber, dies noch nicht tun zu müssen.

Update: dieses Problem zeigte sich nach dem Docker (habe ich schon erwähnt, dass?) Behälter I wurde mit neu gestartet wurde. Nach dem Neustart kam der Riak-Prozess auf, war aber nicht in einem funktionierenden Zustand, obwohl er im Cluster als gesund markiert war. A 'sv restart riak' hat den Cluster wieder zum Laufen gebracht. Ich frage mich immer noch, was das bedeutet, scheint nicht dokumentiert zu sein, obwohl es zu bedeuten scheint, dass der Knoten in einem schreibgeschützten Zustand ist.

+3

Suche durch die Quelle, finde ich {Fehler, gesperrt} in [bitcask_lockops: acqure] (https://github.com/basho/bitcask/blob/develop/src/bitcask_lockops.erl#L57). Vielleicht ist Riak nicht sauber heruntergefahren, als der Container neu gestartet wurde und es veraltete Sperrdateien gab? – Joe

Antwort

3

Dies war ein Problem in den Shutdown-Skripten, Knoten kam in unreinem Zustand. Ein Neustart behebt das Problem.

Verwandte Themen