Improper tracking of idCounter
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 3
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
The idCounter field of metadata is required for all aspects that create IDs (e.g., @id).
The correct value is the largest value of any ID in the aspect, including all previous versions of the aspect.
This is easy enough to calculate by remembering the idCounter that's read from NDEx, knowing the highest @id written to a new version of the aspect, and then taking the max(oldIDCounter, @id). However, this requires that idCounter be saved for all affected aspects that are read.
I don't think this has come up before, but it's useful to get out of the way now.
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 by locating the Java code that reads and writes metadata and handles idCounter, then trace how affected aspects are loaded from NDEx and how new @id values are assigned. The work is done when each affected aspect preserves its prior idCounter and stores the maximum of that value and any @id written in the new version, including historical versions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- data
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100