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

API unable to recover from resolve errors #12

Closed
EvilKanoa opened this issue Jun 20, 2019 · 2 comments
Closed

API unable to recover from resolve errors #12

EvilKanoa opened this issue Jun 20, 2019 · 2 comments
Labels
bug Something isn't working

Comments

@EvilKanoa
Copy link
Owner

EvilKanoa commented Jun 20, 2019

Whenever an error is thrown during the resolve phase (e.g., ECONNRESET or even a Parse Error), the API will continue throwing that error on every subsequent request. It seems like a server restart will entirely resolve the error. Potentially consider rebooting instantly on errors or preventing the effects causing this bug.

Output after DOSing API to cause parse error:

2019-06-20T18:10:49.529953+00:00 heroku[router]: at=info method=POST path="/graphql" host=webadvisor-api.herokuapp.com request_id=2a260e21-964c-4dc9-8882-8d421408c14c fwd="206.174.182.226" dyno=web.1 connect=1ms service=1381ms status=200 bytes=485 protocol=http
2019-06-20T18:10:49.537814+00:00 app[web.1]: { RequestError: Error: Parse Error
2019-06-20T18:10:49.537829+00:00 app[web.1]:     at new RequestError (/app/node_modules/request-promise-core/lib/errors.js:14:15)
2019-06-20T18:10:49.537832+00:00 app[web.1]:     at Request.plumbing.callback (/app/node_modules/request-promise-core/lib/plumbing.js:87:29)
2019-06-20T18:10:49.537834+00:00 app[web.1]:     at Request.RP$callback [as _callback] (/app/node_modules/request-promise-core/lib/plumbing.js:46:31)
2019-06-20T18:10:49.537837+00:00 app[web.1]:     at self.callback (/app/node_modules/request/request.js:185:22)
2019-06-20T18:10:49.537840+00:00 app[web.1]:     at Request.emit (events.js:198:13)
2019-06-20T18:10:49.537842+00:00 app[web.1]:     at Request.onRequestError (/app/node_modules/request/request.js:881:8)
2019-06-20T18:10:49.537844+00:00 app[web.1]:     at ClientRequest.emit (events.js:198:13)
2019-06-20T18:10:49.537847+00:00 app[web.1]:     at TLSSocket.socketOnData (_http_client.js:448:9)
2019-06-20T18:10:49.537849+00:00 app[web.1]:     at TLSSocket.emit (events.js:198:13)
2019-06-20T18:10:49.537851+00:00 app[web.1]:     at addChunk (_stream_readable.js:288:12)
2019-06-20T18:10:49.537854+00:00 app[web.1]:   name: 'RequestError',
2019-06-20T18:10:49.537856+00:00 app[web.1]:   message: 'Error: Parse Error',
2019-06-20T18:10:49.537858+00:00 app[web.1]:   cause:
2019-06-20T18:10:49.537860+00:00 app[web.1]:    { Error: Parse Error
2019-06-20T18:10:49.537863+00:00 app[web.1]:        at TLSSocket.socketOnData (_http_client.js:442:20)
2019-06-20T18:10:49.537864+00:00 app[web.1]:        at TLSSocket.emit (events.js:198:13)
2019-06-20T18:10:49.537867+00:00 app[web.1]:        at addChunk (_stream_readable.js:288:12)
2019-06-20T18:10:49.537869+00:00 app[web.1]:        at readableAddChunk (_stream_readable.js:269:11)
2019-06-20T18:10:49.537871+00:00 app[web.1]:        at TLSSocket.Readable.push (_stream_readable.js:224:10)
2019-06-20T18:10:49.537874+00:00 app[web.1]:        at TLSWrap.onStreamRead (internal/stream_base_commons.js:94:17) bytesParsed: 8245, code: 'HPE_HEADER_OVERFLOW' },
2019-06-20T18:10:49.537876+00:00 app[web.1]:   error:
2019-06-20T18:10:49.537879+00:00 app[web.1]:    { Error: Parse Error
2019-06-20T18:10:49.537880+00:00 app[web.1]:        at TLSSocket.socketOnData (_http_client.js:442:20)
2019-06-20T18:10:49.537882+00:00 app[web.1]:        at TLSSocket.emit (events.js:198:13)
2019-06-20T18:10:49.537885+00:00 app[web.1]:        at addChunk (_stream_readable.js:288:12)
2019-06-20T18:10:49.537887+00:00 app[web.1]:        at readableAddChunk (_stream_readable.js:269:11)
2019-06-20T18:10:49.537889+00:00 app[web.1]:        at TLSSocket.Readable.push (_stream_readable.js:224:10)
2019-06-20T18:10:49.537891+00:00 app[web.1]:        at TLSWrap.onStreamRead (internal/stream_base_commons.js:94:17) bytesParsed: 8245, code: 'HPE_HEADER_OVERFLOW' },
2019-06-20T18:10:49.537894+00:00 app[web.1]:   options:
2019-06-20T18:10:49.537896+00:00 app[web.1]:    { jar: true,
2019-06-20T18:10:49.537898+00:00 app[web.1]:      followAllRedirects: true,
2019-06-20T18:10:49.537900+00:00 app[web.1]:      url:
2019-06-20T18:10:49.537902+00:00 app[web.1]:       'https://webadvisor.uoguelph.ca/WebAdvisor/WebAdvisor?CONSTITUENCY=WBST&type=P&pid=ST-WESTS12A&TOKENIDX=',
2019-06-20T18:10:49.537904+00:00 app[web.1]:      resolveWithFullResponse: true,
2019-06-20T18:10:49.537906+00:00 app[web.1]:      callback: [Function: RP$callback],
2019-06-20T18:10:49.537908+00:00 app[web.1]:      transform: undefined,
2019-06-20T18:10:49.537910+00:00 app[web.1]:      simple: true,
2019-06-20T18:10:49.537912+00:00 app[web.1]:      transform2xxOnly: false },
2019-06-20T18:10:49.537914+00:00 app[web.1]:   response: undefined }
@EvilKanoa EvilKanoa added the bug Something isn't working label Jun 20, 2019
@EvilKanoa
Copy link
Owner Author

This may have been an issue with an overflowing cookie jar. More testing will be needed but #13 potentially fixes this.

@EvilKanoa
Copy link
Owner Author

#13 fixed this it seems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant