Saat JindoSDK mengakses Object Storage Service (OSS), error berikut mungkin dikembalikan:
[ErrorCode] : 25201 , [ErrorType]: OSS Op Error. [ErrorMessage]: [E1008]Reached timeout=30000ms
Error ini saja tidak cukup untuk mengidentifikasi akar permasalahan. Periksa stack exception atau log konteks untuk menemukan kata kunci yang sesuai dengan skenario Anda, lalu ikuti solusi yang relevan.
Skema stack exception
rename dalam stack exception
Contoh error
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
Penyebab
JindoSDK mengimplementasikan operasi rename dengan memanggil operasi OSS CopyObject. Ketika optimisasi fastcopy OSS belum selesai untuk operasi CopyObject, operasi rename pada JindoSDK mengalami timeout.
Optimisasi fastcopy tidak berlaku untuk jenis objek berikut:
-
Objek yang kelas penyimpanannya bukan Standard, seperti Infrequent Access (IA), Archive, atau Cold Archive
-
Objek bertipe AppendableObject di OSS
-
Objek kecil yang diunggah tanpa unggah multi-bagian
-
Objek yang menggunakan enkripsi sisi server
-
Jenis objek khusus: LINK, SYMLINK, dan DELETEMARKER
Resolusi
-
Hubungi technical supporttechnical supporttechnical supporttechnical support OSS untuk mengonfirmasi pengaturan fastcopy pada
bucket.oss-cn-xxx-internal.aliyuncs.comdan mengidentifikasi penyebab kegagalan optimisasi fastcopy. -
Gunakan JindoSDK hanya untuk mengunggah objek umum dengan kelas penyimpanan Standard. Optimisasi fastcopy bekerja andal pada objek Standard yang bukan termasuk jenis khusus.
InputStream atau Read dalam stack exception
Contoh kesalahan
Read from oss://xxxx with error message: [HostId]: oss-cn-zhangjiakou-internal.aliyuncs.com [ErrorMessage]: [E1008]Reached timeout=30000ms
Penyebab dan resolusi
Error ini memiliki dua kemungkinan penyebab:
-
Cacat SeekRead pada JindoData 4.0.0: Cacat pada operasi SeekRead di JindoData 4.0.0 dapat menyebabkan error ini. Lakukan upgrade JindoData ke versi 4.3.X atau lebih baru. Untuk instruksi upgrade, lihat Upgrade JindoSDK in EMR clusters in the new EMR console.
-
Pembatasan bandwidth OSS: Pembatasan bandwidth OSS dipicu. Hubungi technical supporttechnical supporttechnical supporttechnical support OSS untuk memeriksa alasan pembatasan tersebut.
OutputStream, write, atau Close dalam stack exception
Contoh error
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 : 1008
Penyebab
Pembatasan bandwidth OSS dipicu.
Resolusi
Hubungi technical supporttechnical supporttechnical supporttechnical support OSS untuk memeriksa mengapa pembatasan bandwidth dipicu.
getFileStatus dalam stack exception
Penyebab
Pengendalian versi diaktifkan untuk bucket OSS.
Resolusi
-
Periksa apakah pengendalian versi saat ini diaktifkan atau pernah diaktifkan sebelumnya pada bucket.

-
Hubungi technical supporttechnical supporttechnical supporttechnical support OSS untuk memeriksa apakah terdapat lebih dari 100.000 penanda hapus di bucket atau path tersebut. Jika iya, hapus penanda hapus yang berlebihan.
Skema yang dipicu oleh perintah
rm command
Perintah rm berjalan berbeda tergantung pada apakah opsi -skipTrash digunakan.
-skipTrash menghapus objek secara permanen tanpa memindahkannya ke Trash. Contohnya: hadoop fs -rm -skipTrash oss://bucket/path.Dengan `-skipTrash`
Perintah memanggil getFileStatus lalu delete. Jika terjadi timeout, asalnya dari pemanggilan getFileStatus. Ikuti solusi pada bagian getFileStatus dalam stack exception.
Tanpa `-skipTrash`
Perintah memanggil getFileStatus lalu rename. Jika terjadi timeout, asalnya bisa dari salah satu pemanggilan tersebut. Ikuti solusi pada kedua bagian berikut: getFileStatus dalam stack exception dan rename dalam stack exception.
ls command
Perintah ls memanggil getFileStatus lalu listDirectory. Jika terjadi timeout, asalnya dari pemanggilan getFileStatus. Ikuti solusi pada bagian getFileStatus dalam stack exception.