Что вызывает ошибку TransportException при использовании jgit для отправки в корзину AWS S3? - PullRequest
0 голосов
/ 10 октября 2018

Я использую jgit, чтобы использовать корзину S3 для хранения моего репозитория, как описано в этом сообщении stackoverflow .Я могу выдвинуть небольшой репозиторий (~ 2 ГБ) к этому S3 без проблем.Когда я пытаюсь протолкнуть больший репозиторий (~ 40 ГБ), я получаю следующую ошибку:

 Caused by: org.eclipse.jgit.errors.TransportException: amazon-s3://.jgit@example-repo/s3.git: cannot store objects

Причиной этого является размер моего репозитория, или это определенный тип файла, который S3 не 'нравится?Я изменил свой файл свойств .jgit, используя методологию, описанную в этого поста , и все еще получаю сообщение об ошибке.

Дополнительная информация:

My S3Ведро находится в регионе Восток США (Северная Вирджиния).

Мой удаленный репозиторий настроен следующим образом:

amazon-s3://.jgit@example-repo/s3.git

.jgit файл свойств:

accesskey: <my access key>
secretkey: <my secret key>
acl: private
domain: s3.us-east-1.amazonaws.com

Этот толчок jgit работает (размер репо составляет 1 ГБ):

$ jgit push s3 master

Counting objects:       3
Finding sources:        100% (3/3)
Getting sizes:          100% (2/2)
Compressing objects:    100% (34/34)
Writing objects:        100% (3/3)
Put pack-5ef803f..idx:  100% (1/1)
To amazon-s3://.jgit@example-repo/s3.git
 * [new branch]      master -> master

Вот полный вывод неудачного толчка (40 ГБ)

$ jgit push s3 master
Counting objects:       1251
Finding sources:        100% (1251/1251)
Getting sizes:          100% (1245/1245)
Compressing objects:     99% (673507/673520)
Writing objects:        100% (1251/1251)
Put pack-d85b1f0..pack:   0% (    6064/35268928)
org.eclipse.jgit.api.errors.TransportException: amazon-s3://.jgit@example-repo/s3.git: cannot store objects
    at org.eclipse.jgit.api.PushCommand.call(PushCommand.java:180)
    at org.eclipse.jgit.pgm.Push.run(Push.java:137)
    at org.eclipse.jgit.pgm.TextBuiltin.execute(TextBuiltin.java:228)
    at org.eclipse.jgit.pgm.Main.execute(Main.java:288)
    at org.eclipse.jgit.pgm.Main.run(Main.java:176)
    at org.eclipse.jgit.pgm.Main.main(Main.java:148)
Caused by: org.eclipse.jgit.errors.TransportException: amazon-s3://.jgit@example-repo/s3.git: cannot store objects
    at org.eclipse.jgit.transport.WalkPushConnection.sendpack(WalkPushConnection.java:294)
    at org.eclipse.jgit.transport.WalkPushConnection.push(WalkPushConnection.java:179)
    at org.eclipse.jgit.transport.PushProcess.execute(PushProcess.java:172)
    at org.eclipse.jgit.transport.Transport.push(Transport.java:1346)
    at org.eclipse.jgit.api.PushCommand.call(PushCommand.java:170)
    ... 5 more
Caused by: java.io.IOException: Error writing request body to server
    at java.base/sun.net.www.protocol.http.HttpURLConnection$StreamingOutputStream.checkError(HttpURLConnection.java:3587)
    at java.base/sun.net.www.protocol.http.HttpURLConnection$StreamingOutputStream.write(HttpURLConnection.java:3570)
    at org.eclipse.jgit.util.TemporaryBuffer$LocalFile.writeTo(TemporaryBuffer.java:509)
    at org.eclipse.jgit.transport.AmazonS3.putImpl(AmazonS3.java:504)
    at org.eclipse.jgit.transport.AmazonS3$1.close(AmazonS3.java:474)
    at java.base/java.io.FilterOutputStream.close(FilterOutputStream.java:188)
    at java.base/java.io.FilterOutputStream.close(FilterOutputStream.java:188)
    at org.eclipse.jgit.transport.WalkPushConnection.sendpack(WalkPushConnection.java:274)
    ... 9 more
    Suppressed: java.io.IOException: insufficient data written
        at java.base/sun.net.www.protocol.http.HttpURLConnection$StreamingOutputStream.close(HttpURLConnection.java:3609)
        at org.eclipse.jgit.transport.AmazonS3.putImpl(AmazonS3.java:505)
        ... 13 more
...