Proposal: change the way `data_processed` is use to determine if a dataset has been processed
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 16
- Forks
- 50
- PR merge metrics
- No merged PRs in 30d
Description
The data_processed table is used in data/unprocessed/{data_engine_id}/{order} where the decision on whether or not a dataset has been processed by a data engine is determined by whether or not the data has been attempted to be processed 3 (process_data_tries) times. To me this is an odd decision. I would consider any dataset which has been attempted to be processed as processed. The data_engine_id itself should determine whether or not to try to process a dataset multiple times (provided it can access that information).
AND p.num_tries < ' . $this->config->item('process_data_tries') .
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 | |
+----------------------+--------------+------+-----+---------+-------+
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
Start with the data/unprocessed/{data_engine_id}/{order} query and inspect how the data_processed table and process_data_tries condition determine eligibility. Review the data_engine_id processing flow and existing database-related tests or callers. Done means the processing-status decision matches the agreed retry semantics without losing per-engine behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- mysql
- Domain
- backend, databases
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100