はじめに
Cassandra 1.2 クラスター (7 ノード、レプリケーション ファクター 3) を使用して Python でアプリケーションを作成しており、cql ライブラリ (CQL 3.0) を使用して Python から Cassandra にアクセスしています。
問題
アプリケーションは、構成されていない列ファミリーに対して cql ステートメントを実行しようとすると、自動的にテーブルを作成し、cql ステートメントを再試行するように構築されています。たとえば、これを実行しようとすると:
SELECT * FROM table1
また、table1 が存在しない場合、アプリケーションは table1 に対応する CREATE TABLE を実行し、前の選択を再試行します。問題は、テーブルの作成後に SELECT (再試行) が次のエラーで失敗することです。
Request did not complete within rpc_timeout
質問
クラスターがテーブルの作成などを伝播するのに時間がかかると思いますか? テーブルの作成と選択ステートメントの再試行の間に数秒待つと、すべてが機能しますが、その理由と、より良い方法があるかどうかを正確に知りたいです。おそらく、テーブルの作成を変更が反映されるのを待ってから返すようにしますか?、それを行う方法はありますか?
前もって感謝します