This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-11-26
Channels
- # announcements (1)
- # aws (6)
- # babashka (1)
- # beginners (109)
- # calva (22)
- # clj-kondo (21)
- # cljsrn (1)
- # clojure (68)
- # clojure-europe (41)
- # clojure-nl (2)
- # clojure-uk (5)
- # clojurescript (7)
- # core-logic (1)
- # data-science (4)
- # datomic (1)
- # events (1)
- # fulcro (25)
- # gratitude (1)
- # juxt (4)
- # keyboards (1)
- # malli (5)
- # minecraft (3)
- # missionary (9)
- # music (1)
- # nextjournal (7)
- # off-topic (7)
- # polylith (31)
- # re-frame (3)
- # reveal (7)
- # ring (11)
- # shadow-cljs (1)
- # spacemacs (4)
- # tools-build (5)
- # tools-deps (5)
- # xtdb (25)
seems like a bug -- can you file an issue @danie? I would love it if you can include the metadata attached to that map you received ^
IIRC, I've discussed this with David. Often AWS returns non-compliant statuses, and indicates errors in other manners. I'll bet in this case, AWS returns a 400. I believe our previous conclusion was that this would be more configurable with the work in this execution-flow branch. As a workaround, we have our own wrapper invoke function that will “fix” anomaly categories by manually specifying how each service might return a busy status.
https://github.com/cognitect-labs/aws-api/issues/197
And there’s a :status 429
in there.
We have a function like this to fix the categories. There's some other edge cases.
(defn canonical-anomaly-category
[api aws-api-anomaly]
(or
(when (anom/retryable? aws-api-anomaly) (anom/category aws-api-anomaly))
(when-let [retriable? (get api->retriable-fn api)]
(when (retriable? aws-api-anomaly)
::anomalies/busy))
(when-let [anom-type (:__type aws-api-anomaly)]
(case anom-type
"AccessDeniedException" ::anomalies/forbidden
nil))
(anom/http-status->category-lookup
(get-in (meta aws-api-anomaly) [:http-response :status]))))