Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cloudwatch ThrottlingExceptions when sharing resource between app instances #67

Open
oortlieb opened this issue Oct 6, 2015 · 2 comments

Comments

@oortlieb
Copy link

oortlieb commented Oct 6, 2015

I have a server process using a lambdaws-ified module to do some file processing. The server needs to provide a response, so the server must wait for a response, which lambdaws seems to get by querying the cloudwatch logs.

When running multiple instances of the server, however, each instance must query the cloudwatch hose to look for responses -- this leads to ThrottlingExceptions, and as a result, responses are often not received before the timeout.

Is there a suggested way to work around this? Is lambdaws optimized for a lambda instance per server instance (ie, could I work around this by providing a separate lambda function to each server instance)? Or is the cloudwatch hose throttling a global restriction?

@slvnperron
Copy link
Contributor

There's an issue open on cloudwatch-logs-hose repo about this. The cloudwatch hose is being throttled per account if I'm right, so we need to implement a back-off algorithm.

The hose is being used to capture Lambda limit errors such as timeouts. The result is get from SQS. Maybe you could try to disable the hose if you don't need such reporting?

https://github.com/mentum/lambdaws/blob/master/lib/LambdaHelper.js#L107

This will require a small change to the lib

@oortlieb
Copy link
Author

oortlieb commented Oct 6, 2015

Thanks for the clarification -- the issue with dropped responses must be happening somewhere else.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants