全部的报错信息:
error occured
ErrorResponse(code=MissingContentLength, message=You must provide the Content-Length HTTP header., bucketName=taskserver, objectName=11aab1d4a8118e2d13496bdb8dc5f823_192.168.231.1/dump1622014685465.sql, resource=/taskserver/11aab1d4a8118e2d13496bdb8dc5f823_192.168.231.1/dump1622014685465.sql, requestId=16828DD1956BF5AC, hostId=2b4d7524-a9cc-4fd1-a284-617ea405f297)
request={method=POST, url=http://192.168.1.42:9000/taskserver/11aab1d4a8118e2d13496bdb8dc5f823_192.168.231.1/dump1622014685465.sql?uploadId=fef3d251-70ef-4af2-a5e0-486e9f84421c, headers=Host: 192.168.1.42:9000
User-Agent: Minio (amd64; amd64) minio-java/dev
x-amz-content-sha256: 991b65100f5ee7ccc0534687454146b33f88aca593f89a31221dfaa8fe4f0279
x-amz-date: 20210526T073910Z
Authorization: AWS4-HMAC-SHA256 Credential=minioadmin/20210526/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=31a71e4df14ca2f0026bc1eced9059cc84dc2005f46b90e5249f05667f639515
Content-Type: application/octet-stream
Transfer-Encoding: chunked
}
response={code=411, headers=Accept-Ranges: bytes
Content-Length: 461
Content-Security-Policy: block-all-mixed-content
Content-Type: application/xml
Server: MinIO/RELEASE.2020-09-17T04-49-20Z
Vary: Origin
X-Amz-Request-Id: 16828DD1956BF5AC
X-Xss-Protection: 1; mode=block
Date: Wed, 26 May 2021 07:39:07 GMT
OkHttp-Sent-Millis: 1622014751340
OkHttp-Received-Millis: 1622014751623
}
在把大文件上传到minio上时发生了这个错误,如果上传小文件就没有这个问题,这个问题就是说在请求上传的时候在header中没有给定Content-Length的长度。最后在追了一部分原发发现大文件大于5M的时候,minioclient就会分块上传到minio中,在分块的时候有个计算文件长度老是计算不出来,是因为在body的时候总是一个空字符串,然后判断可能是mino的sdk版本有问题,于是升级了一下miniosdk的版本。
原来miniosdk的版本是:
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>3.0.1</version>
</dependency>
现在的版本
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>5.0.3</version>
</dependency>
问题完美解决。