aws

http://status.aws.amazon.com/ https://www.expeditedssl.com/aws-in-plain-english
kenny 2020-02-24T02:38:16.001200Z

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.

2020-02-25T14:59:27.009200Z

I just released a fix for this: https://github.com/cognitect-labs/aws-api/blob/master/CHANGES.md#08445--2020-02-25

kenny 2020-02-25T15:28:07.009500Z

Thanks!

2020-02-25T15:31:05.009700Z

Sure. Please confirm it works for you.

kenny 2020-02-25T15:41:17.009900Z

Ok, looking into it now.

1
kenny 2020-02-25T16:12:38.011900Z

Our tests are all passing. Going to deploy and let this marinate in the dev environment for a day.

2020-02-25T16:16:31.012100Z

Much appreciated!

2020-02-24T02:40:44.001600Z

related? https://github.com/cognitect-labs/aws-api/issues/130

kenny 2020-02-24T02:41:12.001900Z

Ah, we do assume a role.

2020-02-24T02:41:41.002100Z

I'm looking at this right now, though I won't be for much longer tonight.

2020-02-24T02:41:46.002300Z

I'll let you know if I find anything.

kenny 2020-02-24T02:42:11.002500Z

Haha. Ok great. Thank you.

2020-02-24T02:46:52.002700Z

Found the problem

kenny 2020-02-24T02:47:29.002900Z

What is it?

2020-02-24T02:48:51.003100Z

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

2020-02-24T02:49:27.003400Z

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.

2020-02-24T02:49:48.003600Z

Oh, I get it.

2020-02-24T02:50:35.003800Z

The outer provider's request happens first and can't return until the inner provider's request, which is issued second, returns.

kenny 2020-02-24T02:52:13.004Z

Ah

2020-02-24T02:55:56.004200Z

Writing up a workaround in that issue ....

1
slipset 2020-02-24T20:01:10.005700Z

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?

ghadi 2020-02-24T20:02:56.007Z

@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

2020-02-24T20:06:05.008400Z

@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

slipset 2020-02-24T20:20:53.008900Z

Thanks! Help appreciated.