set_ref not properly globally reflecting to node state changes
- Dominant language
- Python
- Stars
- 140
- Forks
- 45
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 6
Description
Noticed while using cargo plugin with pypi plugin (which does not need to fetch sources on track). Using cargo plugin with any plugin where tracking results in source fetch hides the bug.
Sequence goes on the ballpark
1. configure gets called for first source, reads data from node
2. track gets called for first source, resolves data for update
3. set_ref gets called for first source, writes data to node
5. track gets called for second source, requests fetch for previous ~~element~~ source
6. configure gets called again for first source (apparently with different plugin instance), reads data from node but this is not the data from previous tracking attempt but stale data
7. tracking for second element fails because correct data for first source is not in cache
Contributor guide
Research direction
Start by reproducing the configure, track, and set_ref sequence with the cargo plugin and a source-fetching plugin, then compare the node state seen by the later configure call. Trace why the first source's tracked data is stale before the second source is tracked; done means the second tracking step sees the updated first-source data.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100