Topik ini menjelaskan penyebab dan solusi untuk kesalahan Reached timeout yang mungkin terjadi saat menggunakan JindoSDK untuk mengakses Object Storage Service (OSS).
Pesan timeout
[ErrorCode]: 25201, [ErrorType]: OSS Op Error. [ErrorMessage]: [E1008]Reached timeout=30000ms
Cara mengidentifikasi penyebab
Anda tidak dapat mengidentifikasi penyebab hanya berdasarkan pesan timeout. Jika server OSS tidak memberikan respons dalam periode timeout yang ditentukan, periksa log konteks atau tumpukan pengecualian.
Periksa log konteks berdasarkan tumpukan pengecualian:
Jika Anda menjalankan perintah berikut untuk mengakses OSS, kesalahan Reached timeout mungkin terjadi:
rename muncul dalam pesan kesalahan dari tumpukan pengecualian
Contoh Pesan Kesalahan
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 : 1008Penyebab
Operasi Rename dari JindoSDK diimplementasikan berdasarkan operasi CopyObject dari OSS. Kesalahan terjadi karena optimasi fastcopy OSS belum selesai untuk operasi CopyObject, sehingga operasi Rename dari JindoSDK mengalami timeout.
Solusi
Hubungi dukungan teknis dari OSS untuk mengonfirmasi persyaratan pengaturan pada
bucket.oss-cn-xxx-internal.aliyuncs.com. Kemudian, periksa penyebab kegagalan optimasi fastcopy OSS.Optimasi fastcopy hanya dapat dilakukan pada objek umum dengan kelas penyimpanan Standard. Jika kelas penyimpanan objek OSS bukan Standard atau objek OSS adalah jenis khusus, optimasi fastcopy mungkin gagal, menyebabkan operasi rename mengalami timeout. Kami menyarankan Anda menggunakan JindoSDK untuk mengunggah hanya objek umum ke OSS dengan kelas penyimpanan Standard. Optimasi fastcopy mungkin gagal pada objek berikut:
Objek dengan kelas penyimpanan selain Standard, seperti IA, Archive, atau Cold Archive
Objek bertipe AppendableObject di OSS
Objek kecil yang diunggah tanpa menggunakan operasi MultiPart
Objek yang menggunakan fitur seperti enkripsi sisi server
Objek khusus, seperti LINK, SYMLINK, dan DELETEMARKER
InputStream atau Read muncul dalam pesan kesalahan dari tumpukan pengecualian
Contoh Pesan Kesalahan
Read from oss://xxxx with error message: [HostId]: oss-cn-zhangjiakou-internal.aliyuncs.com [ErrorMessage]: [E1008]Reached timeout=30000msPenyebab dan Solusi
Operasi SeekRead dari JindoData 4.0.0 memiliki cacat yang dapat menyebabkan kesalahan Reached timeout. Jika Anda menggunakan JindoData 4.0.0, tingkatkan ke versi 4.3.X atau lebih baru. Untuk informasi lebih lanjut, lihat Tingkatkan JindoSDK di kluster EMR di konsol EMR baru.
Pembatasan bandwidth OSS dipicu. Hubungi dukungan teknis dari OSS untuk memeriksa alasan pembatasan bandwidth dipicu.
OutputStream, write, atau Close muncul dalam pesan kesalahan dari tumpukan pengecualian
Contoh Pesan Kesalahan
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)Atau
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 : 1008Penyebab dan Solusi
Kesalahan ini sering disebabkan oleh pembatasan bandwidth OSS yang dipicu. Hubungi dukungan teknis OSS untuk memeriksa alasan pembatasan bandwidth dipicu.
getFileStatus muncul dalam pesan kesalahan dari tumpukan pengecualian
Penyebab
Versioning diaktifkan untuk bucket OSS.
Solusi
Periksa apakah versioning diaktifkan atau apakah Anda sebelumnya mengaktifkan versioning.

Hubungi dukungan teknis dari OSS untuk memeriksa apakah ada lebih dari 100.000 penanda hapus dalam bucket atau jalur OSS. Jika ada lebih dari 100.000 penanda hapus, hapus penanda hapus tambahan tersebut.
perintah rm
Perintah rm dengan skipTrash
Perintah rm dengan opsi skipTrash dijalankan dalam dua langkah: operasi getFileStatus dipanggil, lalu operasi delete dipanggil. Jika kesalahan timeout terjadi saat menjalankan perintah rm dengan opsi skipTrash, kesalahan timeout terjadi saat operasi getFileStatus dipanggil. Untuk memperbaiki kesalahan timeout, ikuti petunjuk yang dijelaskan di getFileStatus Muncul dalam Pesan Kesalahan dari Tumpukan Pengecualian.
Perintah rm tanpa skipTrash
Perintah rm tanpa opsi skipTrash dijalankan dalam dua langkah: operasi getFileStatus dipanggil, lalu operasi Rename dipanggil. Jika kesalahan timeout terjadi saat menjalankan perintah rm tanpa skipTrash, ikuti petunjuk yang dijelaskan di getFileStatus Muncul dalam Pesan Kesalahan dari Tumpukan Pengecualian dan Rename Muncul dalam Pesan Kesalahan dari Tumpukan Pengecualian untuk memperbaiki kesalahan tersebut.
skipTrash adalah opsi dari perintah rm. Sebagai contoh, Anda dapat menjalankan perintah hadoop fs -rm -skipTrash oss://bucket/path untuk menghapus objek OSS. Objek yang dihapus tidak dipindahkan ke tempat sampah.
perintah ls
Perintah ls dijalankan dalam dua langkah: operasi getFileStatus dipanggil, lalu operasi listDirectory dipanggil. Jika kesalahan timeout terjadi saat menjalankan perintah ls, kesalahan timeout terjadi saat operasi getFileStatus dipanggil. Untuk memperbaiki kesalahan timeout, ikuti petunjuk yang dijelaskan di getFileStatus Muncul dalam Pesan Kesalahan dari Tumpukan Pengecualian.