aws

http://status.aws.amazon.com/ https://www.expeditedssl.com/aws-in-plain-english
2020-01-22T15:04:07.035Z

I'm glad to be seeing some :thumbsup: s, but I don't know if that's because you like the idea or you've checked it out. If you've checked it out and it's working well for you, please let me know (either say so or give me a on the message above). Thanks!

orestis 2020-01-22T16:19:35.037300Z

I’m happy to test, I guess the main thing is if my code creates two different clients (e.g. one Route53 and one Cloudwatch) and things keep working, right? I don’t have much instrumentation in this code about threads so I wouldn’t know where to look.

2020-01-22T16:54:56.037700Z

Any explicit feedback is helpful at this point, so yes, please! Don't worry about instrumentation.

chrisulloa 2020-01-22T18:31:17.037900Z

Planning to test this later today and give some feedback.

2020-01-22T18:53:21.038100Z

Thanks @christian.gonzalez

kenny 2020-01-22T21:51:41.039300Z

Is there some way to add middleware to a client? If a request fails, I'd like to include the "x-amzn-requestid" header in the resulting anomaly.

ghadi 2020-01-22T22:00:02.040100Z

the metadata of the response should have a key :http-response with all the relevant details @kenny

kenny 2020-01-22T22:00:23.040700Z

Yes. I'd like to always attach the request-id header if the request resulted in an anomaly.

kenny 2020-01-22T22:00:49.041300Z

The only obvious way to do that right now is to write my own invoke function and use that everywhere.

ghadi 2020-01-22T22:02:06.042700Z

that seems like the right thing to do

ghadi 2020-01-22T22:02:37.043200Z

the data is already exposed

ghadi 2020-01-22T22:02:49.043600Z

and aws/invoke has a uniform interface across all services

kenny 2020-01-22T22:04:02.044400Z

It'd just be nice to have a way to ensure the request-id is always included. Developers may forget to use our own invoke function instead of the built-in one.

kenny 2020-01-22T22:04:51.044900Z

If invoke was exposed on the Client protocol, that'd be easy to do.

mruzekw 2020-01-22T22:07:18.045300Z

Has anyone had any success with JVM/CLJ + Lambda + Provisioned Currency?

ghadi 2020-01-22T22:09:55.046100Z

@kenny you're in solution space, but I only deal in problem space 🙂

ghadi 2020-01-22T22:10:23.046600Z

what's the actual problem without presuming a solution?

ghadi 2020-01-22T22:11:27.048400Z

is it inconvenient to reach into grab the x-amzn-requestid header?

ghadi 2020-01-22T22:13:10.050Z

(inconvenience is legit IMHO)

kenny 2020-01-22T22:14:17.051100Z

Haha. The problem is ensuring the amzn-request-id is always included in the result if an anomaly occurred. Writing our own invoke function works but has the fatal flaw of humans being forgetful. There's no way to ensure that our invoke function is always used instead of the built-in invoke function. This is, of course, a classic case of "don't do that". While that's fair in some cases, I don't think that's a great solution here. It seems far better to have a solution that will ensure all of our code follows the conventions mandated.

kenny 2020-01-22T22:16:06.053300Z

The arises because we are hitting some cases where amazon is not returning values that pass their spec. Their support team requires the request-id. We like to log as much information as we possibly can to make these issues easier to figure out retractively. Therefore it seems to make sense to always include a request-id if an anomaly occurs.

ghadi 2020-01-22T22:16:51.054700Z

thanks this is more helpful

ghadi 2020-01-22T22:16:53.055Z

do all errors have a amzn reqid? do all requests have a amzn reqid? are there other headers that come back that are of general use?

kenny 2020-01-22T22:16:56.055100Z

In this particular case, I have no way to reproduce the issue we were seeing because it doesn't seem possible. If the request-id was logged amazon could have debugged further.

ghadi 2020-01-22T22:17:28.055600Z

> amazon is not returning values that pass their spec ^ very interested in this

kenny 2020-01-22T22:18:41.056700Z

Those are all great questions and I don't know the answer. I did some brief googling a bit ago and couldn't find anything that ensured amazon always included the request-id in the response headers. The function I would write would include the "x-amzn-requestid" in the anomaly if it existed in the header map.

kenny 2020-01-22T22:21:00.058600Z

The case we hit was a pagination token was returned that was not valid. We didn't log the pagination token so we couldn't send it to amazon. We did log the anomaly which has basically no useful info besides saying the NextToken was invalid. If the anomaly had the request-id, Amazon said they could dig in further.

ghadi 2020-01-22T22:21:22.059200Z

in what way was the token invalid?

ghadi 2020-01-22T22:21:36.059700Z

some pagination tokens expire, for example

kenny 2020-01-22T22:21:38.059900Z

The entire message was this "Invalid NextToken provided."

kenny 2020-01-22T22:22:08.060400Z

There's no way this expired. The code executes sequentially in a very short period of time.

kenny 2020-01-22T22:22:26.060800Z

Well, if it did expire, the token would have an expiry of less than 10s.

kenny 2020-01-22T22:24:09.062500Z

Anyway, we are now logging the pagination token to hopefully debug further. I would've liked to had a better answer from amazon by providing the request-id.

ghadi 2020-01-22T22:33:32.063900Z

You had other requests successful with the continuation tokens?

ghadi 2020-01-22T22:33:40.064100Z

@kenny

kenny 2020-01-22T22:33:57.064500Z

Yes. This code executes often so it was very strange that one failed like this.

ghadi 2020-01-22T22:34:14.064700Z

weird

kenny 2020-01-22T22:34:39.065200Z

Very. The next-tokens are a bit strange with this api too. They look like uuids.