-
Notifications
You must be signed in to change notification settings - Fork 50
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
Update mint to latest SDK releases and unify log output #141
Conversation
@harshavardhana older |
It was intended because to be consistent with all libraries, it was a mistake. We corrected it. |
Thanks. PR is ready for review now. |
@@ -15,7 +15,7 @@ | |||
# limitations under the License. | |||
# | |||
|
|||
MINIO_GO_VERSION="v3.0.2" | |||
MINIO_GO_VERSION="3.0.3" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
are we going to wait for the new release of go sdk? or just use the 3.0.3 version
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can move with 3.0.3 unless mint depends on 4.0.0
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not that I know of, so we are good.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
due to the failure below, I think we should wait for minio-go
4.0.0 if that is not too far.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
travis seems to fail because go-humanize package isn't pulled in.
72adf96
to
ca714de
Compare
Updated the PR @harshavardhana @poornas There are couple of failures currently:
Need to verify if these are issues at mint end or server issues. |
For
has removed |
mint.sh
Outdated
mkdir -p "$BASE_LOG_DIR/$sdk_name" | ||
|
||
(cd "$sdk_dir" && ./run.sh "$BASE_LOG_DIR/$sdk_name/$OUTPUT_LOG_FILE" "$BASE_LOG_DIR/$sdk_name/$ERROR_LOG_FILE") | ||
(cd "$sdk_dir" && ./run.sh "$BASE_LOG_DIR/$LOG_FILE" "$BASE_LOG_DIR/$ERROR_FILE") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If all SDKs write error into one file, how do we relate error message with SDK?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@balamurugana the assumption is that errors reported will be build issues and other uncaught errors while running the tests (if at all, small number of errors reported), and can be identified as each language has it own way to report, but I can add separate directories as earlier if you think that is more clearer.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As there is no indication on what sdk throws the error, it is not identifiable by seeing the log, hence you would need to have separate directory for each sdk
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
run/core/mc/test.sh
Outdated
@@ -494,7 +494,7 @@ function test_put_object_error() { | |||
|
|||
# if make bucket succeeds, try to upload an object with invalid name | |||
if [ $rv -eq 0 ]; then | |||
function="${MC_CMD} cp $MINT_DATA_DIR/datafile-1-MB ${SERVER_ALIAS}/${bucket_name}//2123123\123" | |||
function="${MC_CMD} cp $MINT_DATA_DIR/datafile-1-MB ${SERVER_ALIAS}/${bucket_name}//2123123..123" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
\1
and .
are different value
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
\
is causing error with parsing of json, let me try to find a way to keep \
and still parse json properly
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you need to json encode the string
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
@nitisht, the minio-go failure is not related withPutObjectWithSize() removal since you are pulling by the 3.0.3 release tag. |
@poornas yes I meant with current HEAD of minio-go repo all functional tests pass, while mint fails as it pulls version |
With #144 |
{"name":"aws-sdk-php","function":"getBucketLocation ( array $params = [] )","args":{"Bucket":"aws-sdk-php-bucket-03412"},"duration":"5","status":"PASS"}
{"name":"aws-sdk-php","function":"listBuckets ( array $params = [] )","args":[],"duration":"12","status":"PASS"}
{"name":"aws-sdk-php","function":"listObjects ( array $params = [] )","args":{"Bucket":"aws-sdk-php-bucket-03412","Object":"obj1"},"duration":"76","status":"PASS"}
{"name":"aws-sdk-php","function":"listMultipartUploads ( array $params = [] )","args":{"Bucket":"aws-sdk-php-bucket-03412","Object":"obj1"},"duration":"65","status":"PASS"}
{"name":"aws-sdk-php","function":"headBucket ( array $params = [] )","args":["aws-sdk-php-bucket-03412","aws-sdk-php-bucket-01342"],"duration":"80","status":"PASS"}
{"name":"aws-sdk-php","function":"headObject ( array $params = [] )","args":{"aws-sdk-php-bucket-03412":"obj1","aws-sdk-php-bucket-01342":"obj2"},"duration":"3","status":"PASS"}
{"name":"aws-sdk-php","function":"getObject ( array $params = [] )","args":{"Bucket":"aws-sdk-php-bucket-03412","Object":"obj1"},"duration":"8","status":"PASS"}
{"name":"aws-sdk-php","function":"copyObject ( array $params = [] )","args":{"Bucket":"aws-sdk-php-bucket-03412","Object":"obj1"},"duration":"10","status":"PASS"}
{"name":"aws-sdk-php","function":"deleteObjects (array $params = [] )","args":{"Bucket":"aws-sdk-php-bucket-03412","Object":"obj1"},"duration":"-977","status":"PASS"}
{"name":"aws-sdk-php","function":"anonDeleteObjects ( array $params = [] )","args":{"Bucket":"aws-sdk-php-bucket-03412","Object":"obj1"},"duration":"25","status":"PASS"}
{"name":"aws-sdk-php","function":"createMultipartUpload ( array $params = [] )","args":{"Bucket":"aws-sdk-php-bucket-03412","Object":"obj1"},"duration":"175","status":"PASS"}
{"name":"aws-sdk-php","function":"uploadPart ( array $params = [] )","args":{"Bucket":"aws-sdk-php-bucket-03412","Object":"obj1"},"duration":"164","status":"PASS"}
{"name":"aws-sdk-php","function":"abortMultipartupload ( array $params = [] )","args":{"Bucket":"aws-sdk-php-bucket-03412","Object":"obj1"},"duration":"19","status":"PASS"}
{"name":"aws-sdk-php","function":"getBucketPolicy ( array $params = [] )","args":{"Bucket":"aws-sdk-php-bucket-24301"},"duration":"21","status":"PASS"}
{"name":"aws-sdk-ruby","function":"listBuckets()","args":{},"duration":36.23,"status":"PASS"}
{"name":"aws-sdk-ruby","function":"listObjects(bucket_name)","args":{"bucket_name":"cf1bddb85964"},"duration":208.85,"status":"PASS"}
{"name":"aws-sdk-ruby","function":"makeBucket(bucket_name)","args":{"bucket_name":"cf1bddb85964"},"duration":19.04,"status":"PASS"}
{"name":"aws-sdk-ruby","function":"bucketExists?(bucket_name)","args":{"bucket_name":"non-existing-bucket"},"duration":5.25,"status":"PASS"}
{"name":"aws-sdk-ruby","function":"removeBucket(bucket_name)","args":{"bucket_name":"cf1bddb85964"},"duration":13.37,"status":"PASS"}
{"name":"aws-sdk-ruby","function":"putObject(bucket_name,file)","args":{"bucket_name":"cf1bddb85964","file":"/mint/data/datafile-1-MB"},"duration":37.6,"status":"PASS"}
{"name":"aws-sdk-ruby","function":"removeObject(bucket_name,file)","args":{"bucket_name":"cf1bddb85964","file":"/mint/data/datafile-1-MB"},"duration":31.48,"status":"PASS"}
{"name":"aws-sdk-ruby","function":"getObject(bucket_name,file,destination)","args":{"bucket_name":"cf1bddb85964","file":"/mint/data/datafile-1-MB","destination":"/tmp"},"duration":51.15,"status":"PASS"}
{"name":"aws-sdk-ruby","function":"copyObject(source_bucket_name,target_bucket_name,source_file_name,target_file_name)","args":{"source_bucket_name":"cf1bddb85964","target_bucket_name":"e139af8cf9d3","source_file_name":"datafile-1-MB","target_file_name":""},"duration":68.5,"status":"PASS"}
{"name":"aws-sdk-ruby","function":"copyObject(source_bucket_name,target_bucket_name,source_file_name,target_file_name)","args":{"source_bucket_name":"cf1bddb85964","target_bucket_name":"e139af8cf9d3","source_file_name":"datafile-1-MB","target_file_name":"datafile-1-MB-copy"},"duration":82.61,"status":"PASS"}
{"name":"aws-sdk-ruby","function":"presignedGet(bucket_name,file_name)","args":{"bucket_name":"cf1bddb85964","file_name":"datafile-1-MB"},"duration":47.84,"status":"PASS"}
{"name":"aws-sdk-ruby","function":"presignedPut(bucket_name,file_name)","args":{"bucket_name":"cf1bddb85964","file_name":"datafile-1-MB"},"duration":59.69,"status":"PASS"}
{"name":"aws-sdk-ruby","function":"presignedPost(bucket_name,file_name,expires_in_sec,max_byte_size)","args":{"bucket_name":"cf1bddb85964","file_name":"datafile-1-MB","expires_in_sec":60,"max_byte_size":3145728},"duration":48.14,"status":"PASS"}
{"name": "awscli", "duration": "1144", "function": "delete_bucket", "status": "PASS"}
{"name": "awscli", "duration": "1529", "function": "aws --endpoint-url http://127.0.0.1:9000 s3api get-object --bucket awscli-mint-test-bucket-4325 --key datafile-1-MB /tmp/datafile-1-MB", "status": "PASS"}
{"name": "awscli", "duration": "2674", "function": "aws --endpoint-url http://127.0.0.1:9000 s3api list-objects --bucket awscli-mint-test-bucket-27049 --prefix datafile-1-MB", "status": "PASS"}
{"name": "awscli", "duration": "2338", "function": "aws --endpoint-url http://127.0.0.1:9000 s3api create-multipart-upload --bucket awscli-mint-test-bucket-6739 --key awscli-mint-test-bucket-6739-object", "status": "PASS"}
{"name": "awscli", "duration": "1566", "function": "aws --endpoint-url http://127.0.0.1:9000 s3api copy-object --bucket awscli-mint-test-bucket-17882 --key datafile-1-MB-copy --copy-source awscli-mint-test-bucket-17882/datafile-1-MB", "status": "PASS"}
{"name": "awscli", "duration": "1527", "function": "aws --endpoint-url http://127.0.0.1:9000 s3 presign s3://awscli-mint-test-bucket-6638/datafile-1-MB", "status": "PASS"}
{"name": "awscli", "duration": "2264", "function": "aws --endpoint-url http://127.0.0.1:9000 s3 cp /mint/data/datafile-65-MB s3://awscli-mint-test-bucket-3140/datafile-65-MB", "status": "PASS"}
{"name": "awscli", "duration": "2499", "function": "aws --endpoint-url http://127.0.0.1:9000 s3 sync /mint/data s3://awscli-mint-test-bucket-7615/", "status": "PASS"}
{"name": "awscli", "duration": "2489", "function": "aws --endpoint-url http://127.0.0.1:9000 s3api list-objects-v2 --bucket awscli-mint-test-bucket-24054 --prefix datafile-1-MB --max-keys=-1", "status": "PASS"}
{"name": "awscli", "duration": "5061", "function": "aws --endpoint-url http://127.0.0.1:9000 s3api put-object --body /mint/data/datafile-1-MB --bucket awscli-mint-test-bucket-10596 --key datafile-1-MB --content-length -1", "status": "PASS"}
{"name": "mc", "duration": "18", "function": "delete_bucket\n", "status": "PASS"}
{"name": "mc", "duration": "111", "function": "./mc cp --json target/mc-mint-test-bucket-19889/datafile-1-MB /tmp\n", "status": "PASS"}
{"name": "mc", "duration": "1074", "function": "./mc cp --json target/mc-mint-test-bucket-18517/datafile-65-MB /tmp\n", "status": "PASS"}
{"name": "mc", "duration": "79", "function": "./mc share --json upload target/mc-mint-test-bucket-29581/datafile-1-MB\n", "status": "PASS"}
{"name": "mc", "duration": "73", "function": "./mc share --json download target/mc-mint-test-bucket-11035/datafile-1-MB\n", "status": "PASS"}
{"name": "mc", "duration": "1149", "function": "./mc mirror -q /mint/data target/mc-mint-test-bucket-29488\n", "status": "PASS"}
{"name": "mc", "duration": "53", "function": "./mc cat target/mc-mint-test-bucket-18894/run.sh\n", "status": "PASS"}
{"name": "mc", "duration": "6", "function": "./mc mb target/Mc-mint-test-bucket-23039\n", "status": "PASS"}
{"name": "mc", "duration": "44", "function": "./mc cp /mint/data/datafile-1-MB target/mc-mint-test-bucket-12643//2123123\\123\n", "status": "PASS"}
{"args":{"bucketName":"","region":"eu-west-1"},"duration":0,"function":"MakeBucket(bucketName, region)","message":"Skipped region functional tests for non s3 runs","name":"minio-go","status":"na"}
{"args":{"bucketName":"minio-go-testo9c1p594umlmgttj5","objectName":"yv0fyfmvft6lgzt6k4abr0k9lac1ky","region":"eu-west-1"},"duration":7,"function":"MakeBucket(bucketName, region)","name":"minio-go","status":"pass"}
{"args":{"bucketName":"minio-go-testeyoqf95yozp5rirod","objectName":"minio-go-testeyoqf95yozp5rirod-resumable"},"duration":18,"function":"RemoveIncompleteUpload(bucketName, objectName)","name":"minio-go","status":"pass"}
{"args":{"bucketName":"minio-go-testgqtiwdfheyqobfqfb","contentType":"","fileName":"/tmp/FPutObjectTest909147429.gtar","objectName":"minio-go-testgqtiwdfheyqobfqfbFPutObject-Octet"},"duration":126,"function":"FPutObject(bucketName, objectName, fileName, contentType)","name":"minio-go","status":"pass"}
{"args":{"bucketName":"","region":"eu-west-1"},"duration":0,"function":"MakeBucket(bucketName, region)","message":"Skipped region functional tests for non s3 runs","name":"minio-go","status":"na"}
{"args":{"bucketName":"minio-go-testhuv6vk5nl4hovt4yz","objectName":"z9j60fbs12tnplzhgbbm2ht1s6zs46"},"duration":9,"function":"GetObject(bucketName, objectName)","name":"minio-go","status":"pass"}
{"args":{"bucketName":"minio-go-teste4dt5dep136imljzi","objectName":"qpp3jyzpfn6ikyfdk2bz3u3yydrino"},"duration":16,"function":"GetObject(bucketName, objectName)","name":"minio-go","status":"pass"}
{"args":{"destination":{},"source":{"Headers":{"X-Amz-Copy-Source":["minio-go-test3pwzk0jsd2pm51xo1/v3mv2lxwnk6u0dgky6ifdn0z1otvs4"],"X-Amz-Copy-Source-If-Match":["e97d38a12b328763263c014bde047514"],"X-Amz-Copy-Source-If-Modified-Since":["Mon, 31 Mar 2014 00:00:00 GMT"]}}},"duration":26,"function":"CopyObject(destination, source)","name":"minio-go","status":"pass"}
{"args":{},"duration":47,"function":"testFunctionalV2()","name":"minio-go","status":"pass"}
{"args":{},"duration":28,"function":"testComposeObjectErrorCasesWrapper(minioClient)","name":"minio-go","status":"pass"}
{"args":{"destination":{},"sources":[{"Headers":{"X-Amz-Copy-Source":["minio-go-testzpik9r3dbwnco2eqm/srcObject"],"X-Amz-Copy-Source-If-Match":["2b5c91ad399409ec9b409b66f5bb00fb"],"X-Amz-Copy-Source-Range":["bytes=0-5242879"]}},{"Headers":{"X-Amz-Copy-Source":["minio-go-testzpik9r3dbwnco2eqm/srcObject"],"X-Amz-Copy-Source-If-Match":["2b5c91ad399409ec9b409b66f5bb00fb"],"X-Amz-Copy-Source-Range":["bytes=0-5242879"]}},{"Headers":{"X-Amz-Copy-Source":["minio-go-testzpik9r3dbwnco2eqm/srcObject"],"X-Amz-Copy-Source-If-Match":["2b5c91ad399409ec9b409b66f5bb00fb"],"X-Amz-Copy-Source-Range":["bytes=0-5242879"]}},{"Headers":{"X-Amz-Copy-Source":["minio-go-testzpik9r3dbwnco2eqm/srcObject"],"X-Amz-Copy-Source-If-Match":["2b5c91ad399409ec9b409b66f5bb00fb"],"X-Amz-Copy-Source-Range":["bytes=0-5242879"]}},{"Headers":{"X-Amz-Copy-Source":["minio-go-testzpik9r3dbwnco2eqm/srcObject"],"X-Amz-Copy-Source-If-Match":["2b5c91ad399409ec9b409b66f5bb00fb"],"X-Amz-Copy-Source-Range":["bytes=0-5242879"]}},{"Headers":{"X-Amz-Copy-Source":["minio-go-testzpik9r3dbwnco2eqm/srcObject"],"X-Amz-Copy-Source-If-Match":["2b5c91ad399409ec9b409b66f5bb00fb"],"X-Amz-Copy-Source-Range":["bytes=0-5242879"]}},{"Headers":{"X-Amz-Copy-Source":["minio-go-testzpik9r3dbwnco2eqm/srcObject"],"X-Amz-Copy-Source-If-Match":["2b5c91ad399409ec9b409b66f5bb00fb"],"X-Amz-Copy-Source-Range":["bytes=0-5242879"]}},{"Headers":{"X-Amz-Copy-Source":["minio-go-testzpik9r3dbwnco2eqm/srcObject"],"X-Amz-Copy-Source-If-Match":["2b5c91ad399409ec9b409b66f5bb00fb"],"X-Amz-Copy-Source-Range":["bytes=0-5242879"]}},{"Headers":{"X-Amz-Copy-Source":["minio-go-testzpik9r3dbwnco2eqm/srcObject"],"X-Amz-Copy-Source-If-Match":["2b5c91ad399409ec9b409b66f5bb00fb"],"X-Amz-Copy-Source-Range":["bytes=0-5242879"]}},{"Headers":{"X-Amz-Copy-Source":["minio-go-testzpik9r3dbwnco2eqm/srcObject"],"X-Amz-Copy-Source-If-Match":["2b5c91ad399409ec9b409b66f5bb00fb"],"X-Amz-Copy-Source-Range":["bytes=0-0"]}}]},"duration":277,"function":"ComposeObject(destination, sources)","name":"minio-go","status":"pass"}
{"args":{},"duration":69,"function":"testEncryptedCopyObjectWrapper(minioClient)","name":"minio-go","status":"pass"}
{"args":{"destination":{},"source":[{"Headers":{"X-Amz-Copy-Source":["minio-go-testqlfj4pkmgmvihzxte/srcObject"],"X-Amz-Copy-Source-If-Match":["91be0b892e47ede9de06aac14ca0369e"],"X-Amz-Copy-Source-Range":["bytes=0-5242879"]}},{"Headers":{"X-Amz-Copy-Source":["minio-go-testqlfj4pkmgmvihzxte/srcObject"],"X-Amz-Copy-Source-If-Match":["91be0b892e47ede9de06aac14ca0369e"],"X-Amz-Copy-Source-Range":["bytes=0-5242879"]}}]},"duration":233,"function":"ComposeObject(destination, sources)","name":"minio-go","status":"pass"}
{"args":{"bucketName":"","metadata":null,"objectName":"","size":0},"duration":10,"function":"PutObjectWithSize(bucketName, objectName, reader, size, metadata, progress)","name":"minio-go","status":"pass"}
{"args":{"bucketName":"minio-go-testel665uwognth3j1qa","metadata":null,"objectName":"minio-go-testel665uwognth3j1qaunique","size":-1},"duration":303,"function":"PutObjectWithSize(bucketName, objectName, reader, size, metadata, progress)","name":"minio-go","status":"pass"}
{"args":{"bucketName":"minio-go-testz0jny2xparvp10wfh","objectName":"minio-go-testz0jny2xparvp10wfhunique4"},"duration":6519,"function":"PutObjectStreaming(bucketName, objectName, reader)","name":"minio-go","status":"pass"}
{"args":{"bucketName":"","region":"eu-central-1"},"duration":0,"function":"MakeBucket(bucketName, region)","message":"Skipped region functional tests for non s3 runs","name":"minio-go","status":"na"}
{"args":{"bucketName":"","region":"eu-central-1"},"duration":0,"function":"MakeBucket(bucketName, region)","message":"Skipped region functional tests for non s3 runs","name":"minio-go","status":"na"}
{"args":{"bucketName":"minio-go-test5dzq52lflr9gwbvqm","metadata":{"Content-Type":["custom/contenttype"]},"objectName":"nu6335q9lcb95qhlmwegh9rqwfuk1w"},"duration":463,"function":"PutObjectWithMetadata(bucketName, objectName, reader, metadata, progress)","name":"minio-go","status":"pass"}
{"args":{"bucketName":"minio-go-testwuy1a61zfjqcc1bpf","objectContentType":"binary/octet-stream","objectName":"z1msr9uo6lhauyqhvf1tuc4bnqxt96"},"duration":481,"function":"PutObject(bucketName, objectName, reader, objectContentType)","name":"minio-go","status":"pass"}
{"args":{"bucketName":"minio-go-test2tfw1lly5tp13gvji","objectName":"test-object"},"duration":21,"function":"PutObjectStreaming(bucketName, objectName, reader)","name":"minio-go","status":"pass"}
{"args":{"bucketName":"minio-go-testxhngr96454ux26s4n","isRecursive":true,"objectName":"minio-go-testxhngr96454ux26s4n-resumable"},"duration":1116,"function":"ListIncompleteUploads(bucketName, objectName, isRecursive, doneCh)","name":"minio-go","status":"pass"}
{"args":{"bucketName":"minio-go-testetfnroqp0q4xfc5tn","objectName":"iatey94lzb1dkulwohxbdjoz9jc6fr"},"duration":8,"function":"GetObject(bucketName, objectName)","name":"minio-go","status":"pass"}
{"args":{"bucketName":"minio-go-testk1kkzxxwbhu0xrfmm","objectName":"fv111dxssblnvswatx5m1wqlttylwl"},"duration":7,"function":"GetObject(bucketName, objectName)","name":"minio-go","status":"pass"}
{"args":{"bucketName":"minio-go-test4noiqkzkdc26r1lod"},"duration":10307,"function":"RemoveObjects(bucketName, objectsCh)","name":"minio-go","status":"pass"}
{"args":{"bucketName":"minio-go-testcdhkcyxikzd9uhwun","objectName":"minio-go-testcdhkcyxikzd9uhwun-resumable"},"duration":248,"function":"RemoveIncompleteUpload(bucketName, objectName)","name":"minio-go","status":"pass"}
{"args":{"bucketName":"minio-go-testcqq4pk52qvh0wiotg","fileName":"","objectContentType":"testapplication/octet-stream","objectName":"minio-go-testcqq4pk52qvh0wiotgFPutObject-standard"},"duration":458,"function":"FPutObject(bucketName, objectName, fileName, objectContentType)","name":"minio-go","status":"pass"}
{"args":{"bucketName":"","objectName":"minio-go-test6v9pngp1areno5wuhFPutObject"},"duration":2597,"function":"FPutObject(bucketName, objectName, fileName, objectContentType)","name":"minio-go","status":"pass"}
{"args":{"bucketName":"minio-go-test1edhm6bhdx44k9hsm","objectName":"w44puacngeleehsbeywjjgr0w95bfp"},"duration":9,"function":"GetObject(bucketName, objectName)","name":"minio-go","status":"pass"}
{"args":{"bucketName":"minio-go-test6ppvwv2ao9tesrw3v","objectName":"gp4ojflk9jojz55febhrl4wt2w9pej"},"duration":23,"function":"GetObject(bucketName, objectName)","name":"minio-go","status":"pass"}
{"args":{"policy":{}},"duration":17,"function":"PresignedPostPolicy(policy)","name":"minio-go","status":"pass"}
{"args":{"dst":{},"src":{"Headers":{"X-Amz-Copy-Source":["minio-go-testkw1rxipb6mkbk9zbi/4iawxdh5fn2x4qhjqfyq4mcne0ehni"],"X-Amz-Copy-Source-If-Match":["e97d38a12b328763263c014bde047514"],"X-Amz-Copy-Source-If-Modified-Since":["Mon, 31 Mar 2014 00:00:00 GMT"]}}},"duration":43,"function":"CopyObject(dst, src)","name":"minio-go","status":"pass"}
{"args":{"bucketName":"minio-go-test93vaqhjr12kx1yulj","cbcMaterials":{},"metadata":"custom/contenttype","objectName":"5tscx3ghmwevzpwla4449tplgq6doq"},"duration":4119,"function":"PutEncryptedObject(bucketName, objectName, reader, cbcMaterials, metadata, progress)","name":"minio-go","status":"pass"}
{"args":{},"duration":48,"function":"testComposeObjectErrorCasesWrapper(minioClient)","name":"minio-go","status":"pass"}
{"args":{"destination":{},"sources":[{"Headers":{"X-Amz-Copy-Source":["minio-go-test5mt24tsw0pehjz6oa/srcObject"],"X-Amz-Copy-Source-If-Match":["2b5c91ad399409ec9b409b66f5bb00fb"],"X-Amz-Copy-Source-Range":["bytes=0-5242879"]}},{"Headers":{"X-Amz-Copy-Source":["minio-go-test5mt24tsw0pehjz6oa/srcObject"],"X-Amz-Copy-Source-If-Match":["2b5c91ad399409ec9b409b66f5bb00fb"],"X-Amz-Copy-Source-Range":["bytes=0-5242879"]}},{"Headers":{"X-Amz-Copy-Source":["minio-go-test5mt24tsw0pehjz6oa/srcObject"],"X-Amz-Copy-Source-If-Match":["2b5c91ad399409ec9b409b66f5bb00fb"],"X-Amz-Copy-Source-Range":["bytes=0-5242879"]}},{"Headers":{"X-Amz-Copy-Source":["minio-go-test5mt24tsw0pehjz6oa/srcObject"],"X-Amz-Copy-Source-If-Match":["2b5c91ad399409ec9b409b66f5bb00fb"],"X-Amz-Copy-Source-Range":["bytes=0-5242879"]}},{"Headers":{"X-Amz-Copy-Source":["minio-go-test5mt24tsw0pehjz6oa/srcObject"],"X-Amz-Copy-Source-If-Match":["2b5c91ad399409ec9b409b66f5bb00fb"],"X-Amz-Copy-Source-Range":["bytes=0-5242879"]}},{"Headers":{"X-Amz-Copy-Source":["minio-go-test5mt24tsw0pehjz6oa/srcObject"],"X-Amz-Copy-Source-If-Match":["2b5c91ad399409ec9b409b66f5bb00fb"],"X-Amz-Copy-Source-Range":["bytes=0-5242879"]}},{"Headers":{"X-Amz-Copy-Source":["minio-go-test5mt24tsw0pehjz6oa/srcObject"],"X-Amz-Copy-Source-If-Match":["2b5c91ad399409ec9b409b66f5bb00fb"],"X-Amz-Copy-Source-Range":["bytes=0-5242879"]}},{"Headers":{"X-Amz-Copy-Source":["minio-go-test5mt24tsw0pehjz6oa/srcObject"],"X-Amz-Copy-Source-If-Match":["2b5c91ad399409ec9b409b66f5bb00fb"],"X-Amz-Copy-Source-Range":["bytes=0-5242879"]}},{"Headers":{"X-Amz-Copy-Source":["minio-go-test5mt24tsw0pehjz6oa/srcObject"],"X-Amz-Copy-Source-If-Match":["2b5c91ad399409ec9b409b66f5bb00fb"],"X-Amz-Copy-Source-Range":["bytes=0-5242879"]}},{"Headers":{"X-Amz-Copy-Source":["minio-go-test5mt24tsw0pehjz6oa/srcObject"],"X-Amz-Copy-Source-If-Match":["2b5c91ad399409ec9b409b66f5bb00fb"],"X-Amz-Copy-Source-Range":["bytes=0-0"]}}]},"duration":333,"function":"ComposeObject(destination, sources)","name":"minio-go","status":"pass"}
{"args":{"destination":{},"source":[{"Headers":{"X-Amz-Copy-Source":["minio-go-testqwhtvq0s1yom5tgl9/srcObject"],"X-Amz-Copy-Source-If-Match":["91be0b892e47ede9de06aac14ca0369e"],"X-Amz-Copy-Source-Range":["bytes=0-5242879"]}},{"Headers":{"X-Amz-Copy-Source":["minio-go-testqwhtvq0s1yom5tgl9/srcObject"],"X-Amz-Copy-Source-If-Match":["91be0b892e47ede9de06aac14ca0369e"],"X-Amz-Copy-Source-Range":["bytes=0-5242879"]}}]},"duration":1048,"function":"ComposeObject(destination, sources)","name":"minio-go","status":"pass"}
{"args":{},"duration":79,"function":"testEncryptedCopyObjectWrapper(minioClient)","name":"minio-go","status":"pass"}
{"args":{"bucketName":""},"duration":0,"function":"SetBucketNotification(bucketName)","message":"Skipped notification test as it is not configured","name":"minio-go","status":"na"}
{"args":{"bucketName":"minio-go-testt4zh9kwoxyu0b3xdd"},"duration":70,"function":"testFunctional()","name":"minio-go","status":"pass"}
{"args":{"bucketName":"minio-go-test5t5qxfrjpbd9go4ut","objectName":""},"duration":13,"function":"GetObject(bucketName, objectName)","name":"minio-go","status":"pass"}
{"args":{"bucketName":"minio-go-testrnoo0frs1rwrh2w5d","contentType":"binary/octet-stream","fileToUpload":{},"objectName":"test-file-3984373741"},"duration":24,"function":"PutObject(bucketName, objectName, fileToUpload, contentType)","name":"minio-go","status":"pass"}
{"name":"minio-java","function":"makeBucket(String bucketName)","duration":155,"status":"PASS"}
{"name":"minio-java","function":"listBuckets()","duration":28,"status":"PASS"}
{"name":"minio-java","function":"bucketExists(String bucketName)","duration":14,"status":"PASS"}
{"name":"minio-java","function":"removeBucket(String bucketName)","duration":10,"status":"PASS"}
{"name":"minio-java","function":"putObject(String bucketName, String objectName, String filename)","args":"filename: 1MB","duration":101,"status":"PASS"}
{"name":"minio-java","function":"putObject(String bucketName, String objectName, String filename)","args":"filename: 65MB","duration":1145,"status":"PASS"}
{"name":"minio-java","function":"putObject(String bucketName, String objectName, String filename, String contentType)","args":"contentType: application/javascript","duration":28,"status":"PASS"}
{"name":"minio-java","function":"putObject(String bucketName, String objectName, InputStream body, long size, String contentType)","args":"size: 1 MB, objectName: application/javascript","duration":108,"status":"PASS"}
{"name":"minio-java","function":"putObject(String bucketName, String objectName, InputStream body, long size, String contentType)","args":"contentType: null, size: 13631488","duration":877,"status":"PASS"}
{"name":"minio-java","function":"putObject(String bucketName, String objectName, InputStream body, long size, String contentType)","args":"size: 1 MB, contentType: application/javascript","duration":111,"status":"PASS"}
{"name":"minio-java","function":"putObject(String bucketName, String objectName, InputStream body, String contentType)","args":"contentType: application/javascript","duration":156,"status":"PASS"}
{"name":"minio-java","function":"putObject(String bucketName, String objectName, InputStream body, String contentType)","args":"contentType: application/javascript","duration":12874,"status":"PASS"}
{"name":"minio-java","function":"putObject(String bucketName, String objectName, InputStream stream, long size, String contentType, SecretKey key)","args":"size: 13 MB","duration":436,"status":"PASS"}
{"name":"minio-java","function":"putObject(String bucketName, String objectName, InputStream stream, long size, String contentType, KeyPair keyPair)","args":"size: 13 MB","duration":522,"status":"PASS"}
{"name":"minio-java","function":"putObject(String bucketName, String objectName, InputStream stream, long size, Map<String, String> headerMap)","args":"size: 13 MB","duration":568,"status":"PASS"}
{"name":"minio-java","function":"statObject(String bucketName, String objectName)","duration":33,"status":"PASS"}
{"name":"minio-java","function":"getObject(String bucketName, String objectName)","duration":193,"status":"PASS"}
{"name":"minio-java","function":"getObject(String bucketName, String objectName, long offset)","args":"offset: 1000","duration":206,"status":"PASS"}
{"name":"minio-java","function":"getObject(String bucketName, String objectName, long offset, Long length)","args":"offset: 1000, length: 1 MB","duration":180,"status":"PASS"}
{"name":"minio-java","function":"getObject(String bucketName, String objectName, String filename)","duration":179,"status":"PASS"}
{"name":"minio-java","function":"getObject(String bucketName, String objectName, String filename)","args":"objectName: path/to/minio-java-test-1806apj","duration":209,"status":"PASS"}
{"name":"minio-java","function":"getObject(String bucketName, String objectName, SecretKey key)","duration":425,"status":"PASS"}
{"name":"minio-java","function":"getObject(String bucketName, String objectName, KeyPair keyPair)","duration":421,"status":"PASS"}
{"name":"minio-java","function":"listObjects(final String bucketName)","duration":35,"status":"PASS"}
{"name":"minio-java","function":"listObjects(final String bucketName, final String prefix)","args":"prefix :minio","duration":49,"status":"PASS"}
{"name":"minio-java","function":"listObjects(final String bucketName, final String prefix, final boolean recursive)","args":"prefix :minio, recursive: true","duration":56,"status":"PASS"}
{"name":"minio-java","function":"listObjects(final String bucketName, final String prefix, final boolean recursive)","args":"prefix :minioemptybucket, recursive: true","duration":6,"status":"PASS"}
{"name":"minio-java","function":"listObjects(final String bucketName, final String prefix, final boolean recursive)","args":"prefix :minio, recursive: true","duration":11953,"status":"PASS"}
{"name":"minio-java","function":"listObjects(final String bucketName, final String prefix, final boolean recursive, final boolean useVersion1)","args":"prefix :minio, recursive: true, useVersion1: true","duration":30,"status":"PASS"}
{"name":"minio-java","function":"removeObject(String bucketName, String objectName)","duration":9,"status":"PASS"}
{"name":"minio-java","function":"removeObject(final String bucketName, final Iterable<String> objectNames)","duration":25,"status":"PASS"}
{"name":"minio-java","function":"listIncompleteUploads(String bucketName)","duration":299,"status":"PASS"}
{"name":"minio-java","function":"listIncompleteUploads(String bucketName, String prefix)","duration":255,"status":"PASS"}
{"name":"minio-java","function":"listIncompleteUploads(final String bucketName, final String prefix, final boolean recursive)","args":"prefix: minio, recursive: true","duration":180,"status":"PASS"}
{"name":"minio-java","function":"removeIncompleteUpload(String bucketName, String objectName)","duration":157,"status":"PASS"}
{"name":"minio-java","function":"presignedGetObject(String bucketName, String objectName)","duration":197,"status":"PASS"}
{"name":"minio-java","function":"presignedGetObject(String bucketName, String objectName, Integer expires)","duration":182,"status":"PASS"}
{"name":"minio-java","function":"presignedGetObject(String bucketName, String objectName, Integer expires, Map<String, String> reqParams)","duration":197,"status":"PASS"}
{"name":"minio-java","function":"presignedPutObject(String bucketName, String objectName)","duration":22,"status":"PASS"}
{"name":"minio-java","function":"presignedPutObject(String bucketName, String objectName, Integer expires)","duration":18,"status":"PASS"}
{"name":"minio-java","function":"presignedPostPolicy(PostPolicy policy)","duration":99,"status":"PASS"}
{"name":"minio-java","function":"copyObject(String bucketName, String objectName, String destBucketName)","duration":182,"status":"PASS"}
{"name":"minio-java","function":"copyObject(String bucketName, String objectName, String destBucketName, CopyConditions copyConditions)","args":"CopyConditions: invalidETag","duration":171,"status":"PASS"}
{"name":"minio-java","function":"copyObject(String bucketName, String objectName, String destBucketName, CopyConditions copyConditions)","duration":225,"status":"PASS"}
{"name":"minio-java","function":"copyObject(String bucketName, String objectName, String destBucketName, CopyConditions copyConditions)","duration":265,"status":"PASS"}
{"name":"minio-java","function":"copyObject(String bucketName, String objectName, String destBucketName, CopyConditions copyConditions)","duration":166,"status":"PASS"}
{"name":"minio-java","function":"copyObject(String bucketName, String objectName, String destBucketName, CopyConditions copyConditions)","args":"CopyCondition: modifiedDateCondition","duration":177,"status":"PASS"}
{"name":"minio-java","function":"copyObject(String bucketName, String objectName, String destBucketName, CopyConditions copyConditions)","args":"CopyCondition: invalidUnmodifiedCondition","duration":133,"status":"PASS"}
{"name":"minio-java","function":"copyObject(String bucketName, String objectName, String destBucketName, CopyConditions copyConditions, Map<String, String> metadata)","duration":196,"status":"PASS"}
{"name":"minio-java","function":"getBucketPolicy(String bucketName, String objectPrefix)","duration":4,"status":"PASS"}
{"name":"minio-java","function":"getBucketPolicy(String bucketName, String objectPrefix)","duration":85,"status":"PASS"}
{"name":"minio-java","function":"getBucketPolicy(String bucketName, String objectPrefix)","duration":10,"status":"PASS"}
{"name":"minio-java","function":"getBucketPolicy(String bucketName, String objectPrefix)","duration":11,"status":"PASS"}
{"name":"minio-java","function":"setBucketPolicy(String bucketName, String objectPrefix, PolicyType policyType)","duration":16,"status":"PASS"}
{"name":"minio-java","function":"setBucketPolicy(String bucketName, String objectPrefix, PolicyType policyType)","duration":17,"status":"PASS"}
{"name":"minio-java","function":"setBucketPolicy(String bucketName, String objectPrefix, PolicyType policyType)","duration":20,"status":"PASS"}
{"name":"minio-java","function":"setBucketPolicy(String bucketName, String objectPrefix, PolicyType policyType)","duration":51,"status":"PASS"}
{"name":"minio-java","function":"putObject(String bucketName, String objectName, String filename)","args":"filename: threaded65MB","duration":6872,"status":"PASS"}
{"name":"minio-java","function":"makeBucket(String bucketName)","duration":3,"status":"PASS"}
{"name":"minio-java","function":"listBuckets()","duration":12,"status":"PASS"}
{"name":"minio-java","function":"bucketExists(String bucketName)","duration":7,"status":"PASS"}
{"name":"minio-java","function":"removeBucket(String bucketName)","duration":6,"status":"PASS"}
{"name":"minio-java","function":"putObject(String bucketName, String objectName, String filename)","args":"filename: 1MB","duration":27,"status":"PASS"}
{"name":"minio-java","function":"statObject(String bucketName, String objectName)","duration":12,"status":"PASS"}
{"name":"minio-java","function":"getObject(String bucketName, String objectName)","duration":98,"status":"PASS"}
{"name":"minio-java","function":"listObjects(final String bucketName)","duration":24,"status":"PASS"}
{"name":"minio-java","function":"removeObject(String bucketName, String objectName)","duration":9,"status":"PASS"}
{"name":"minio-java","function":"listIncompleteUploads(String bucketName)","duration":168,"status":"PASS"}
{"name":"minio-java","function":"removeIncompleteUpload(String bucketName, String objectName)","duration":174,"status":"PASS"}
{"name":"minio-java","function":"presignedGetObject(String bucketName, String objectName)","duration":109,"status":"PASS"}
{"name":"minio-java","function":"presignedPutObject(String bucketName, String objectName)","duration":10,"status":"PASS"}
{"name":"minio-java","function":"presignedPostPolicy(PostPolicy policy)","duration":42,"status":"PASS"}
{"name":"minio-java","function":"copyObject(String bucketName, String objectName, String destBucketName)","duration":149,"status":"PASS"}
{"name":"minio-java","function":"getBucketPolicy(String bucketName, String objectPrefix)","duration":4,"status":"PASS"}
{"name":"minio-java","function":"getBucketPolicy(String bucketName, String objectPrefix)","duration":9,"status":"PASS"}
{"name":"minio-java","function":"getBucketPolicy(String bucketName, String objectPrefix)","duration":10,"status":"PASS"}
{"name":"minio-java","function":"getBucketPolicy(String bucketName, String objectPrefix)","duration":11,"status":"PASS"}
{"name":"minio-java","function":"setBucketPolicy(String bucketName, String objectPrefix, PolicyType policyType)","duration":36,"status":"PASS"}
{"name":"minio-js","status":"PASS","function":"listBuckets(cb)","args":"","alert":"","duration":38}
{"name":"minio-js","status":"PASS","function":"listBuckets()","args":"","alert":"","duration":23}
{"name":"minio-js","status":"PASS","function":"makeBucket(bucketName, region, cb)","args":"region:us-east-2","alert":"","duration":1}
{"name":"minio-js","status":"PASS","function":"makeBucket(bucketName, region, cb)","args":"","alert":"","duration":2}
{"name":"minio-js","status":"PASS","function":"removeBucket(bucketName, cb)","args":"","alert":"","duration":2}
{"name":"minio-js","status":"PASS","function":"makeBucket(bucketName, region)","args":"","alert":"","duration":1}
{"name":"minio-js","status":"PASS","function":"removeBucket(bucketName)","args":"","alert":"","duration":2}
{"name":"minio-js","status":"PASS","function":"bucketExists(bucketName, cb)","args":"","alert":"","duration":3}
{"name":"minio-js","status":"PASS","function":"bucketExists(bucketName, cb)","args":"bucketName:nonexistentbucket","alert":"","duration":3}
{"name":"minio-js","status":"PASS","function":"bucketExists(bucketName)","args":"","alert":"","duration":1}
{"name":"minio-js","status":"PASS","function":"removeBucket(bucketName, cb)","args":"bucketName:nonexistentbucket","alert":"","duration":3}
{"name":"minio-js","status":"PASS","function":"makeBucket(bucketName, region)","args":"region:us-east-1","alert":"","duration":2}
{"name":"minio-js","status":"PASS","function":"putObject(bucketName, objectName, stream, contentType)","args":"objectName:MultiPath100kbObjectBufferName,stream:100Kib","alert":"","duration":16}
{"name":"minio-js","status":"PASS","function":"getObject(bucketName, objectName, callback)","args":"objectName:MultiPath100kbObjectBufferName","alert":"download 100KiB Buffer and match content","duration":4}
{"name":"minio-js","status":"PASS","function":"removeObject(bucketName, objectName)","args":"objectName:MultiPath100kbObjectBufferName","alert":"","duration":3}
{"name":"minio-js","status":"PASS","function":"fPutObject(bucketName, objectName, filePath, contentType, callback)","args":"","alert":"","duration":16}
{"name":"minio-js","status":"PASS","function":"putObject(bucketName, objectName, stream, size, contentType, callback)","args":"objectName:100kbObjectName","alert":"","duration":10}
{"name":"minio-js","status":"PASS","function":"putObject(bucketName, objectName, stream, size, contentType, callback)","args":"objectName:100kbObjectName","alert":"","duration":8}
{"name":"minio-js","status":"PASS","function":"getObject(bucketName, objectName, callback)","args":"objectName:100kbObjectName","alert":"","duration":3}
{"name":"minio-js","status":"PASS","function":"putObject(bucketName, objectName, stream, callback)","args":"objectName:100kbObjectName, stream:100kb","alert":"","duration":10}
{"name":"minio-js","status":"PASS","function":"getObject(bucketName, objectName, callback)","args":"objectName:100kbObjectName","alert":"download 100KiB Buffer and match content","duration":3}
{"name":"minio-js","status":"PASS","function":"putObject(bucketName, objectName, stream, contentType)","args":"stream:100Kib","alert":"","duration":9}
{"name":"minio-js","status":"PASS","function":"getPartialObject(bucketName, objectName, offset, length, cb)","args":"offset:0, length=1024","alert":"","duration":3}
{"name":"minio-js","status":"PASS","function":"getPartialObject(bucketName, objectName, offset, length, cb)","args":"offset:1024, length=1024","alert":"","duration":2}
{"name":"minio-js","status":"PASS","function":"getPartialObject(bucketName, objectName, offset, length, cb)","args":"offset:1024","duration":2}
{"name":"minio-js","status":"PASS","function":"getObject(bucketName, objectName)","args":"","alert":"","duration":2}
{"name":"minio-js","status":"PASS","function":"putObject(bucketName, objectName, stream, cb)","args":"objectName:","alert":"6mbObjectName","duration":80}
{"name":"minio-js","status":"PASS","function":"getObject(bucketName, objectName, cb)","args":"objectName:","alert":"6mbObjectName","duration":20}
{"name":"minio-js","status":"PASS","function":"getPartialObject(bucketName, objectName, offset, length, cb)","args":"length:100*1024","alert":"download partial data (100kb of the 6mb file) and match content","duration":3}
{"name":"minio-js","status":"PASS","function":"copyObject(bucketName, objectName, srcObject, cb)","args":"","alert":"","duration":32}
{"name":"minio-js","status":"PASS","function":"copyObject(bucketName, objectName, srcObject)","args":"","alert":"","duration":37}
{"name":"minio-js","status":"PASS","function":"statObject(bucketName, objectName, cb)","args":"","alert":"","duration":2}
{"name":"minio-js","status":"PASS","function":"statObject(bucketName, objectName)","args":"","alert":"","duration":2}
{"name":"minio-js","status":"PASS","function":"removeObject(bucketName, objectName)","args":"","alert":"remove objects created for test","duration":13}
{"name":"minio-js","status":"PASS","function":"putObject(bucketName, objectName, stream, contentType, cb)","args":"contentType: custom/content-type","alert":"","duration":8}
{"name":"minio-js","status":"PASS","function":"copyObject(bucketName, objectName, srcObject, cb)","args":"","alert":"","duration":7}
{"name":"minio-js","status":"PASS","function":"statObject(bucketName, objectName, cb)","args":"","alert":"","duration":1}
{"name":"minio-js","status":"PASS","function":"copyObject(bucketName, objectName, srcObject, conditions, cb)","args":"","alert":"","duration":7}
{"name":"minio-js","status":"PASS","function":"copyObject(bucketName, objectName, srcObject, conditions, cb)","args":"","alert":"","duration":1}
{"name":"minio-js","status":"PASS","function":"copyObject(bucketName, objectName, srcObject, conditions, cb)","args":"","alert":"","duration":8}
{"name":"minio-js","status":"PASS","function":"copyObject(bucketName, objectName, srcObject, conditions, cb)","args":"","alert":"","duration":1}
{"name":"minio-js","status":"PASS","function":"copyObject(bucketName, objectName, srcObject, conditions, cb)","args":"","alert":"","duration":10}
{"name":"minio-js","status":"PASS","function":"copyObject(bucketName, objectName, srcObject, conditions, cb)","args":"","alert":"","duration":2}
{"name":"minio-js","status":"PASS","function":"statObject(bucketName, objectName, cb)","args":"","alert":"","duration":2}
{"name":"minio-js","status":"PASS","function":"removeObject(bucketName, objectName, cb)","args":"","alert":"remove objects created for test","duration":2}
{"name":"minio-js","status":"PASS","function":"initiateNewMultipartUpload(bucketName, objectName, contentType, cb)","args":"","alert":"","duration":12}
{"name":"minio-js","status":"PASS","function":"fPutObject(bucketName, objectName, filePath, contentType, callback)","args":"","alert":"","duration":132}
{"name":"minio-js","status":"PASS","function":"fPutObject(bucketName, objectName, filePath, contentType, callback)","args":"contentType: customContentType","alert":"","duration":140}
{"name":"minio-js","status":"PASS","function":"fGetObject(bucketName, objectName, filePath, callback)","args":"","alert":"verify checksum","duration":55}
{"name":"minio-js","status":"PASS","function":"removeObject(bucketName, objectName, filePath, callback)","args":"","alert":"","duration":4}
{"name":"minio-js","status":"PASS","function":"fPutObject(bucketName, objectName, filePath, contentType)","args":"","alert":"","duration":130}
{"name":"minio-js","status":"PASS","function":"fGetObject(bucketName, objectName, filePath)","args":"","alert":"","duration":26}
{"name":"minio-js","status":"PASS","function":"removeObject(bucketName, objectName, filePath, callback)","args":"","alert":"","duration":6}
{"name":"minio-js","status":"PASS","function":"putObject(bucketName, objectName, stream, contentType, cb)","args":"","alert":"","duration":137}
{"name":"minio-js","status":"PASS","function":"fGetObject(bucketName, objectName, filePath, callback)","args":"filePath: resumePartialDownload","alert":"","duration":30}
{"name":"minio-js","status":"PASS","function":"removeObject(bucketName, objectName, filePath, callback)","args":"","alert":"","duration":3}
{"name":"minio-js","status":"PASS","function":"setBucketPolicy(bucketName, objectPrefix, bucketPolicy, cb)","args":"bucketPolicy:readonly","alert":"","duration":4}
{"name":"minio-js","status":"PASS","function":"getBucketPolicy(bucketName, objectPrefix, cb)","args":"","alert":"","duration":4}
{"name":"minio-js","status":"PASS","function":"setBucketPolicy(bucketName, objectPrefix, bucketPolicy, cb)","args":"bucketPolicy:writeonly","alert":"","duration":2}
{"name":"minio-js","status":"PASS","function":"getBucketPolicy(bucketName, objectPrefix, cb)","args":"","alert":"","duration":2}
{"name":"minio-js","status":"PASS","function":"setBucketPolicy(bucketName, objectPrefix, bucketPolicy, cb)","args":"bucketPolicy:readwrite","alert":"","duration":3}
{"name":"minio-js","status":"PASS","function":"getBucketPolicy(bucketName, objectPrefix, cb)","args":"","alert":"","duration":2}
{"name":"minio-js","status":"PASS","function":"setBucketPolicy(bucketName, objectPrefix, bucketPolicy)","args":"","alert":"","duration":2}
{"name":"minio-js","status":"PASS","function":"getBucketPolicy(bucketName, objectPrefix)","args":"","alert":"","duration":3}
{"name":"minio-js","status":"PASS","function":"setBucketPolicy(bucketName, objectPrefix, bucketPolicy)","args":"objectPrefix: prefix","alert":"","duration":2}
{"name":"minio-js","status":"PASS","function":"getBucketPolicy(bucketName, objectPrefix)","args":"objectPrefix: prefix","alert":"","duration":2}
{"name":"minio-js","status":"PASS","function":"getBucketPolicy(bucketName, objectPrefix)","args":"objectPrefix: wrongprefix","alert":"","duration":3}
{"name":"minio-js","status":"PASS","function":"setBucketPolicy(bucketName, objectPrefix, bucketPolicy, cb)","args":"bucketPolicy: NONE","alert":"","duration":2}
{"name":"minio-js","status":"PASS","function":"getBucketPolicy(bucketName, objectPrefix, cb)","args":"","alert":"","duration":2}
{"name":"minio-js","status":"PASS","function":"presignedPutObject(bucketName, objectName, expires, cb)","args":"","alert":"","duration":15}
{"name":"minio-js","status":"PASS","function":"presignedPutObject(bucketName, objectName, expires)","args":"expires:-123","alert":"","duration":1}
{"name":"minio-js","status":"PASS","function":"presignedPutObject(bucketName, objectName)","args":"","alert":"","duration":1}
{"name":"minio-js","status":"PASS","function":"presignedGetObject(bucketName, objectName, expires, cb)","args":"","alert":"","duration":3}
{"name":"minio-js","status":"PASS","function":"presignedGetObject(bucketName, objectName, cb)","args":"","alert":"","duration":3}
{"name":"minio-js","status":"PASS","function":"presignedGetObject(bucketName, objectName, expires)","args":"","alert":"","duration":2}
{"name":"minio-js","status":"PASS","function":"presignedGetObject(bucketName, objectName, expires, respHeaders, cb)","args":"","alert":"","duration":3}
{"name":"minio-js","status":"PASS","function":"presignedPostPolicy(postPolicy, cb)","args":"","alert":"","duration":15}
{"name":"minio-js","status":"PASS","function":"presignedPostPolicy(postPolicy)","args":"postPolicy: null","alert":"","duration":0}
{"name":"minio-js","status":"PASS","function":"removeObject(bucketName, objectName, done)","args":"","alert":"","duration":2}
{"name":"minio-js","status":"PASS","function":"putObject(bucketName, objectName, stream, size, contentType, callback)","args":"","alert":"Create 10 objects","duration":23}
{"name":"minio-js","status":"PASS","function":"listObjects(bucketName, prefix, recursive)","args":"prefix: miniojsprefix, recursive:true","alert":"","duration":6}
{"name":"minio-js","status":"PASS","function":"listObjects(bucketName, prefix, recursive)","args":"bucketName: empty, recursive:true","alert":"","duration":1}
{"name":"minio-js","status":"PASS","function":"listObjects(bucketName, prefix, recursive)","args":"recursive:false","alert":"","duration":3}
{"name":"minio-js","status":"PASS","function":"listObjectsV2(bucketName, prefix, recursive)","args":"recursive:true","alert":"","duration":4}
{"name":"minio-js","status":"PASS","function":"removeObject(bucketName, objectName, callback)","args":"","alert":"Remove 10 objects","duration":5}
{"name":"minio-js","status":"PASS","function":"listenBucketNotification(bucketName, prefix, suffix, events)","args":"events:bad","alert":"","duration":5}
{"name":"minio-js","status":"PASS","function":"listenBucketNotification(bucketName, prefix, suffix, events)","args":"events: ObjectCreated","alert":"","duration":11058}
{"name":"minio-js","status":"PASS","function":"listenBucketNotification(bucketName, prefix, suffix, events)","args":"events:ObjectRemoved","alert":"","duration":11024}
{"status": "PASS", "function": "make_bucket(bucket_name, location)", "description": "Tests make_bucket api", "alert": null, "name": "minio-py", "message": null, "args": {"bucket_name": "16fd2ee9-b0b9-40ea-b96b-578db52eec91", "location": ""}, "error": null, "duration": 0.01}
{"status": "PASS", "function": "list_buckets()", "description": "Tests list_buckets api", "alert": null, "name": "minio-py", "message": null, "args": {}, "error": null, "duration": 0.01}
{"status": "PASS", "function": "fput_object(bucket_name, object_name, file_path, content_type, metadata)", "description": "Tests fput_object api", "alert": null, "name": "minio-py", "message": null, "args": {"metadata": {"x-amz-storage-class": "STANDARD_IA"}, "object_name": "55b72554-ff93-45fb-a2ea-51a8170078bb", "bucket_name": "2d4e4991-3ae4-44aa-891d-94f500597b4a", "file_path": "/mint/data/datafile-1-MB", "content_type": ""}, "error": null, "duration": 0.02}
{"status": "PASS", "function": "fput_object(bucket_name, object_name, file_path, content_type, metadata)", "description": "Tests fput_object api", "alert": null, "name": "minio-py", "message": null, "args": {"metadata": {"x-amz-storage-class": "STANDARD_IA"}, "object_name": "1180a1ab-ae9f-400c-8a06-1c90b0cacb70", "bucket_name": "5c0ab004-43c1-40cb-8a22-2019bbad73d5", "file_path": "/mint/data/datafile-65-MB", "content_type": ""}, "error": null, "duration": 0.82}
{"status": "PASS", "function": "copy_object(bucket_name, object_name, object_source, conditions)", "description": "Tests copy_object api", "alert": null, "name": "minio-py", "message": null, "args": {"object_source": "06248d84-aae4-41f2-a545-9ff6b1ad5794-source", "object_name": "06248d84-aae4-41f2-a545-9ff6b1ad5794-copy", "bucket_name": "1fa6f793-b306-48df-bcb2-e072fe3313e0", "conditions": {"set_match_etag": "test-etag"}}, "error": null, "duration": 0.02}
{"status": "PASS", "function": "put_object(bucket_name, object_name, data, length, content_type, metadata)", "description": "Tests put_object api", "alert": null, "name": "minio-py", "message": null, "args": {"content_type": "", "object_name": "3166955c-4568-4ba6-bdc1-8ab358e99c32", "bucket_name": "0f7a05b9-56c8-49de-83aa-e2d66b3b29c1", "data": "LimitedRandomReader(MB_11)", "length": 11534336, "metadata": {"Content-Type": "application/octet-stream", "x-amz-meta-testing": "value"}}, "error": null, "duration": 3.5}
{"status": "PASS", "function": "get_object(bucket_name, object_name, request_headers)", "description": "Tests get_object api", "alert": null, "name": "minio-py", "message": null, "args": {"object_name": "43cf21ed-375c-4fb8-a604-49c3127f1d10", "bucket_name": "22145098-938d-4ca6-ae45-641a291dded2", "request_headers": ""}, "error": null, "duration": 0.29}
{"status": "PASS", "function": "fget_object(bucket_name, object_name, file_path, request_headers)", "description": "Tests fget_object api", "alert": null, "name": "minio-py", "message": null, "args": {"object_name": "49e5567d-9873-4678-ba1d-9da9a43ea142", "bucket_name": "2c5641eb-3d1d-46df-816f-41731575bede", "file_path": "newfile-f \u65b0", "request_headers": ""}, "error": null, "duration": 0.31}
{"status": "PASS", "function": "list_objects(bucket_name, prefix, recursive)", "description": "Tests list_objects api", "alert": null, "name": "minio-py", "message": null, "args": {"recursive": true, "object_name": "f4eb89db-cbd6-4285-91f1-8cb1c7792ef8", "prefix": "", "bucket_name": "2a113ab9-4333-42f9-9a5a-2d01beaa6c3b"}, "error": null, "duration": 0.59}
{"status": "PASS", "function": "list_objects_v2(bucket_name, prefix, recursive)", "description": "Tests list_objects_v2 api", "alert": null, "name": "minio-py", "message": null, "args": {"recursive": true, "object_name": "79d1d038-e91d-4b9a-af35-18004bde82e9", "prefix": "", "bucket_name": "9e7ed4b8-8922-4485-b77e-9dda0c513d94"}, "error": null, "duration": 0.59}
{"status": "PASS", "function": "presigned_get_object(bucket_name, object_name, expires, response_headers)", "description": "Tests presigned_get_object api", "alert": null, "name": "minio-py", "message": null, "args": {"object_name": "95c85170-785e-4eb4-89dc-0be150324149", "bucket_name": "690c85ec-76b3-47ea-80f7-386d3f373ab4", "expires": "", "response_headers": ""}, "error": null, "duration": 0.33}
{"status": "PASS", "function": "presigned_put_object(bucket_name, object_name, expires)", "description": "Tests presigned_put_object api", "alert": null, "name": "minio-py", "message": null, "args": {"object_name": "1648e623-3cfc-48d0-b45e-78584c54e93a", "bucket_name": "f05d5663-7642-433b-b928-856bba4bfb30", "expires": ""}, "error": null, "duration": 0.02}
{"status": "PASS", "function": "presigned_post_policy(post_policy)", "description": "Tests presigned_post_policy api", "alert": null, "name": "minio-py", "message": null, "args": {"post_policy": {"prefix": "objectPrefix/", "bucket_name": "a3d5c0d5-e9ec-4698-85bb-b9dc05e6c982", "expires_in_days": 10}}, "error": null, "duration": 0.0}
{"status": "PASS", "function": "get_bucket_policy(bucket_name, prefix)", "description": "Tests get_bucket_policy api", "alert": null, "name": "minio-py", "message": null, "args": {"prefix": "", "bucket_name": "99dd691d-72d9-46b2-9a68-072ee0e4c096"}, "error": null, "duration": 0.01}
{"status": "PASS", "function": "set_bucket_policy(bucket_name, prefix, policy_access)", "description": "Tests set_bucket_policy api", "alert": null, "name": "minio-py", "message": null, "args": {"prefix-2": "", "prefix": "1/", "bucket_name": "e9aa7fe3-6f83-4185-bf27-92e0a694ef10", "policy_access": ""}, "error": null, "duration": 0.02}
{"status": "PASS", "function": "remove_object(bucket_name, object_name)", "description": "Tests remove_object api", "alert": null, "name": "minio-py", "message": null, "args": {"object_name": "1a530a27-8b48-425d-a370-cafc9a10f19b", "bucket_name": "1876cfe9-c064-4618-a432-18c82c00da7f"}, "error": null, "duration": 0.01}
{"status": "PASS", "function": "remove_objects(bucket_name, objects_iter)", "description": "Tests remove_objects api", "alert": null, "name": "minio-py", "message": null, "args": {"bucket_name": "9960fd53-ee00-461a-b9d6-7dd5535362fe", "objects_iter": ["prefix-0", "prefix-1", "prefix-2", "prefix-3", "prefix-4", "prefix-5", "prefix-6", "prefix-7", "prefix-8", "prefix-9"]}, "error": null, "duration": 2.98}
{"status": "PASS", "function": "remove_bucket(bucket_name)", "description": "Tests remove_bucket api", "alert": null, "name": "minio-py", "message": null, "args": {"bucket_name": "add87076-62e7-43e5-9928-444cbee09523", "location": "us-east-1"}, "error": null, "duration": 0.0}
|
07a55df
to
791697f
Compare
This is updated, @harshavardhana @poornas @balamurugana please take a look. we can go ahead with the release once this is in. |
@@ -32,7 +32,7 @@ data_file_map["datafile-65-MB"]="65M" | |||
mkdir -p "$MINT_DATA_DIR" | |||
for filename in "${!data_file_map[@]}"; do | |||
echo "creating $MINT_DATA_DIR/$filename" | |||
if ! dd if=/dev/urandom of="$MINT_DATA_DIR/$filename" bs="${data_file_map[$filename]}" count=1 >/dev/null 2>&1; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is the problem with dd? doesn't it create a file with specified size containing random content?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
dd is too slow and we shouldn't be using urandom. A better tool is shred which is part of coreutils @balamurugana
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I ran below to see the slowness
$ time dd if=/dev/urandom of=myfile bs=1M count=65
65+0 records in
65+0 records out
68157440 bytes (68 MB, 65 MiB) copied, 0.503932 s, 135 MB/s
real 0m0.534s
user 0m0.000s
sys 0m0.528s
$ ls -lhS myfile
-rw-r--r-- 1 bala bala 65M Sep 22 10:43 myfile
$ time shred -s 65M -> myfile
real 0m0.764s
user 0m0.192s
sys 0m0.080s
$ ls -lhS myfile
-rw-r--r-- 1 bala bala 65M Sep 22 10:44 myfile
It seems shred is slow.
Why is this change required in this PR?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
time shred -s 65M - > myfile
real 0m0.705s
user 0m0.148s
sys 0m0.044s
time dd if=/dev/urandom of=bigfile bs=1M count=65
65+0 records in
65+0 records out
68157440 bytes (68 MB, 65 MiB) copied, 6.92338 s, 9.8 MB/s
real 0m6.930s
user 0m0.000s
sys 0m6.908s
This is on my system.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
prtsc : harsha : « » minio » minfs : ⎇ master : time dd if=/dev/urandom of=bigfile bs=1M count=65
65+0 records in
65+0 records out
68157440 bytes (68 MB, 65 MiB) copied, 6.96196 s, 9.8 MB/s
real 0m6.969s
user 0m0.004s
sys 0m6.956s
prtsc : harsha : « » minio » minfs : ⎇ master :
prtsc : harsha : « » minio » minfs : ⎇ master : time dd if=/dev/urandom of=bigfile bs=1M count=65
65+0 records in
65+0 records out
68157440 bytes (68 MB, 65 MiB) copied, 6.81594 s, 10.0 MB/s
real 0m6.859s
user 0m0.000s
sys 0m6.852s
And also consistently reproducible..
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not talking about development build @balamurugana , i usually build release image as well. I don't want this level of delay for each dd.
My urandom has always performed the same way, so i avoid using urandom. Why it is faster is perhaps on your laptop seems like a bug to me - since it is surprising since on hardware like m2.minio.io is slow as well and consistent.
minio@minio2:~$ time dd if=/dev/urandom of=bigfile bs=1M count=65
65+0 records in
65+0 records out
68157440 bytes (68 MB, 65 MiB) copied, 5.11967 s, 13.3 MB/s
real 0m5.138s
user 0m0.000s
sys 0m4.744s
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see minio2 uses linux 4.4.0-93-generic wheres my laptop's linux is 4.10.0-35-generic. Similarly performance difference of dd and shred in minio2 is like below
minio@minio2:/tmp$ time dd if=/dev/urandom of=myfile bs=1M count=65
65+0 records in
65+0 records out
68157440 bytes (68 MB, 65 MiB) copied, 4.79613 s, 14.2 MB/s
real 0m4.798s
user 0m0.000s
sys 0m4.796s
minio@minio2:/tmp$ time shred -s 65M -> myfile
real 0m2.248s
user 0m0.208s
sys 0m0.096s
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@balamurugana as explain above in PR description dd
was changed due to this
$ sudo dd if=/dev/urandom of=datafile-65-MB bs=65M count=1
0+1 records in
0+1 records out
33554431 bytes (34 MB, 32 MiB) copied, 0.252857 s, 133 MB/s
we could have changed smaller blocks with higher count, say bs=1M count=65 with dd, but shred appeared to be faster. Now I see dd
is faster on your system. so how do we conclude this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I analyzed minio-go problem and found a size check failed due to input file is not sized to 65MB due to buggy dd
After discussion, this PR can fix the problem by using shred
command. You could remove dd
usage and use shred -n 1
instead in this PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
updated the PR @balamurugana please check
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
minor comments
create-data-files.sh
Outdated
@@ -32,7 +32,7 @@ data_file_map["datafile-65-MB"]="65M" | |||
mkdir -p "$MINT_DATA_DIR" | |||
for filename in "${!data_file_map[@]}"; do | |||
echo "creating $MINT_DATA_DIR/$filename" | |||
if ! dd if=/dev/urandom of="$MINT_DATA_DIR/$filename" bs="${data_file_map[$filename]}" count=1 >/dev/null 2>&1; then | |||
if ! shred -n 1 -s "${data_file_map[$filename]}" -> "$MINT_DATA_DIR/$filename" 2>&1; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You would redirect the output to /dev/null
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@balamurugana that doesn't work
$ shred -n 1 -s 65M -> data >/dev/null
$ ls -la
total 56
drwxr-xr-x 2 nitish nitish 4096 Sep 26 08:45 .
drwxrwxrwt 22 root root 49152 Sep 26 08:45 ..
-rw-r--r-- 1 nitish nitish 0 Sep 26 08:45 data
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You would need to do shred -n 1 -s "${data_file_map[$filename]}" - 1>"$MINT_DATA_DIR/$filename" 2>/dev/null
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
run/core/minio-java/run.sh
Outdated
@@ -34,4 +34,5 @@ if [ "$ENABLE_HTTPS" -eq 1 ]; then | |||
fi | |||
|
|||
java -cp "$MINIO_JAVA_PATH/minio-${MINIO_JAVA_VERSION}-all.jar:." FunctionalTest \ | |||
"$endpoint" "$ACCESS_KEY" "$SECRET_KEY" "$SERVER_REGION" 1>"$output_log_file" 2>"$error_log_file" | |||
"$endpoint" "$ACCESS_KEY" "$SECRET_KEY" "$SERVER_REGION" 1>>"$output_log_file" 2>"$error_log_file" | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
unwanted new line
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
removed
run/core/minio-java/run.sh
Outdated
@@ -34,4 +34,4 @@ if [ "$ENABLE_HTTPS" -eq 1 ]; then | |||
fi | |||
|
|||
java -cp "$MINIO_JAVA_PATH/minio-${MINIO_JAVA_VERSION}-all.jar:." FunctionalTest \ | |||
"$endpoint" "$ACCESS_KEY" "$SECRET_KEY" "$SERVER_REGION" 1>"$output_log_file" 2>"$error_log_file" | |||
"$endpoint" "$ACCESS_KEY" "$SECRET_KEY" "$SERVER_REGION" 1>>"$output_log_file" 2>"$error_log_file" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Keep the indentation for readability
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
Also includes following fixes: * Add newline for minio-js logger for ease of reading * Fix datafile creation as blocks greater than 34MB are not supported. Use shred to create data files as it is faster and avoids the block size issue with dd command * Escape mc logs before printing as JSON Fixes minio#35
Update mint to latest SDK releases and unify log output. Also includes following fixes:
shred
to create data files as it is faster and avoids the block size issue withdd
commandFixes #35
Issue with
dd
command:max block size of 34MB is supported. We could have used smaller blocks with higher count, say
bs=1M count=65
withdd
, butshred
is much faster.