llnl / llnl/thicket

Possibly Confusing Behavior from Filling "name" Column

Open
#217 0 comments 0 reactions 0 assignees View on GitHub
area-thicket priority-normal
Dominant language
JavaScript
Stars
18
Forks
10
PR merge metrics
No merged PRs in 30d

Description

By default, Thicket performs a union between graphs and fills the row values for profiles that do not contain a given node with `NaN`s (numerical) and `None`s (string). We have found this may be confusing for users who expect a singular datatype, for example when querying:

![image](https://github.com/user-attachments/assets/a351ea29-e113-4c35-84e0-f0742748a192)

checking for `"hypre_BoomerAMGSolve" in n` will not work when `n` is `None`, causing the error. In this case the error could be avoided either by (1) turning off `fill_perfdata` when creating the Thicket, or (2) changing the query to `"hypre_BoomerAMGSolve" == n` (which is close but not exactly the same). This is not a bug and rather a question of how we can make the behavior of Thicket more intuitive or easy to understand.

A few solutions:
1. Check for this case before querying and print a warning. This would require parsing the query.
2. Make the fill value an empty string for columns of string type. This would avoid an error in the above case, but would be less clear that the value was filled versus using `None`.

Contributor guide

Open the contributing guide

Research direction

The issue names no files or tests. Start by tracing Thicket construction with fill_perfdata and the query path that handles missing values; done requires choosing and documenting a more intuitive behavior, since the issue currently presents multiple alternatives without a decision.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data, performance
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.