cytoscape / cytoscape/cx

Improper tracking of idCounter

Open
#6 0 comments 0 reactions 0 assignees View on GitHub

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.