New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MC cp size is bigger than real size #2297
Comments
I think this happens when mc retries a failed request in the middle of the operation. Thanks for reporting it @kybom |
@kybom ,
but I am having hard time reproducing it. |
@kybom , So, at this point, we need your help on reproducing the issue. |
@ebozduman This issue is still reproducible on my system. The file size is 1708801009 Bytes. One file. |
Just a copy |
Which version of mc are you using ?. Can you use the latest and let us know if it's reproducible ? |
how to solve the issue
|
This is expected the object storage you are using uses incompatible http header values on objects. This is part of Go http client we do not have control on this. So we cannot fix it. The object storage you are using is implemented incorrectly in following HTTP spec. https://github.com/golang/net/blob/master/lex/httplex/httplex.go#L270 You should ask your object storage vendor to fix this properly and follow http spec. |
Btw is your server by any chance minio ? |
const Async = require('async')
const AWS = require('aws-sdk')
const UUID = require('node-uuid')
var options = {
accessKey: 'USWUXHGYZQYFYFFIT3RE',
secretKey: 'MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03',
region: 'us-east-1',
endpoint: 'http://localhost:9000'
};
let s3opts = {
signatureVersion: 'v4',
accessKeyId: options.accessKey,
secretAccessKey: options.secretKey,
region: options.region,
}
s3opts = Object.assign(s3opts, {
endpoint: options.endpoint,
s3ForcePathStyle: true,
s3BucketEndpoint: false,
sslEnabled: false,
})
var s3Client = new AWS.S3(s3opts);
var bucket = "testbucket";
s3Client.putObject({
Bucket: bucket,
Key: "my-objectname",
Metadata: {"security.selinux": "unconfined_u:object_r:user_home_t:s0\x00"},
}, (err, data) => {
if (err) {
console.log(err);
}
console.log(data);
}) This example throws an error
This is the expected error i would see on AWS SDKs, Minio SDKs - i am not sure how you created an object with the header value which is incorrect according to HTTP spec. |
The release mc version does not the net/HTTP error. The lastest commit has the error"net/http...". |
I do not follow anything that is being said here can you open a new issue and close this one? @kybom |
Hey @kybom , Sorry, but we are kind of confused here. Please clarify the followings:
which tells us you've used the dev code, but now you say Please clarify which one it is. If it was the release version, which mc release was it? By any chance, if the original version info is incorrect/wrong, please modify and correct it.
Thanks for all your help... |
Back to the size error.I download mc from https://dl.minio.io/client/mc/release/linux-amd64/mc. |
We are not able to reproduce this on our end @kybom |
@kybom , unless you have more information, we close this issue for the time being, since we couldn't reproduce it and make any progress on it. |
Re-opening as I was able to reproduce a behavior where
|
Sent the PR minio/minio-go#1070 we need also |
This is fixed already minio/minio-go#1070 |
Expected behaviour
MC cp size is equal to real zise.
Actual behaviour
mc cp size(1.6G) is bigger than real zise(1.59G).
Steps to reproduce the behaviour
mc version
mc version
)Version: DEVELOPMENT.GOGET
Release-tag: DEVELOPMENT.GOGET
Commit-id: DEVELOPMENT.GOGE
System information
centos 6.5
The text was updated successfully, but these errors were encountered: