次の方法で mongoDB を実行している 3 ノードのレプリカ セットに接続しています。
DB = motor.MotorReplicaSetConnection("mongodb://user:pass@ip_address:27017", replicaSet='repl_set_name').open_sync().collection_name
私のレプリカ セットは、PRIMARY がダウンしたときにうまく機能し、別のレプリカ セットが引き継ぎます。しかし、これを行うと、Tornado サーバーはKeyError: 'pop from an empty set'
再接続時にエラーをスローします。Tornado/Motor が新しい PRIMARY ノードに再接続できないようです。理由はわかりません。host:port を接続文字列に追加/置換しても、結果は得られません。これはと関係がありread_preference
ますか?