質問
JDBCコネクターでRedshiftと接続する際に「The connection attempt failed.」エラーが発生します。
また、該当のエラーが発生する際にはコンポーネントの処理開始から10秒後にエラーが発生しています。
本エラーの原因について、教えてください。
また、JDBCコネクターについての内部的なタイムアウトの仕様がありましたら、教えて下さい。
回答
JDBCコネクターでRedshiftと接続する際に、コンポーネントの処理時間10秒で「The connection attempt failed.」エラーが発生する場合、
Redshift JDBCドライバーのconnectTimeoutのプロパティの影響により接続タイムアウトが発生している可能性があります。
HULFT Squareサービス内に配置しているRedshift JDBCドライバでは該当のクエリについて変更していないため、
以下の公式ドキュメントに記載のデフォルト設定値である「10」秒が適用されています。
◇Redshift公式ドキュメント
https://docs.aws.amazon.com/ja_jp/redshift/latest/mgmt/redshift-mgmt.pdf
connectTimeout
• デフォルト値 – 10
JDBC接続においてconnectTimeoutプロパティを変更したい場合、
接続に利用しているJDBCコネクション設定において、「URL」の末尾にクエリとして「connectTimeout={タイムアウト設定秒}」を追記していただく事で変更する事が可能です。
例えば、タイムアウトを30秒に設定したい場合は以下のような形式で指定いただけます。
「jdbc:redshift://{ホスト名}:{ポート番号}/{DB名}?connectTimeout=30」
補足
Redshiftとの接続が不安定な場合、接続先のRedshiftが高負荷などのためコネクション確立に時間がかかっている可能性が考えられます。
必要に応じてエラー発生時の接続先のRedshift およびその関連サービスの負荷状況などをご確認下さい。
また、一般的な「The connection attempt failed.」エラーが発生する原因につきましては以下の関連FAQに記載していますので、こちらも併せてご確認ください。
関連FAQ
◇接続テストが「The connection attempt failed.」エラーで失敗することがあります
コメント
0件のコメント
記事コメントは受け付けていません。