-
Notifications
You must be signed in to change notification settings - Fork 22
Signups endpoint is timing out. #7333
Comments
@blisteringherb found the error for the example 500 request that I included above:
|
Possibly something minor, but is there a chance the wrong data/structure is being sent in here?
|
|
Yeah, it seems like it works when you whittle down the query by specifying a @aaronschachter What's an example request URL from Gambit? |
|
Interesting – I'm getting a successful response when querying Phoenix's # good, returns full response
curl "https://www.dosomething.org/api/v1/signups?count=10&user=5543dfd6469c64ec7d8b46b3" \
# good, returns full response
curl "https://www.dosomething.org/api/v1/signups?count=10&user=1258186" \
# bad, returns { "data": [] }
curl "https://northstar.dosomething.org/v1/signups?user=5543dfd6469c64ec7d8b46b3&count=10" \
-H "Accept: application/json" \
-H "Authorization: Bearer ***** Hidden credentials *****" \
-H "Content-Type: application/json; charset=utf-8" |
For the Northstar empty-response, my guess is that something weird is happening with how the |
I made and deployed the change in Gambit today to query Phoenix instead of Northstar (https://github.com/DoSomething/gambit/pull/830) per https://dosomething.slack.com/archives/C02BBRN5A/p1490634446294290 If the Northstar proxy stays broken, the mobile apps stay broken. If we drop support for the mobile apps completely (which.. we kind of have if we don't fix the proxy or update the apps), we may not have a need to join on things like Reportback Items or Campaign information anymore on this Signups index -- which could be helpful for performance... |
While load testing Gambit thor, it became apparent to me that using an aggressive concurrency setting ended in a high error rate of requests made to Northstar thor. Requests would start to take longer to respond very rapidly. Once it passed the 30 second mark, Heroku router interrupted the request and logged an H12 Timeout error. |
@DFurnes to answer #7333 (comment) Gambit makes 2 requests to the Signups endpoint:
|
Investigating in New Relic, and one idea that comes to mind is introducing a query parameter to exclude Reportback Files. The mobile apps (and possibly other DS apps?) need Reportback File image URL's to render User profiles, but Gambit doesn't ever use them -- it just cares about the Signup's Adding the parameter and conditionally joining on RB files could be a way to improve Gambit performance without breaking the mobile app User profiles. Here's some examples of 5 minute GET signups requests I've found from poking around New Relic for Gambit external services From Phoenix New Relic: Note: User profiles in mobile app are currently broken while the Northstar Signups proxy is broken. |
BUG
Current Behavior
The
/v1/api/signups
endpoint in Phoenix seems to either timing out or returning 500s. It seems like the timeouts started to occur roughly around the same time that we deployed the fix for #7329 (the diff for that deploy is in links below).Desired Behavior
It should return a successful response in a reasonable amount of time.
Steps to Replicate
Why This Matters
This is causing errors on SMS messaging in Gambit and we want to send a broadcast this afternoon!
💣
Relevant Screenshots + Links
The text was updated successfully, but these errors were encountered: