This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-02-24
Channels
- # announcements (5)
- # aws (24)
- # babashka (41)
- # beginners (130)
- # bristol-clojurians (2)
- # calva (39)
- # chlorine-clover (64)
- # cider (30)
- # clojure (202)
- # clojure-belgium (1)
- # clojure-dev (99)
- # clojure-europe (5)
- # clojure-hungary (4)
- # clojure-italy (10)
- # clojure-losangeles (8)
- # clojure-nl (11)
- # clojure-norway (6)
- # clojure-spec (7)
- # clojure-uk (12)
- # clojurescript (52)
- # core-typed (26)
- # cursive (19)
- # data-science (19)
- # datomic (19)
- # duct (10)
- # emacs (17)
- # fulcro (22)
- # graalvm (11)
- # jobs (3)
- # kaocha (28)
- # leiningen (6)
- # lumo (2)
- # malli (10)
- # nrepl (2)
- # off-topic (23)
- # pathom (2)
- # pedestal (7)
- # re-frame (3)
- # reagent (30)
- # reitit (2)
- # remote-jobs (2)
- # shadow-cljs (77)
- # sql (10)
- # test-check (22)
- # tools-deps (37)
- # vscode (1)
- # yada (3)
I updated to aws-api 0.8.437 and it appears to hang forever under certain conditions. Going down to 423 resolves the hang. I did take a thread dump during a hang. The below seems suspicious. I'm still digging in to try and get a minimal repro.
I'm looking at this right now, though I won't be for much longer tonight.
I'll let you know if I find anything.
Found the problem
Actually, I'm not quite sure I understand it yet, but the source is the thread pool of size 1 here: https://github.com/cognitect-labs/aws-api/blob/2d57c12218ed4cdc1bc8584ab2a1ecf689aff3f3/src/cognitect/aws/credentials.clj#L42
If I change that to size 2 it doesn't hang, so it appears that it's locking up when the one credentials provider is wrapped within the other.
Oh, I get it.
The outer provider's request happens first and can't return until the inner provider's request, which is issued second, returns.
I just released a fix for this: https://github.com/cognitect-labs/aws-api/blob/master/CHANGES.md#08445--2020-02-25
Sure. Please confirm it works for you.
Our tests are all passing. Going to deploy and let this marinate in the dev environment for a day.
Much appreciated!
Quick question, We’re changing from using the aws java sdk for aws-ses. For logging/auditing we’ve been storing the messageId
which the java sdk returns for a sent message. Is that available from the cognitect aws lib as well?
@slipset create an SES client, call (keys (aws/ops client))
to list the APIs you can call, then select the API you're calling and call (aws/doc client :APIYouWantToCall)
. It will show you what it takes / returns
@slipset FYI although it is correct about what fields it accepts, it is not 100% correct about which fields are required, because AWS docs are not 100% correct about it. See https://github.com/cognitect-labs/aws-api/issues/129 /cc @ghadi