すべてのプロダクト
Search
ドキュメントセンター

E-MapReduce:JindoSDK を使用して OSS にアクセスする際に「Reached timeout」エラーが発生した場合の対処方法

最終更新日:Jun 21, 2026

このトピックでは、JindoSDK を使用して Object Storage Service (OSS) にアクセスする際に発生することがある「Reached timeout」エラーの原因と解決策を説明します。

タイムアウトメッセージ

[ErrorCode] : 25201 , [ErrorType]: OSS Op Error. [ErrorMessage]: [E1008]Reached timeout=30000ms

原因の特定方法

説明

タイムアウトメッセージのみでは原因を特定できません。OSS サーバーが指定されたタイムアウト期間内に応答がない場合は、コンテキストログまたは例外スタックを確認する必要があります。

OSS にアクセスするために次のコマンドを実行すると、「Reached timeout」エラーが発生することがあります。

例外スタックのエラーメッセージに rename が含まれる場合

  • エラーメッセージのサンプル

    java.io.IOException: rename src:oss://bucket.oss-cn-xxxx-internal.aliyuncs.com/user/hive/warehouse/tmp/hive/xxxx/c185ce78-f843-4104-8dca-f5b96fc9****/hive_xxxx_00-07-51_265_5593904247532586093-47957/_tmp.-mr-10006, dst:oss://bucket.oss-cn-xxxx-internal.aliyuncs.com/user/hive/warehouse/tmp/hive/xxx/c185ce78-f843-4104-8dca-f5b96fc9****/hive_xxxx-07-21_00-07-51_265_5593904247532586093-47957/_tmp.-mr-10006.moved
    ,java.io.IOException: [ErrorCode] : 25201 , [ErrorType]: OSS Op Error. [ErrorMessage]: [E1008]Reached timeout=30000ms @100.118.xx.xx:80 ERROR_CODE : 1008
  • 原因

    JindoSDK の名前変更操作は、OSS の CopyObject 操作に基づいて実装されています。このエラーは、CopyObject 操作に対する OSS の fastcopy 最適化が完了していないために発生します。その結果、JindoSDK の名前変更操作がタイムアウトします。

  • 解決策

    bucket.oss-cn-xxx-internal.aliyuncs.com の設定要件の確認、および内部 fastcopy 最適化の失敗原因のトラブルシューティングについては、OSS のテクニカルサポートにお問い合わせください。

    fastcopy 最適化は、ストレージクラスが標準である最も一般的なオブジェクトに対してのみ実行可能です。OSS オブジェクトのストレージクラスが標準でない場合、または OSS オブジェクトが特殊なタイプである場合、fastcopy 最適化が失敗することがあります。その結果、名前変更操作がタイムアウトすることもあります。JindoSDK を使用して一般的なオブジェクトのみを OSS にアップロードし、標準ストレージクラスを使用することを推奨します。次のオブジェクトでは fastcopy 最適化が失敗することがあります。

    • ストレージクラスが標準でないオブジェクト (低頻度アクセス、アーカイブ、コールドアーカイブなど)

    • OSS の AppendableObject タイプのオブジェクト

    • マルチパート以外の操作でアップロードされた小さなオブジェクト

    • サーバー側の暗号化などの機能を使用するオブジェクト

    • LINK、シンボリックリンク、削除マーカータイプなどの特殊なオブジェクト

例外スタックのエラーメッセージに InputStream または Read が含まれる場合

  • エラーメッセージのサンプル

    Read from oss://xxxx with error message:  [HostId]: oss-cn-zhangjiakou-internal.aliyuncs.com [ErrorMessage]: [E1008]Reached timeout=30000ms
  • 原因と解決策

例外スタックのエラーメッセージに OutputStream、write、または Close が含まれる場合

  • エラーメッセージのサンプル

    com.aliyun.emr.fs.oss.commit.magic.JindoOssMagicOutputStream.write(JindoOssMagicOutputStream.java:146)
            ... 14 more
    Caused by: java.io.IOException: ErrorCode : 25201 , ErrorMsg: OSS Op Error.  [HostId]: oss-cn-beijing-internal.aliyuncs.com [ErrorMessage]: [E1008]Reached timeout=30000ms @100.118.xx.xx:80 ERROR_CODE : 1008
            at com.alibaba.jboot.JbootFuture.get(JbootFuture.java:179)
            at com.alibaba.jboot.JbootOssWriter.write(JbootOssWriter.java:85)

    または

    Caused by: java.io.IOException: Close stream oss://xxx error java.io.IOException: [ErrorCode] : 25201 , [ErrorType]: OSS Op Error.  [HostId]: xxx [ErrorMessage]: [E1008]Reached timeout=30000ms @xxx ERROR_CODE : 1008
  • 原因と解決策

    このエラーは通常、OSS の帯域幅制限が作動したために発生します。OSS のテクニカルサポートに連絡して、スロットリングの理由を特定してください。

例外スタックのエラーメッセージに getFileStatus が含まれる場合

  • 原因

    OSS バケットでバージョニングが有効になっています。

  • 解決策

    1. バケットでバージョニングが有効になっているか、または過去に有効になっていたかを確認します。OSS 管理コンソールで、対象のバケットに移動します。ナビゲーションウィンドウで [データセキュリティ] を選択し、[バージョニング] をクリックしてバージョニングのステータスを表示します。ステータスが [有効] または [中断] の場合、バケットでバージョニングが有効化されたことを示します。

    2. OSS のテクニカルサポートに連絡し、バケットまたは指定されたパス内に 100,000 個を超える削除マーカーが存在するかどうかを確認してもらってください。存在する場合は、これらのマーカーを削除してください。

rm コマンド

  • skipTrash を含む rm コマンド

    skipTrash オプションを含む rm コマンドは、2 つのステップで実行されます。 getFileStatus 操作が呼び出され、次に delete 操作が呼び出されます。 skipTrash オプションを含む rm コマンドの実行時にタイムアウトエラーが発生した場合、そのエラーは getFileStatus 操作の呼び出し時に発生しています。 タイムアウトエラーを解決するには、「例外スタックのエラーメッセージに getFileStatus が表示される」に記載されている手順に従ってください。

  • skipTrash を含まない rm コマンド

    skipTrash オプションを含まない rm コマンドは、2 つのステップで実行されます。 getFileStatus 操作が呼び出され、次に Rename 操作が呼び出されます。 skipTrash オプションを含まない rm コマンドの実行時にタイムアウトエラーが発生した場合は、例外スタックのエラーメッセージに getFileStatus が表示されるおよび例外スタックのエラーメッセージに rename が表示されるで説明されている指示に従ってエラーを修正してください。

説明

skipTrash は rm コマンドのオプションです。たとえば、hadoop fs -rm -skipTrash oss://bucket/path コマンドを実行して OSS オブジェクトを削除できます。削除されたオブジェクトはごみ箱に移動されません。

ls コマンド

Is コマンドは 2 つのステップで実行されます。 getFileStatus オペレーションが呼び出され、次に listDirectory オペレーションが呼び出されます。 Is コマンドの実行時にタイムアウトエラーが発生する場合、それは getFileStatus オペレーションの呼び出し時に発生しています。 タイムアウトエラーを修正するには、「例外スタックのエラーメッセージに getFileStatus が表示される」をご参照ください。