小编dee*_*dee的帖子

并非所有字节都从S3ObjectInputStream中读取,从而中止HTTP连接

我最近不得不升级到aws-java-sdk 1.11.108.我有一个java程序,它将s3对象(大小为8到10 GB)下载到EC2框并将其作为流处理.这个程序已经工作了2年多没有任何问题,但在更新到aws-java-sdk的最新版本后,我的文件下载在日志中中止了以下WARN消息(无例外)

WARN:com.amazonaws.services.s3.internal.S3AbortableInputStream - Not all bytes were read from the S3ObjectInputStream, aborting HTTP connection. This is likely an error and may result in sub-optimal behavior. Request only the bytes you need via a ranged GET or drain the input stream after use.

S3Object s3Obj = s3client.getObject(new GetObjectRequest(bucketName, s3FileName));
Reader reader = new BufferedReader(new InputStreamReader(new  GZIPInputStream(s3Obj.getObjectContent());
Run Code Online (Sandbox Code Playgroud)

如果有人可以告诉为什么流静默地中止而不抛出任何异常,我会很感激,以及使它工作的最佳方法是什么.

谢谢

aws-java-sdk

11
推荐指数
1
解决办法
3413
查看次数

标签 统计

aws-java-sdk ×1