posit-dev / posit-dev/positron

Column Profile Error handling

Open
#4,559 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area: data explorer enhancement
Dominant language
TypeScript
Stars
4.3k
Forks
184
Avg merge
1d 11h
Merged PRs (30d)
206

Description

A follow up for https://github.com/posit-dev/positron/pull/4326

Currently with #4326 we implicitly assume that if there's an error while computing the profiles we'll either return an empty set of profiles or we'll never return the event, and thus the promise will timeout.

We should agree on a contract to return error messages to the front-end if something goes wrong while computing the profiles. Since this method computes multiple profiles, for multiple columns at the same time we should probably be able to identify the error at the profile level, so the UI can handle them differently. Similarly to what we have done to display invalid filters.

One important use case for this functionality would be to avoid computing the summary profiles with ALTREP vectors, as this computation forces materialization of the entire vectors (see internal slack for more context), but in this case, the UI should display some info about why it didn't compute the summary values.

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 by reading pull request #4326 and the existing invalid-filter handling referenced in the issue. Trace how profile computation reports results to the front end and define the per-profile error contract. Done means computation failures, including skipped summary profiles, reach the UI with enough context for it to display an explanation.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
data, frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.