Skip to content

Versioning: don't wait for indexer before refresh#8202

Merged
mbien merged 2 commits intoapache:masterfrom
mbien:git-dont-wait-for-indexer
Apr 15, 2025
Merged

Versioning: don't wait for indexer before refresh#8202
mbien merged 2 commits intoapache:masterfrom
mbien:git-dont-wait-for-indexer

Conversation

@mbien
Copy link
Copy Markdown
Member

@mbien mbien commented Jan 28, 2025

indexing and versioning status updates can run concurrently since they don't interact with each other.

git status refresh typically takes < 1s even in large projects, while indexing can take much longer.

bonus changes:

  • bugfix: re-opening projects would sometimes not show status badges until the project tree is expanded
  • CacheIndex#get can run lock free given that the index is a CHM and the values are synchronized Sets

expected results:

  • you should see the git file status update long before indexing finishes. for example while switching between branches on larger projects or right after NB startup
  • no noteworthy regressions for indexing totals or other tasks

old behavior can be restored with -J-Dversioning.delayscan=true

cleanup commit is split from the change

@mbien mbien added subversion [ci] enable versioning job git [ci] enable versioning job ci:dev-build [ci] produce a dev-build zip artifact (7 days expiration, see link on workflow summary page) mercurial [ci] aka hg; enable versioning job labels Jan 28, 2025
@mbien mbien force-pushed the git-dont-wait-for-indexer branch from 830c9e3 to 23b04a0 Compare March 18, 2025 05:40
@mbien mbien marked this pull request as ready for review March 18, 2025 05:40
@mbien mbien marked this pull request as draft March 18, 2025 05:57
@mbien mbien force-pushed the git-dont-wait-for-indexer branch from 23b04a0 to ce8ef50 Compare March 18, 2025 11:50
@mbien mbien marked this pull request as ready for review March 18, 2025 11:50
@mbien mbien modified the milestone: NB26 Mar 18, 2025
@mbien mbien marked this pull request as draft March 18, 2025 12:04
@mbien mbien force-pushed the git-dont-wait-for-indexer branch from ce8ef50 to 5780bd4 Compare March 30, 2025 09:38
@mbien mbien marked this pull request as ready for review March 30, 2025 09:39
@mbien
Copy link
Copy Markdown
Member Author

mbien commented Apr 7, 2025

planning to merge this for NB 26, this PR had also a dev mail thread

@mbien mbien added this to the NB26 milestone Apr 7, 2025
mbien added 2 commits April 14, 2025 22:04
 - indexing and versioning status updates can run concurrently since
   they don't interact with each other.
 - git status refresh typically takes < 1s even in large projects.
   indexing can take much longer.

fix and performance:

 - refresh versioning annotations on project open otherwise they
   might be missing on re-open until the tree is expanded
 - lock-free CacheIndex#get(file)
@mbien mbien force-pushed the git-dont-wait-for-indexer branch from 5780bd4 to 54231a1 Compare April 14, 2025 20:05
@mbien mbien merged commit 4b7b216 into apache:master Apr 15, 2025
31 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci:dev-build [ci] produce a dev-build zip artifact (7 days expiration, see link on workflow summary page) git [ci] enable versioning job mercurial [ci] aka hg; enable versioning job performance subversion [ci] enable versioning job

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant