biocore / biocore/microsetta-private-api

Exception on DELETE of unreceived samples

Open
#414 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
6
Forks
18
PR merge metrics
No merged PRs in 30d

Description

Traceback follows:

```
[2022-01-14 20:52:36 -0800] [30774] [ERROR] Exception on /api/accounts/c700d117-7b11-4cb3-81fe-9696608686f7/sources/a252fcc8-a14c-438e-8e47-b9ce72d74805/samples/9bb97569-da30-4465-9b1f-28c9366e9d8e [DELETE]
Traceback (most recent call last):
File "/Users/api_user/miniconda3/envs/microsetta-private-api/lib/python3.8/site-packages/flask/app.py", line 2446, in wsgi_app
response = self.full_dispatch_request()
File "/Users/api_user/miniconda3/envs/microsetta-private-api/lib/python3.8/site-packages/flask/app.py", line 1951, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/Users/api_user/miniconda3/envs/microsetta-private-api/lib/python3.8/site-packages/flask/app.py", line 1820, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/Users/api_user/miniconda3/envs/microsetta-private-api/lib/python3.8/site-packages/flask/_compat.py", line 39, in reraise
raise value
File "/Users/api_user/miniconda3/envs/microsetta-private-api/lib/python3.8/site-packages/flask/app.py", line 1949, in full_dispatch_request
rv = self.dispatch_request()
File "/Users/api_user/miniconda3/envs/microsetta-private-api/lib/python3.8/site-packages/flask/app.py", line 1935, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/Users/api_user/miniconda3/envs/microsetta-private-api/lib/python3.8/site-packages/connexion/decorators/decorator.py", line 48, in wrapper
response = function(request)
File "/Users/api_user/miniconda3/envs/microsetta-private-api/lib/python3.8/site-packages/connexion/decorators/security.py", line 327, in wrapper
return function(request)
File "/Users/api_user/miniconda3/envs/microsetta-private-api/lib/python3.8/site-packages/connexion/decorators/uri_parsing.py", line 144, in wrapper
response = function(request)
File "/Users/api_user/miniconda3/envs/microsetta-private-api/lib/python3.8/site-packages/connexion/decorators/validation.py", line 384, in wrapper
return function(request)
File "/Users/api_user/miniconda3/envs/microsetta-private-api/lib/python3.8/site-packages/connexion/decorators/response.py", line 103, in wrapper
response = function(request)
File "/Users/api_user/miniconda3/envs/microsetta-private-api/lib/python3.8/site-packages/connexion/decorators/parameter.py", line 121, in wrapper
return function(**kwargs)
File "/Users/api_user/miniconda3/envs/microsetta-private-api/lib/python3.8/site-packages/microsetta_private_api/api/_sample.py", line 171, in dissociate_sample
sample_repo.dissociate_sample(account_id, source_id, sample_id,
File "/Users/api_user/miniconda3/envs/microsetta-private-api/lib/python3.8/site-packages/microsetta_private_api/repo/sample_repo.py", line 362, in dissociate_sample
self._update_sample_association(sample_id, None,
File "/Users/api_user/miniconda3/envs/microsetta-private-api/lib/python3.8/site-packages/microsetta_private_api/repo/sample_repo.py", line 155, in _update_sample_association
cur.execute("""UPDATE ag.vioscreen_registry
psycopg2.errors.NotNullViolation: null value in column "account_id" of relation "vioscreen_registry" violates not-null constraint
DETAIL: Failing row contains (null, null, 9bb97569-da30-4465-9b1f-28c9366e9d8e, 6fed4cd596fbf51b, t).
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at microsetta_private_api/api/_sample.py in dissociate_sample and follow the call into microsetta_private_api/repo/sample_repo.py, especially _update_sample_association. Reproduce the DELETE request for an unreceived sample and inspect the vioscreen_registry update. Done means the request no longer raises the reported NotNullViolation.

Written by the indexing model from the issue text.

Assessment

Tech stack
flask, postgresql, python
Domain
api, backend, databases
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.