nervous-systems / cljs-lambda

Utilities around deploying Clojurescript functions to AWS Lambda
The Unlicense
310 stars 34 forks source link

may need major version bump for cb -> ctx upgrade #81

Closed joekiller closed 7 years ago

joekiller commented 7 years ago

I know the horse is already out of the stable but at least let this be the note on the door after the fact...

When the code https://github.com/nervous-systems/cljs-lambda/commit/db6a26e58199681df508c67e15e84c56bab72fdd was updated to use callback. This had some unforeseen consequences that could severely affect the function of Lambda programs. In our case, we are using pg-pool for SQL connections. We were boggled when we were writing a new library that used the same sql calls seemed to wait until the idleTimeoutMillis hit (30 seconds in our case). The lambda code (sprinkled with tons of prn) gave us confidence that that part of the code was executing fine, including the sql query. However, downgrading cljs-lambda to 0.3.3 from 0.3.6 made the problem go away, because it doesn't wait for unfulfilled promises anymore.

I'm raising the issue because even as I directly asked for the update, I didn't realize it until we lost a morning on troubleshooting. Clearly the unfulfilled promises bug in our code needs to be fixed (I think it has to do with the pg-pool of connections) That being said, a bump in the bug fix number of the project version doesn't necessary convey how big the change really was. It was a "change the way all lambda by default respond to AWS" change.

joekiller commented 7 years ago

I guess if it isn't 1.0 it doesn't matter anyway. Cheers!