OpenFn / OpenFn/apollo

Sentry: bare `NOT_FOUND` errors with no request context

Open
#603 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Jupyter Notebook
Stars
5
Forks
10
Avg merge
2d 20h
Merged PRs (30d)
17

Description

What we're seeing

Sentry is periodically capturing an error like this:

Error
NOT_FOUND

with no request path, method, or other identifying context attached to the
event — just the bare exception.

Likely source

platform/src/server.ts's global onError hook reports every error Elysia
(the HTTP framework this server is built on) raises, with no filtering:

app.onError(({ error }) => {
  captureException(error);
});

Elysia throws its own NotFoundError (code: "NOT_FOUND", status: 404)
whenever a request hits a route that doesn't match anything — this is
generic framework behavior for any unmatched path. It's plausible that's
what's landing in Sentry here, but the pasted event alone doesn't confirm it
or say what path/client triggered it.

Open questions for whoever picks this up

  • Is this actually Elysia's routing NOT_FOUND, or something else entirely?
  • Check the Sentry issue's Request tab (not just breadcrumbs) for the actual
    URL/method — is it junk/scanner traffic, or a real client (e.g. Lightning)
    hitting a path that should exist?
  • How frequent is this — one-off noise, or a recurring pattern worth tracing
    to a specific caller?
  • If it does turn out to be routine unmatched-route traffic, is it worth
    excluding from Sentry reporting (e.g. filtering on error.code === "NOT_FOUND" in the onError hook), or should the noise stay visible for
    volume/monitoring reasons?

Not yet decided

No fix has been agreed or applied — this is a triage note for someone with
more context on Apollo's error-reporting conventions to investigate and
decide the right approach.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in platform/src/server.ts and inspect the global onError hook that sends errors to Sentry. Check the Sentry issue's Request tab to determine whether the NOT_FOUND error is Elysia routing noise and identify its frequency and caller. Done means documenting the cause and agreeing on whether the existing reporting behavior should change.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
api, backend, observability
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.