The issue is also reproducible in NB 25 and wasn't introduced by the changes but they made it occur more often.
The fix is to refresh the versioning annotations on project open. If this isn't done, the annotations would not show up on project re-open for the given project (e.g project group switch use case) until the file tree of the project is expanded. the PR fixes this now too additionally to the concurrency improvements. I tested it a bit and it worked well, would be good if someone else would give it a try too before integration. Since the changes are in versioning.core, this does also apply to svn and hg which I didn't test at all so far. -mbien On 3/18/25 07:22, Michael Bien wrote: > found a few problems with it while switching between project groups. > > will leave the PR as draft for now, > > -mbien > > > On 1/30/25 06:18, Eirik Bakke wrote: >> Allowing the git status task to run in parallel with the unrelated (and >> often more long-running) indexing task sounds uncontroversial to me. >> >> -- Eirik >> >> From: Michael Bien <mbie...@gmail.com> >> Reply-To: "dev@netbeans.apache.org" <dev@netbeans.apache.org> >> Date: Tuesday, January 28, 2025 at 7:28 PM >> To: "dev@netbeans.apache.org" <dev@netbeans.apache.org> >> Subject: [DISCUSS] Versioning: don't wait for indexer before status refresh >> >> Hi NetBeaners! >> >> while working on the sm-removal PR (#7928), I had to take a look at IO >> heavy tasks to evaluate if the lack of IO tracking on the method-level >> would be a problem for NB (spoiler: I think NB will be fine). >> >> The reason for that is because NB is already well aware of IO heavy >> tasks without having to intercept IO-methods on the lowest level. Two of >> those tasks are: code indexing (scanning) and versioning status updates. >> >> As of today (NB 25rc1), the versioning status updates are delayed while >> code indexing is in progress even though both tasks appear to not >> interact with each other in any other way. You might notice that the git >> UI file status is only updated once indexing finishes after startup or >> branch switching. >> >> Indexing itself is typically a longer task than git status updates, so >> it is unfortunate that one has to wait for the other. Today's hardware >> performance is also far less influenced by concurrent reads than the old >> mechanical drives where. >> >> long story short: lets try to remove that delay and run both concurrently: >> >> https://github.com/apache/netbeans/pull/8202 >> >> PR produces a dev build (see workflow artifacts). Delay can be disabled >> with -J-Dversioning.delayscan.disable=true, default is enabled. >> >> best regards, >> michael >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: >> dev-unsubscr...@netbeans.apache.org<mailto:dev-unsubscr...@netbeans.apache.org> >> For additional commands, e-mail: >> dev-h...@netbeans.apache.org<mailto:dev-h...@netbeans.apache.org> >> >> For further information about the NetBeans mailing lists, visit: >> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists >> >> >> >> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@netbeans.apache.org For additional commands, e-mail: dev-h...@netbeans.apache.org For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists