接続タイムアウトのトラブルシューティング

Dgraph --net-timeoutフラグを使用すると、データ収集操作中のタイムアウト問題を回避するのに役立ちます。

Oracle Endeca ServerのDgraphプロセスには、デフォルトで30秒のリクエスト・タイムアウトがあります。この設定により、クライアントがネットワーク全体にわたる問合せからデータをダウンロードするまでDgraphプロセスが待機する最大秒数が決定されます。クライアントは、Oracle Endeca Serverに問合せを送信するエンド・ユーザーか、またはレコードをデータ・ドメインにロードするETLクライアント・プログラム(データ収集操作の場合)です。

クライアントがサーバーとの接続をオープンすると、サーバーは、(タイムアウト期間にわたり)そのソケットでクライアント・データの受信を待機します。クライアントがタイムアウト制限内にデータを送信しないと、サーバーは、接続を削除してDgraphログにHTTP 408エラーを書き込みます。

収集操作でデータの送信に時間のかかるDIWSクライアントを使用する場合、このタイムアウト制限が問題となる可能性があります。タイムアウト制限を超えると、収集リクエストは失敗し(サーバーが接続をクローズするため)、レコード・バッチはデータ・ドメインにロードされません。

ログに継続的にHTTP 408エラーが書き込まれる場合、まず使用しているETLクライアントが適切に動作しているかどうかを確認してください。たとえば、プログラムがタイムアウト制限を超えるような操作に異常に時間をかけていないかどうかを確認してください。

ETLクライアントは正常に実行されているが、現在より長いリクエスト・タイムアウト期間が必要であると確認できた場合、リクエスト・タイムアウト設定を増やすことができます。Dgraph --net-timeoutフラグを使用して、ETLクライアントに適切な数値となるようにリクエスト・タイムアウトを設定します。場合によっては、要件に最適な設定を見つけるために、いくつかの設定を試してみる必要があります。