エラーメッセージ | 原因とソリューション |
network error while attempting to run command 'isMaster' on host 'dds-xxxx.mongodb.rds.aliyuncs.com:3717' :exception: connect failed
| |
Timed out after 3000ms while waiting for a server that matches ReadPreferenceServerSelector{readPreference=primary}. exception=(com.mongodb.MongoSocketReadException: Prematurely reached end of stream)
Socket recv() errno:54 Connection reset by peer x.x.x.x:27017
| インスタンスが最大接続数に達し、新しい接続を確立できない可能性があります。 ソリューション: インスタンスの接続数上限に達しているか確認します。詳細については、「接続数のクエリ方法」をご参照ください。 接続使用量を最適化します。詳細については、「インスタンスへの接続数が上限に達した場合の対処法」をご参照ください。
|
MongoDB.Driver.MongoWaitQueueFullException: The wait queue for acquiring a connection to server xxx is full.
| MongoDB ドライバーの待機キューがいっぱいです。これは、接続プールのサイズが小さすぎる場合や、高同時実行リクエストにより利用可能な接続がない場合に発生する可能性があります。 ソリューション: まず、アプリケーションの接続プール設定を確認し、適切なプールサイズなどを設定します。詳細については、「クライアントの接続数を制限する方法」をご参照ください。 プログラムの設定を調整しても問題が解決しない場合は、MongoDB インスタンスの接続数が上限に達していないか確認します。詳細については、以下をご参照ください。 接続数のクエリ方法 インスタンスへの接続数が上限に達した場合の対処法
|
(TooManyLogicalSessions) Unable to add session into the cache because the number of active sessions is too high.
| 過剰な同時接続により、利用可能なセッションが枯渇する可能性があります。 ソリューション: 接続の枯渇による接続失敗をトラブルシューティングします。 接続数のクエリ方法 インスタンスへの接続数が上限に達した場合の対処法
接続数が正常な場合は、インスタンスの他のパフォーマンスメトリックがビジネス要件に十分であるか確認します。 ノード監視機能を使用して、CPU 使用率やメモリ使用量などの一般的なリソースの使用状況を確認します。これにより、インスタンスタイプがビジネス要件を満たしているかどうかを判断できます。 インスタンスタイプが高負荷に対して小さすぎる場合は、オフピーク時にインスタンスの仕様を変更します。
|
| インスタンスのエンドポイントが正しいか確認します。エンドポイントの詳細については、以下をご参照ください。 |
Failed to connect to 10.*.*.8:3717 after 5000 milliseconds, giving up.Error: couldn't connect to server 10.*.*.8:3717 (10.*.*.8), connection attempt failed
pymongo.errors.ServerSelectionTimeoutError: dds-xxxx.mongodb.rds.aliyuncs.com:3717: [Errno 113] No route to host,dds-xxxx.mongodb.rds.aliyuncs.com:3717
InvalidInstanceId.NotFound: The instance not in current vpc.
| このエラーは、ECS インスタンスがプライベートネットワーク経由で ApsaraDB for MongoDB インスタンスに接続できない場合に発生します。 ソリューション: ホワイトリスト設定を確認します。ECS インスタンスのプライベート IP アドレスがApsaraDB for MongoDB インスタンスのホワイトリストに追加されていることを確認します。 ECS インスタンスと MongoDB インスタンスが相互に通信できることを確認します。 ECS インスタンスと MongoDB インスタンスが同じ VPC にある場合、プライベートネットワーク経由で直接接続できます。異なる VPC をまたいでインスタンスを接続するには、以下のいずれかの操作を実行します。
|
org.springframework.data.mongodb.UncategorizedMongoDbException: Timeout while receiving message; nested exception is com.mongodb.MongoSocketReadTimeoutException: Timeout while receiving message
| |
"errmsg": "not master", "code": 10107, "codeName": "NotMaster"
"errmsg": "not master", "code": 10107, "codeName": "NotWritablePrimary"
Time out after 30000ms while waiting for a server that matches writableServerSelector.
Command failed with error 10107 (NotWritablePrimary): 'not primary' on server xxx.
Explain's child command cannot run on this node. Are you explaining a write command on a secondary?
not master and slaveOk=false.
MongoNotPrimaryException: Command failed with error 10107 (NotMaster): 'not master' on server xxx.
reason: TopologyDescription { type: 'ReplicaSetNoPrimary',...}
| このエラーは、プライマリノードではないノードで書き込み操作が試みられた場合に発生します。 原因:書き込み操作はプライマリノードでのみ実行できます。サービスが以前にプライマリノードのエンドポイントを使用して接続していた場合、プライマリ/セカンダリのスイッチオーバー後に接続されたノードがセカンダリノードになります。その結果、書き込み操作が失敗します。 ソリューション: 本番環境では、ConnectionStringURI エンドポイントを使用してアプリケーションをデータベースに接続します。ノードに障害が発生した場合、プライマリ/セカンダリのスイッチオーバーはアプリケーションの読み取りおよび書き込み操作に影響しません。エンドポイントの詳細については、以下をご参照ください。 手動でノードのロールを切り替えます。サービスが使用している単一ノードのエンドポイントに対応するノードをプライマリノードに切り替えます。
アプリケーションに再接続メカニズムと例外処理を設計してください。これにより、一時的な切断後もアプリケーションが自動的に再接続し、安定性を維持できます。 |
[Unauthorized] cloud instance error, disk locked, plz check and upgrade your disk quota,
| ディスク領域が枯渇したため、インスタンスがロックされています。 ソリューション:「ディスク領域の枯渇によるインスタンスのロックまたは書き込み失敗の解決」をご参照ください。 |
(AuthenticationFailed) Authentication failed.
| |
| データベースアカウントのパスワードに !@#$%^&*()_+= などの特殊文字が含まれています。 ソリューション:「接続文字列のアカウントまたはパスワードに含まれる特殊文字による接続失敗を解決する方法」をご参照ください。 |
error getting cluster ID: (CommandNotFound) replSetGetConfig is forbidden by cloud provider for security reason
| ApsaraDB for MongoDB は replSetGetConfig コマンドをサポートしていません。詳細については、「ApsaraDB for MongoDB でサポートされているコマンドとサポートされていないコマンド」をご参照ください。 |