confetti-clj / confetti

πŸŽ‰ A tool to help creating and deploying static sites with AWS
Mozilla Public License 2.0
99 stars 6 forks source link

"Cannot create enum from eu-west-2 value" #32

Open theronic opened 7 years ago

theronic commented 7 years ago
Retrieving jsr-275-0.9.3.jar from https://repo1.maven.org/maven2/
             clojure.lang.ExceptionInfo: java.lang.IllegalArgumentException: Cannot create enum from eu-west-2 value!
    data: {:file
           "/var/folders/8j/27sz_2rj0kd1b3v9y4n1_1t00000gn/T/boot.user7464173975716694273.clj",
           :line 35}
java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Cannot create enum from eu-west-2 value!
     java.lang.IllegalArgumentException: Cannot create enum from eu-west-2 value!
                                                com.amazonaws.regions.Regions.fromName                     Regions.java:   71
   com.amazonaws.services.s3.internal.S3RequestEndpointResolver.resolveRequestEndpoint   S3RequestEndpointResolver.java:   68
com.amazonaws.services.s3.internal.S3V4AuthErrorRetryStrategy.redirectToRegionInHeader  S3V4AuthErrorRetryStrategy.java:   88
com.amazonaws.services.s3.internal.S3V4AuthErrorRetryStrategy.shouldRetryWithAuthParam  S3V4AuthErrorRetryStrategy.java:   73
                                 com.amazonaws.http.AmazonHttpClient.executeOneRequest            AmazonHttpClient.java:  781
                                     com.amazonaws.http.AmazonHttpClient.executeHelper            AmazonHttpClient.java:  489
                                           com.amazonaws.http.AmazonHttpClient.execute            AmazonHttpClient.java:  310
                                       com.amazonaws.services.s3.AmazonS3Client.invoke              AmazonS3Client.java: 3604
                                       com.amazonaws.services.s3.AmazonS3Client.invoke              AmazonS3Client.java: 3557
                                  com.amazonaws.services.s3.AmazonS3Client.listObjects              AmazonS3Client.java:  647
                                                                                   ...
                                                             amazonica.core/fn-call/fn                         core.clj:  789
                                                     amazonica.core/intern-function/fn                         core.clj:  860
                                                                                   ...
                                              confetti.s3-deploy/get-bucket-objects/fn                    s3_deploy.clj:   29
                                                 confetti.s3-deploy/get-bucket-objects                    s3_deploy.clj:   29
                                                              confetti.s3-deploy/sync!                    s3_deploy.clj:  134
                                                                   pod$eval3061.invoke                   NO_SOURCE_FILE
                                                                                   ...
                                                                     clojure.core/eval                         core.clj: 3081
                                                                     boot.pod/eval-in*                          pod.clj:  369
                                                                                   ...
                                                                     boot.pod/eval-in*                          pod.clj:  372
                                              confetti.boot-confetti/eval3106/fn/fn/fn                boot_confetti.clj:  276
                                                        boot.task.built-in/fn/fn/fn/fn                     built_in.clj:  402
                                                        boot.task.built-in/fn/fn/fn/fn                     built_in.clj:  402
                                                jeluard.boot-notify/eval11725/fn/fn/fn                  boot_notify.clj:   60
                                                            io.perun/eval2147/fn/fn/fn                        perun.clj:  396
                                                            io.perun/eval1651/fn/fn/fn                        perun.clj:  116
                                                                   boot.core/run-tasks                         core.clj:  794
                                                                     boot.core/boot/fn                         core.clj:  804
                                                   clojure.core/binding-conveyor-fn/fn                         core.clj: 1916
                                                                                   ...
>>> elapsed time 24m53s
martinklepsch commented 7 years ago

Thanks for the report @pate β€” any chance you can give more context?

Also it may be worth to check what version of Amazonica is on the classpath. Since eu-west-2 is relatively new it might make sense to check with the most recent version of Amazonica/AWS Java libraries.

theronic commented 7 years ago

Version 0.1.5 can't publish to S3 buckets in eu-west2 region.

What kind of context do you need? Which library version do I need to bump to get the latest regions?

martinklepsch commented 7 years ago
boot show -d

would be a good start. That said boot's pods should have eliminated any potential for a dependency conflict like this.

The task invocation leading up to this error would be helpful too. I'll create a bucket in eu-west-2 and try to reproduce once I know what exactly you're doing :)

theronic commented 7 years ago

This is still an issue, but I doubt it's a dependency conflict. Seems like an AWS dependency doesn't know about the (relatively new) EU (London) region?

 ❯ boot show -d                                                                                                                                                           [21:16:41]
[adzerk/boot-reload "0.4.13" :scope "test"]
[clj-time "0.13.0"]
└── [joda-time "2.9.7"]
[confetti "0.2.0"]
[deraen/boot-livereload "0.2.0"]
[hashobject/boot-s3 "0.1.2-20150920.195517-2"]
β”œβ”€β”€ [clj-aws-s3 "0.3.10"]
β”‚   └── [com.amazonaws/aws-java-sdk "1.7.5"]
β”‚       β”œβ”€β”€ [com.fasterxml.jackson.core/jackson-annotations "2.1.1"]
β”‚       β”œβ”€β”€ [com.fasterxml.jackson.core/jackson-core "2.1.1"]
β”‚       β”œβ”€β”€ [com.fasterxml.jackson.core/jackson-databind "2.1.1"]
β”‚       β”œβ”€β”€ [commons-codec "1.3"]
β”‚       β”œβ”€β”€ [commons-logging "1.1.1"]
β”‚       └── [org.apache.httpcomponents/httpclient "4.2"]
β”‚           └── [org.apache.httpcomponents/httpcore "4.2"]
└── [pandect "0.5.2"]
    β”œβ”€β”€ [org.bouncycastle/bcprov-jdk15on "1.51" :exclusions [[org.clojure/clojure]]]
    └── [potemkin "0.3.11" :exclusions [[org.clojure/clojure]]]
        β”œβ”€β”€ [clj-tuple "0.1.7"]
        └── [riddley "0.1.7"]
[hiccup "1.0.5"]
[jeluard/boot-notify "0.2.1" :scope "test"]
[org.clojure/clojure "1.8.0" :scope "provided"]
[org.clojure/tools.nrepl "0.2.12"]
[pandeiro/boot-http "0.7.6"]
[perun "0.4.2-20170301.173959-4" :scope "test"]
theronic commented 7 years ago

Not to be a bother, but any idea who I can hound about this? It's a real pain to redeploy sites to a different region because you have to wait ~24 hours for the S3 bucket name to be released.