When JindoSDK accesses Object Storage Service (OSS), it may return the following error:
[ErrorCode] : 25201 , [ErrorType]: OSS Op Error. [ErrorMessage]: [E1008]Reached timeout=30000ms
This error alone is not enough to identify the root cause. Check the exception stack or context logs to find the keyword that matches your scenario, then follow the corresponding fix.
Exception stack scenarios
rename in the exception stack
Sample 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
Cause
JindoSDK implements rename by calling the OSS CopyObject operation. When OSS fastcopy optimization is not complete for the CopyObject operation, the Rename operation of JindoSDK times out.
Fastcopy optimization does not apply to the following object types:
-
Objects whose storage class is not Standard, such as Infrequent Access (IA), Archive, or Cold Archive
-
AppendableObject type objects in OSS
-
Small objects uploaded without multipart upload
-
Objects using server-side encryption
-
Special object types: LINK, SYMLINK, and DELETEMARKER
Resolution
-
Contact OSS technical supporttechnical supporttechnical supporttechnical support to confirm the fastcopy settings on
bucket.oss-cn-xxx-internal.aliyuncs.comand identify why fastcopy optimization failed. -
Use JindoSDK to upload only common objects with the Standard storage class. Fastcopy optimization works reliably on Standard objects that are not of special types.
InputStream or Read in the exception stack
Sample error
Read from oss://xxxx with error message: [HostId]: oss-cn-zhangjiakou-internal.aliyuncs.com [ErrorMessage]: [E1008]Reached timeout=30000ms
Cause and resolution
This error has two possible causes:
-
JindoData 4.0.0 SeekRead defect: A defect in the SeekRead operation of JindoData 4.0.0 can cause this error. Upgrade JindoData to 4.3.X or later. For upgrade instructions, see Upgrade JindoSDK in EMR clusters in the new EMR console.
-
OSS bandwidth throttling: OSS bandwidth throttling is triggered. Contact OSS technical supporttechnical supporttechnical supporttechnical support to check the throttling reason.
OutputStream, write, or Close in the exception stack
Sample 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)
Or:
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
Cause
OSS bandwidth throttling is triggered.
Resolution
Contact OSS technical supporttechnical supporttechnical supporttechnical support to check why bandwidth throttling is triggered.
getFileStatus in the exception stack
Cause
Versioning is enabled for the OSS bucket.
Resolution
-
Check whether versioning is currently enabled or was previously enabled on the bucket.

-
Contact OSS technical supporttechnical supporttechnical supporttechnical support to check whether more than 100,000 delete markers exist in the bucket or path. If they do, remove the excess delete markers.
Command-triggered scenarios
rm command
The rm command runs differently depending on whether the -skipTrash option is used.
-skipTrash option permanently deletes objects without moving them to the Trash. For example: hadoop fs -rm -skipTrash oss://bucket/path.With `-skipTrash`
The command calls getFileStatus then delete. If a timeout occurs, it originates in the getFileStatus call. Follow the fix in getFileStatus in the exception stack.
Without `-skipTrash`
The command calls getFileStatus then rename. If a timeout occurs, it may originate in either call. Follow the fixes in both getFileStatus in the exception stack and rename in the exception stack.
ls command
The ls command calls getFileStatus then listDirectory. If a timeout occurs, it originates in the getFileStatus call. Follow the fix in getFileStatus in the exception stack.