Поддержка JGit S3 только для контейнеров Standard-US? - PullRequest
2 голосов
/ 05 марта 2012

Возможно ли использовать другие места, кроме стандарта США, для контейнеров S3 с JGit (т.е. через файл конфигурации и т. Д.) Или я здесь что-то не так делаю?

Если я пытаюсь использовать корзину S3 с JGit, которая находится в ЕС, jgit выдает ошибку

-> jgit push origin master
Counting objects:       3
Finding sources:        100% (3/3)
Getting sizes:          100% (2/2)
Compressing objects:    100% (1/1)
Writing objects:        100% (3/3)
java.lang.NullPointerException
    at org.eclipse.jgit.transport.AmazonS3.error(AmazonS3.java:518)
    at org.eclipse.jgit.transport.AmazonS3.putImpl(AmazonS3.java:505)
        ...

Но когда я пытаюсь использовать ведро, которое находится в стандарте США, тогда все работает нормально.

-> git push origin master
Counting objects:       3
Finding sources:        100% (3/3)
Getting sizes:          100% (2/2)
Compressing objects:    100% (1/1)
Writing objects:        100% (3/3)
Put pack-132548a..idx:  100% (1/1)
To amazon-s3://.jgit@usreponame/chef-receipes.git
 * [new branch]      master -> master

1 Ответ

4 голосов
/ 06 марта 2012

NullPointerException происходит из-за ошибки в JGit.Amazone S3 API возвращает код, который не является ни 200, ни 500, и JGit пытается прочитать поток ошибок из соединения и не защищает от нулевого потока ошибок.

Я выдвинул предлагаемое исправлениедля этой проблемы здесь .

Как только это изменение будет применено, в сообщении об исключении должен появиться действительный код ответа, который, как мы надеемся, прояснит причину сбоя.

...