Proposal: change `data_processed` table to record every processing attempt.
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 16
- Forks
- 50
- PR merge metrics
- No merged PRs in 30d
Description
The current design of data_processed has a primary key on did, evaluation_id, so one particular row is updated every time a dataset is attempted to be processed. In particular, the num_tries records the history.
mysql> DESCRIBE data_processed;
+----------------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------------+--------------+------+-----+---------+-------+
| did | int unsigned | NO | PRI | NULL | |
| evaluation_engine_id | int | NO | PRI | NULL | |
| user_id | int | NO | | NULL | |
| processing_date | datetime | NO | | NULL | |
| error | text | YES | | NULL | |
| warning | text | YES | | NULL | |
| num_tries | int | NO | | 1 | |
+----------------------+--------------+------+-----+---------+-------+
I would rather record each processing attempt. The table would need a new primary key (a sequential identifier is fine), and num_tries then becomes derivative (count the matching (did, evaluation_id) rows). This would provide a history of the errors and when attempts have been made.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files, tests, or entry points are named. Start by locating the data_processed schema and the processing code that updates num_tries, then trace consumers of its primary key and attempt data. Done means each processing attempt is retained with a new identifier, while attempt counts remain derivable for existing uses.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- mysql, python
- Domain
- backend, databases
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100