Failure to direct upload artifacts through Minio
Summary
Artifact Object Storage configuration for direct upload fails to work properly with Minio as object storage s3 implementation. Disabling direct upload and using background processing succeeds. Other object storage features such as uploads, LFS, and external MR diffs work with the same configuration for direct upload, no background processing, and no proxy downloading.
This is using Minio RELEASE.2019-02-12T21-58-47Z which includes a fix for Azure Gateway mode to return MD5sum etags.
Steps to reproduce
- Setup Minio RELEASE.2019-02-12T21-58-47Z in gateway mode for azure with a backing blob storage account.
- Configure artifact object storage to use that minio instance
- Setup a GitLab runner and job that produces an artifact
- Run job and observe runner unable to POST artifact to workhorse
Example Project
(If possible, please create an example project here on GitLab.com that exhibits the problematic behaviour, and link to it here in the bug report)
(If you are using an older version of GitLab, this will also determine whether the bug has been fixed in a more recent version)
What is the current bug behavior?
The runner upload to workhorse results in the following HTTP trace on minio. After the 404 on deleting the multipart upload, workhorse returns 500 to runner and runner retries upload until retry limit reached.
What is the expected correct behavior?
Workhorse returns success to runner at completion of multipart upload.
Relevant logs and/or screenshots
Workhorse error
2019-03-05_03:16:58.55579 time="2019-03-05T03:16:58Z" level=error msg=error correlation_id=zpyiupXHi17 error="handleFileUploads: extract files from multipart: Persisting multipart file: ETag verification failure: got \"0x8D6A11907207A4D-1\" expected \"45236c58a3c0e6f10a1b35db9383ba9b-1\"" method=POST uri="/api/v4/jobs/47216/artifacts?artifact_format=zip&artifact_type=archive&expire_in=4d"
2019-03-05_03:16:58.55585 git.vertiv.life 104.210.9.41:45638 - - [2019/03/05:03:16:58 +0000] "POST /api/v4/jobs/47216/artifacts?artifact_format=zip&artifact_type=archive&expire_in=4d HTTP/1.1" 500 22 "" "gitlab-runner 11.8.0 (11-8-stable; go1.8.7; linux/amd64)" 0.208
[REQUEST objectAPIHandlers.NewMultipartUploadHandler-fm] [155175581.532966] [2019-03-05 03:16:55 +0000]
POST /gitlab-artifacts/tmp/uploads/1551755815-1872-0001-1657-155007f4a6161f94fb3209c9f1c2b18f?uploads
Host: thedomain.minio.com
X-Forwarded-For: 40.70.242.97
Authorization: AWS4-HMAC-SHA256 Credential=vglobs/20190305/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=bf5797a51ce5349e1a546788503994c461d23f42fae540cee80a7b7d163f4ca1
X-Real-Ip: 40.70.242.97
X-Original-Uri: /gitlab-artifacts/tmp/uploads/1551755815-1872-0001-1657-155007f4a6161f94fb3209c9f1c2b18f?uploads
X-Scheme: https
User-Agent: fog-core/1.45.0
X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
X-Amz-Date: 20190305T031655Z
X-Request-Id: 822282de9f473537fda5fe5cc69e9e72
X-Forwarded-Host: thedomain.minio.com
X-Forwarded-Port: 443
X-Forwarded-Proto: https
Content-Length: 0
[RESPONSE] [155175581.532966] [2019-03-05 03:16:55 +0000]
200 OK
Vary: Origin
X-Xss-Protection: 1; mode=block
Content-Security-Policy: block-all-mixed-content
X-Amz-Request-Id: 1588F1B146DC9500
Server: Minio/RELEASE.2019-02-12T21-58-47Z
Accept-Ranges: bytes
Content-Type: application/xml
<?xml version="1.0" encoding="UTF-8"?>
<InitiateMultipartUploadResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><Bucket>gitlab-artifacts</Bucket><Key>tmp/uploads/1551755815-1872-0001-1657-155007f4a6161f94fb3209c9f1c2b18f</Key><UploadId>6d868fe1e08a4d14</UploadId></InitiateMultipartUploadResult>
[REQUEST objectAPIHandlers.PutObjectPartHandler-fm] [155175581.543261] [2019-03-05 03:16:55 +0000]
PUT /gitlab-artifacts/tmp/uploads/1551755815-1872-0001-1657-155007f4a6161f94fb3209c9f1c2b18f?uploadId=6d868fe1e08a4d14&partNumber=1&X-Amz-Expires=15300&X-Amz-Date=20190305T031655Z&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=vglobs/20190305/us-east-1/s3/aws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=6dd39bcd3670e4529b76fd9f8eea41862bee13f5d06a7e39837861a58cd26eca
Host: thedomain.minio.com
X-Forwarded-Proto: https
X-Original-Uri: /gitlab-artifacts/tmp/uploads/1551755815-1872-0001-1657-155007f4a6161f94fb3209c9f1c2b18f?uploadId=6d868fe1e08a4d14&partNumber=1&X-Amz-Expires=15300&X-Amz-Date=20190305T031655Z&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=vglobs/20190305/us-east-1/s3/aws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=6dd39bcd3670e4529b76fd9f8eea41862bee13f5d06a7e39837861a58cd26eca
User-Agent: Go-http-client/2.0
X-Forwarded-Port: 443
X-Scheme: https
Content-Length: 198
X-Request-Id: J33ZDH5mhx2
X-Real-Ip: 40.70.242.97
X-Forwarded-For: 40.70.242.97
X-Forwarded-Host: thedomain.minio.com
Accept-Encoding: gzip
<BODY>
[RESPONSE] [155175581.543261] [2019-03-05 03:16:55 +0000]
200 OK
Etag: "41101459ef8749ede421ad68b6295a1b"
Server: Minio/RELEASE.2019-02-12T21-58-47Z
Accept-Ranges: bytes
Vary: Origin
X-Xss-Protection: 1; mode=block
Content-Security-Policy: block-all-mixed-content
X-Amz-Request-Id: 1588F1B14D00132B
<BODY>
[REQUEST objectAPIHandlers.CompleteMultipartUploadHandler-fm] [155175581.546881] [2019-03-05 03:16:55 +0000]
POST /gitlab-artifacts/tmp/uploads/1551755815-1872-0001-1657-155007f4a6161f94fb3209c9f1c2b18f?uploadId=6d868fe1e08a4d14&X-Amz-Expires=15300&X-Amz-Date=20190305T031655Z&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=vglobs/20190305/us-east-1/s3/aws4_request&X-Amz-SignedHeaders=content-type%3Bhost&X-Amz-Signature=2256e320874e1fb0c4546ba4f159da4641295d63d4277210ebb1595e42d3b6cb
Host: thedomain.minio.com
Accept-Encoding: gzip
User-Agent: Go-http-client/2.0
X-Real-Ip: 40.70.242.97
X-Forwarded-For: 40.70.242.97
X-Forwarded-Proto: https
X-Original-Uri: /gitlab-artifacts/tmp/uploads/1551755815-1872-0001-1657-155007f4a6161f94fb3209c9f1c2b18f?uploadId=6d868fe1e08a4d14&X-Amz-Expires=15300&X-Amz-Date=20190305T031655Z&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=vglobs/20190305/us-east-1/s3/aws4_request&X-Amz-SignedHeaders=content-type%3Bhost&X-Amz-Signature=2256e320874e1fb0c4546ba4f159da4641295d63d4277210ebb1595e42d3b6cb
Content-Type: application/xml
Content-Length: 135
X-Request-Id: J33ZDH5mhx2
X-Forwarded-Host: thedomain.minio.com
X-Forwarded-Port: 443
X-Scheme: https
<CompleteMultipartUpload><Part><PartNumber>1</PartNumber><ETag>41101459ef8749ede421ad68b6295a1b</ETag></Part></CompleteMultipartUpload>
[RESPONSE] [155175581.546881] [2019-03-05 03:16:55 +0000]
200 OK
Content-Type: application/xml
Vary: Origin
X-Xss-Protection: 1; mode=block
Content-Security-Policy: block-all-mixed-content
X-Amz-Request-Id: 1588F1B14F298A9F
Etag: "0x8D6A119055740CB-1"
Server: Minio/RELEASE.2019-02-12T21-58-47Z
Accept-Ranges: bytes
<?xml version="1.0" encoding="UTF-8"?>
<CompleteMultipartUploadResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><Location>https://thedomain.minio.com/gitlab-artifacts/tmp/uploads/1551755815-1872-0001-1657-155007f4a6161f94fb3209c9f1c2b18f</Location><Bucket>gitlab-artifacts</Bucket><Key>tmp/uploads/1551755815-1872-0001-1657-155007f4a6161f94fb3209c9f1c2b18f</Key><ETag>0x8D6A119055740CB-1</ETag></CompleteMultipartUploadResult>
[REQUEST objectAPIHandlers.AbortMultipartUploadHandler-fm] [155175581.556233] [2019-03-05 03:16:55 +0000]
DELETE /gitlab-artifacts/tmp/uploads/1551755815-1872-0001-1657-155007f4a6161f94fb3209c9f1c2b18f?uploadId=6d868fe1e08a4d14&X-Amz-Expires=15300&X-Amz-Date=20190305T031655Z&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=vglobs/20190305/us-east-1/s3/aws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=8f83ed266d9a855ce74a02920b3ed1dbc9ad44a6e711710120d497faa2f0aa68
Host: thedomain.minio.com
X-Forwarded-Port: 443
X-Original-Uri: /gitlab-artifacts/tmp/uploads/1551755815-1872-0001-1657-155007f4a6161f94fb3209c9f1c2b18f?uploadId=6d868fe1e08a4d14&X-Amz-Expires=15300&X-Amz-Date=20190305T031655Z&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=vglobs/20190305/us-east-1/s3/aws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=8f83ed266d9a855ce74a02920b3ed1dbc9ad44a6e711710120d497faa2f0aa68
X-Scheme: https
X-Real-Ip: 40.70.242.97
X-Forwarded-For: 40.70.242.97
X-Forwarded-Host: thedomain.minio.com
X-Request-Id: 2b54f95941f4e79546f5bcded604d2c2
X-Forwarded-Proto: https
Accept-Encoding: gzip
User-Agent: Go-http-client/2.0
[RESPONSE] [155175581.556233] [2019-03-05 03:16:55 +0000]
404 Not Found
Server: Minio/RELEASE.2019-02-12T21-58-47Z
Accept-Ranges: bytes
Content-Type: application/xml
Vary: Origin
X-Xss-Protection: 1; mode=block
Content-Security-Policy: block-all-mixed-content
X-Amz-Request-Id: 1588F1B154BC3CE6
<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>NoSuchUpload</Code><Message>The specified multipart upload does not exist. The upload ID may be invalid, or the upload may have been aborted or completed.</Message><Resource>/gitlab-artifacts/tmp/uploads/1551755815-1872-0001-1657-155007f4a6161f94fb3209c9f1c2b18f</Resource><RequestId>1588F1B154BC3CE6</RequestId><HostId>3L137</HostId></Error>
[REQUEST objectAPIHandlers.NewMultipartUploadHandler-fm] [155175581.691426] [2019-03-05 03:16:56 +0000]
POST /gitlab-artifacts/tmp/uploads/1551755816-1135-0001-1210-736fc75366312e2f44efe6d3d8691282?uploads
Host: thedomain.minio.com
X-Scheme: https
X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Authorization: AWS4-HMAC-SHA256 Credential=vglobs/20190305/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=66e6a5cb7d7da7e6f3382d17182a42e8ab00eba57bfcafdcb7fdd1dde8581fa2
X-Forwarded-For: 40.70.242.97
X-Forwarded-Host: thedomain.minio.com
X-Forwarded-Proto: https
Content-Length: 0
X-Amz-Date: 20190305T031656Z
X-Real-Ip: 40.70.242.97
X-Forwarded-Port: 443
X-Request-Id: f99e64ef898ef283cb371f49dd4ba832
User-Agent: fog-core/1.45.0
X-Original-Uri: /gitlab-artifacts/tmp/uploads/1551755816-1135-0001-1210-736fc75366312e2f44efe6d3d8691282?uploads
...
Output of checks
(If you are reporting a bug on GitLab.com, write: This bug happens on GitLab.com)
Results of GitLab environment info
Expand for output related to GitLab environment info
System information System: Proxy: no Current User: git Using RVM: no Ruby Version: 2.5.3p105 Gem Version: 2.7.6 Bundler Version:1.16.6 Rake Version: 12.3.2 Redis Version: 3.2.12 Git Version: 2.18.1 Sidekiq Version:5.2.5 Go Version: unknownGitLab information Version: 11.8.1-ee Revision: 39d0b2e Directory: /opt/gitlab/embedded/service/gitlab-rails DB Adapter: postgresql DB Version: 9.6.12 URL: https://git.vertiv.life HTTP Clone URL: https://git.vertiv.life/some-group/some-project.git SSH Clone URL: git@git.vertiv.life:some-group/some-project.git Elasticsearch: yes Geo: no Using LDAP: no Using Omniauth: yes Omniauth Providers: azure_oauth2, github, bitbucket
GitLab Shell Version: 8.4.4 Repository storage paths:
- default: /gitlab-data/git-data/repositories Hooks: /opt/gitlab/embedded/service/gitlab-shell/hooks Git: /opt/gitlab/embedded/bin/git
Results of GitLab application Check
Expand for output related to the GitLab application check
Checking GitLab subtasks ...Checking GitLab Shell ...
GitLab Shell: ... GitLab Shell version >= 8.4.4 ? ... OK (8.4.4) Running /opt/gitlab/embedded/service/gitlab-shell/bin/check Check GitLab API access: OK Redis available via internal API: OK
Access to /gitlab-data/ssh/authorized_keys: OK gitlab-shell self-check successful
Checking GitLab Shell ... Finished
Checking Gitaly ...
Gitaly: ... default ... OK
Checking Gitaly ... Finished
Checking Sidekiq ...
Sidekiq: ... Running? ... yes Number of Sidekiq processes ... 1
Checking Sidekiq ... Finished
Checking Incoming Email ...
Incoming Email: ... Reply by email is disabled in config/gitlab.yml
Checking Incoming Email ... Finished
Checking LDAP ...
LDAP: ... LDAP is disabled in config/gitlab.yml
Checking LDAP ... Finished
Checking GitLab App ...
Git configured correctly? ... yes Database config exists? ... yes All migrations up? ... yes Database contains orphaned GroupMembers? ... no GitLab config exists? ... yes GitLab config up to date? ... yes Log directory writable? ... yes Tmp directory writable? ... yes Uploads directory exists? ... yes Uploads directory has correct permissions? ... yes Uploads directory tmp has correct permissions? ... yes Init script exists? ... skipped (omnibus-gitlab has no init script) Init script up-to-date? ... skipped (omnibus-gitlab has no init script) Projects have namespace: ... 2/1 ... yes 4/2 ... yes 2/3 ... yes 2/4 ... yes 2/5 ... yes 2/6 ... yes 4/7 ... yes 2/8 ... yes 2/9 ... yes 6/10 ... yes 41/11 ... yes 41/13 ... yes 7/14 ... yes 8/15 ... yes 41/17 ... yes 4/18 ... yes 28/19 ... yes 4/21 ... yes 4/22 ... yes 13/23 ... yes 6/24 ... yes 40/26 ... yes 41/27 ... yes 40/28 ... yes 41/30 ... yes 4/31 ... yes 17/33 ... yes 17/35 ... yes 19/36 ... yes 21/37 ... yes 23/38 ... yes 25/39 ... yes 23/40 ... yes 23/41 ... yes 23/42 ... yes 6/44 ... yes 16/45 ... yes 4/46 ... yes 28/47 ... yes 4/48 ... yes 28/49 ... yes 24/51 ... yes 28/52 ... yes 30/53 ... yes 41/54 ... yes 28/55 ... yes 24/56 ... yes 4/57 ... yes 28/58 ... yes 28/59 ... yes 28/60 ... yes 24/62 ... yes 40/63 ... yes 40/64 ... yes 28/65 ... yes 2/67 ... yes 35/68 ... yes 37/69 ... yes 37/70 ... yes 8/71 ... yes 4/72 ... yes 16/73 ... yes 40/74 ... yes 28/76 ... yes 28/77 ... yes 4/78 ... yes 4/79 ... yes 30/80 ... yes 4/81 ... yes 37/82 ... yes 37/83 ... yes 41/84 ... yes 40/85 ... yes 40/86 ... yes 4/87 ... yes 35/88 ... yes 37/89 ... yes 41/90 ... yes 41/91 ... yes 41/92 ... yes 4/93 ... yes 4/94 ... yes 44/95 ... yes 43/96 ... yes 4/97 ... yes 47/98 ... yes 6/99 ... yes 16/100 ... yes 49/102 ... yes 39/103 ... yes 39/104 ... yes 39/106 ... yes 39/107 ... yes 39/108 ... yes 39/109 ... yes 35/110 ... yes 28/112 ... yes 47/113 ... yes 43/114 ... yes 49/115 ... yes 62/116 ... yes 62/117 ... yes 39/119 ... yes 48/120 ... yes 39/122 ... yes 47/123 ... yes 39/125 ... yes 39/126 ... yes 41/127 ... yes 2/128 ... yes 44/134 ... yes 48/139 ... yes 48/140 ... yes 41/143 ... yes 66/144 ... yes 66/145 ... yes 66/147 ... yes 66/148 ... yes 45/149 ... yes 45/150 ... yes 45/157 ... yes 66/159 ... yes 2/162 ... yes 74/164 ... yes 74/165 ... yes 74/166 ... yes 45/167 ... yes 46/169 ... yes 49/171 ... yes 39/172 ... yes 66/173 ... yes 66/174 ... yes 78/178 ... yes 78/179 ... yes 60/180 ... yes 48/181 ... yes 39/183 ... yes 10/184 ... yes 74/185 ... yes 74/186 ... yes 41/190 ... yes 66/192 ... yes 9/193 ... yes 28/194 ... yes 41/195 ... yes 36/196 ... yes 60/197 ... yes 66/198 ... yes 41/199 ... yes 66/200 ... yes 43/202 ... yes 83/203 ... yes 66/204 ... yes 82/205 ... yes 82/206 ... yes 77/207 ... yes 67/208 ... yes 4/209 ... yes 36/210 ... yes 60/211 ... yes 39/213 ... yes 66/216 ... yes 66/217 ... yes 24/218 ... yes 69/219 ... yes 78/222 ... yes 39/223 ... yes 41/226 ... yes 2/227 ... yes 60/228 ... yes 35/229 ... yes 24/233 ... yes 46/235 ... yes 46/237 ... yes 87/238 ... yes 4/239 ... yes 41/241 ... yes 28/242 ... yes 46/244 ... yes 4/245 ... yes 6/247 ... yes 16/248 ... yes 4/249 ... yes 39/250 ... yes 24/251 ... yes 41/252 ... yes 39/253 ... yes 4/255 ... yes 46/257 ... yes 44/262 ... yes 61/263 ... yes 41/265 ... yes 76/266 ... yes 94/267 ... yes 41/270 ... yes 41/272 ... yes 4/273 ... yes 60/274 ... yes 60/275 ... yes 60/276 ... yes 40/277 ... yes 28/278 ... yes 93/279 ... yes 46/282 ... yes 60/284 ... yes 2/285 ... yes 6/286 ... yes 41/288 ... yes 16/290 ... yes 60/291 ... yes 41/292 ... yes 39/293 ... yes 60/294 ... yes 138/295 ... yes 138/296 ... yes 39/297 ... yes 144/299 ... yes 101/300 ... yes 82/301 ... yes 28/302 ... yes 144/303 ... yes 144/304 ... yes 4/307 ... yes 45/309 ... yes 145/324 ... yes 145/325 ... yes 145/326 ... yes 145/327 ... yes 48/329 ... yes 145/331 ... yes 147/332 ... yes 145/337 ... yes 145/339 ... yes 48/340 ... yes 147/341 ... yes 147/342 ... yes 147/343 ... yes 147/344 ... yes 147/345 ... yes 48/346 ... yes 4/347 ... yes 150/348 ... yes 148/349 ... yes 148/350 ... yes 41/352 ... yes 36/354 ... yes 148/355 ... yes 41/389 ... yes 73/390 ... yes 132/393 ... yes 108/394 ... yes 129/397 ... yes 106/398 ... yes 4/399 ... yes 48/400 ... yes 48/401 ... yes 154/402 ... yes 41/403 ... yes 145/408 ... yes 48/409 ... yes 6/412 ... yes 16/413 ... yes 4/446 ... yes 36/449 ... yes 164/450 ... yes 164/451 ... yes 164/452 ... yes 164/453 ... yes 164/455 ... yes 164/456 ... yes 164/457 ... yes 164/459 ... yes 164/460 ... yes 164/461 ... yes 164/463 ... yes 164/464 ... yes 164/466 ... yes 164/467 ... yes 164/468 ... yes 164/470 ... yes 164/471 ... yes 36/472 ... yes 131/473 ... yes 164/474 ... yes 164/476 ... yes 164/477 ... yes 164/478 ... yes 164/479 ... yes 164/480 ... yes 164/481 ... yes 164/482 ... yes 164/483 ... yes 60/484 ... yes 60/485 ... yes 17/486 ... yes 17/487 ... yes 17/488 ... yes 60/489 ... yes 60/490 ... yes 60/491 ... yes 36/492 ... yes 17/493 ... yes 4/494 ... yes 40/495 ... yes 4/496 ... yes 4/497 ... yes 165/498 ... yes 165/499 ... yes 165/500 ... yes 165/501 ... yes 165/502 ... yes 165/503 ... yes 165/504 ... yes 165/505 ... yes 165/506 ... yes 165/507 ... yes 165/508 ... yes 165/509 ... yes 165/510 ... yes 165/511 ... yes 165/512 ... yes 165/513 ... yes 165/514 ... yes 165/515 ... yes 165/516 ... yes 165/517 ... yes 165/518 ... yes 165/519 ... yes 165/520 ... yes 165/521 ... yes 165/522 ... yes 165/523 ... yes 165/524 ... yes 165/525 ... yes 165/526 ... yes 165/527 ... yes 165/528 ... yes 165/529 ... yes 165/530 ... yes 165/531 ... yes 165/532 ... yes 165/533 ... yes 165/534 ... yes 165/535 ... yes 165/536 ... yes 165/537 ... yes 165/538 ... yes 165/539 ... yes 165/540 ... yes 165/541 ... yes 165/542 ... yes 165/543 ... yes 165/544 ... yes 165/545 ... yes 165/546 ... yes 165/547 ... yes 165/548 ... yes 165/549 ... yes 165/550 ... yes 165/551 ... yes 165/552 ... yes 165/553 ... yes 165/554 ... yes 165/555 ... yes 165/556 ... yes 131/557 ... yes 164/558 ... yes 164/559 ... yes 131/560 ... yes 131/561 ... yes 131/562 ... yes 131/563 ... yes 131/564 ... yes 131/565 ... yes 131/566 ... yes 131/567 ... yes 131/568 ... yes 164/569 ... yes 131/570 ... yes 36/571 ... yes 73/572 ... yes 60/573 ... yes 48/574 ... yes 36/575 ... yes 48/576 ... yes 131/577 ... yes 131/579 ... yes 122/580 ... yes 131/581 ... yes 36/582 ... yes 60/583 ... yes 131/585 ... yes 60/586 ... yes 122/587 ... yes 73/588 ... yes 73/589 ... yes 73/590 ... yes 73/591 ... yes 60/592 ... yes 73/593 ... yes 73/594 ... yes 60/595 ... yes 60/596 ... yes 36/597 ... yes 36/598 ... yes 156/599 ... yes 156/600 ... yes 156/601 ... yes 156/602 ... yes 166/603 ... yes 48/604 ... yes 131/605 ... yes 166/606 ... yes 37/608 ... yes 131/609 ... yes 73/610 ... yes 63/611 ... yes 167/612 ... yes 167/613 ... yes 167/614 ... yes 167/615 ... yes 156/616 ... yes 4/617 ... yes 63/619 ... yes 63/620 ... yes 156/621 ... yes 4/625 ... yes 63/626 ... yes 63/627 ... yes 63/628 ... yes 63/629 ... yes Redis version >= 2.8.0? ... yes Ruby version >= 2.3.5 ? ... yes (2.5.3) Git version >= 2.18.0 ? ... yes (2.18.1) Git user has default SSH configuration? ... yes Active users: ... 99 Elasticsearch version 5.6 - 6.x? ... yes (6.5.1)
Checking GitLab App ... Finished
Checking GitLab subtasks ... Finished
Possible fixes
It appears that minio is not returning a proper ETag on complete multipart. It does save off the MD5 of each part https://github.com/poornas/minio/blob/3c543d780d2c299ccb493d1bc80737e9e74068d2/cmd/gateway/azure/gateway-azure.go#L973-L980 but does not use that in computing a final ETag for the complete multipart action. Instead if uses the ETag created by azure for the resulting combined upload. https://github.com/poornas/minio/blob/3c543d780d2c299ccb493d1bc80737e9e74068d2/cmd/gateway/azure/gateway-azure.go#L1212 and https://github.com/poornas/minio/blob/3c543d780d2c299ccb493d1bc80737e9e74068d2/cmd/gateway/azure/gateway-azure.go#L712