biocore / biocore/microsetta-private-api
Exception on DELETE of unreceived samples
- 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