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

[python] Check for uniqueness of registration obs/var field-name inputs #2380

Merged
merged 2 commits into from
Apr 4, 2024

Conversation

johnkerl
Copy link
Member

@johnkerl johnkerl commented Apr 4, 2024

Issue and/or context: When non-unique values are present in obs or var then append-mode ingest, if it uses that non-uniquely-valued field name as registration inputs, will fail at ingestion time with

Error: Duplicate coordinates (1413) are not allowed

This problem happens during the data write.

Changes:

The error should be surfaced earlier, at registration time:

  • Before the write has begun
  • WIth a more informative error message

Notes for Reviewer:

Copy link

codecov bot commented Apr 4, 2024

Codecov Report

Merging #2380 (6f452c5) into main (70fd58f) will increase coverage by 23.88%.
Report is 3 commits behind head on main.
The diff coverage is 88.88%.

Additional details and impacted files
@@             Coverage Diff             @@
##             main    #2380       +/-   ##
===========================================
+ Coverage   66.72%   90.61%   +23.88%     
===========================================
  Files         142       37      -105     
  Lines       12708     3898     -8810     
  Branches      511        0      -511     
===========================================
- Hits         8480     3532     -4948     
+ Misses       4128      366     -3762     
+ Partials      100        0      -100     
Flag Coverage Δ
libtiledbsoma ?
python 90.61% <88.88%> (+0.01%) ⬆️
r ?

Flags with carried forward coverage won't be shown. Click here to find out more.

Components Coverage Δ
python_api 90.61% <88.88%> (+0.01%) ⬆️
libtiledbsoma ∅ <ø> (∅)

@johnkerl johnkerl force-pushed the kerl/dup-coords-check branch from d979165 to 7b65232 Compare April 4, 2024 19:25
@johnkerl johnkerl force-pushed the kerl/dup-coords-check branch from 7b65232 to 89ee20d Compare April 4, 2024 19:29
@johnkerl johnkerl marked this pull request as ready for review April 4, 2024 19:29
@johnkerl
Copy link
Member Author

johnkerl commented Apr 4, 2024

[sc-44549]

Copy link

This pull request has been linked to Shortcut Story #44549: Duplicate error during SOMA experiment ingestion.

@johnkerl johnkerl changed the title [python] Check for uniqueness of registration obs/var field-name inputs [WIP] [python] Check for uniqueness of registration obs/var field-name inputs Apr 4, 2024
Copy link
Member

@ryan-williams ryan-williams left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lg! I added 6f452c5 as a minor cleanup (per side-convo)

@johnkerl johnkerl merged commit f0c483d into main Apr 4, 2024
12 checks passed
@johnkerl johnkerl deleted the kerl/dup-coords-check branch April 4, 2024 21:34
github-actions bot pushed a commit that referenced this pull request Apr 4, 2024
…ts (#2380)

* [python] Check for uniqueness of registration obs/var field-name inputs

* conditional contextmanager for boilerplate reduction

---------

Co-authored-by: Ryan Williams <[email protected]>
johnkerl added a commit that referenced this pull request Apr 4, 2024
…ts (#2380) (#2385)

* [python] Check for uniqueness of registration obs/var field-name inputs

* conditional contextmanager for boilerplate reduction

---------

Co-authored-by: John Kerl <[email protected]>
Co-authored-by: Ryan Williams <[email protected]>
@johnkerl
Copy link
Member Author

johnkerl commented Apr 5, 2024

[sc-44675]

Copy link

This pull request has been linked to Shortcut Story #44675: tiledbsoma 1.9.4.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants