This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 183667 - [69cat] Time after time modified/new files indicator is not shown
Summary: [69cat] Time after time modified/new files indicator is not shown
Status: RESOLVED FIXED
Alias: None
Product: versioncontrol
Classification: Unclassified
Component: CVS (show other bugs)
Version: 6.x
Hardware: PC Linux
: P3 normal with 1 vote (vote)
Assignee: Ondrej Vrabec
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-04-07 16:56 UTC by Michel Graciano
Modified: 2010-04-09 04:38 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michel Graciano 2010-04-07 16:56:12 UTC
[ BUILD # : abf8e4eac4aa ]
[ JDK VERSION : 1.6.* ]

Time after time modified/new files vcs indication (different colors/badges) is
not shown or even the refresh is really slow which makes it go away and back
after some seconds.
Sometimes the colors change from blue (changed) to black and so back to blue
after some seconds, as well it happens with files/packages badges too. It looks
like the vcs refresh is really slower now in 6.9.
Comment 1 Ondrej Vrabec 2010-04-07 17:40:53 UTC
vcs refresh is actually as fast as in 6.8 but annotations (badges and file colors) are calculated asynchronously so the AWT is not blocked and expanding of nodes is as fast as possible. The limitation of this better responsiveness is more frequent repainting of the annotations. Basically versioning returns an annotation that is currently available (in cache) and asks svn/cvs/hg status for the real annotation. When that value is available, nodes in projects/files/... views are repainted (that's why it sometimes happens that the nodes change from blue to black to blue).
If you want to return back to the old implementation, you can start IDE with -J-Dversioning.asyncAnnotator=false
But be aware that expanding of nodes will become much slower and the AWT will occassionally get stuck.

The new behaviour is the fix for bug 171410.

Closing this as WONTFIX, since we really have no intention to fix this (use the switch if necessary).
Comment 2 misterm 2010-04-07 18:17:48 UTC
The problem is this cache seems to be broken. For instance, if a file is already marked as modified and I commit another file under the same versioning root, the modified file gets black first and then gets blue again. This makes no sense, even according to your explanation.
Comment 3 Ondrej Vrabec 2010-04-07 18:27:20 UTC
I am aware of one case when this happens. Committing a file makes all its
parents (parent folders, packages, etc.) turn black and then blue again (if you
have another file as modified). But i am not aware that another file gets
repainted. I'll try your test case several times then.
Comment 4 misterm 2010-04-07 18:31:16 UTC
I am using CVS.
Comment 5 Michel Graciano 2010-04-07 19:02:08 UTC
Well, I can reproduce it with 'Select in Projects', 'Select in Files', many times just opening the Projects view it happens.
Comment 6 Ondrej Vrabec 2010-04-08 08:31:29 UTC
fix: http://hg.netbeans.org/cdev/rev/71f7c0058c3f
Comment 7 Ondrej Vrabec 2010-04-08 08:31:34 UTC
fix: http://hg.netbeans.org/cdev/rev/4f5af4c53201
Comment 8 Ondrej Vrabec 2010-04-08 08:44:36 UTC
misterm: after a commit, all annotations were refreshed (only in CVS), this should be fixed with http://hg.netbeans.org/cdev/rev/4f5af4c53201 - now only parents of a committed file change from blue to black to blue again - this cannot be evaded

hmichel: items in the cache are kept only for a certain amount of time (i.e. 1 minute as default), with http://hg.netbeans.org/cdev/rev/71f7c0058c3f the max age is increased to 10 minutes. After the time limit the value is purged from the cache. For you two i suggest starting IDE with -J-Dversioning.annotator.cacheItem.maxAge=-1, this way the values won't ever get old and will be kept forever. The cache is also size-limited, so please experiment with -J-Dversioning.annotator.cacheSize=NUMBER_VALUE (the default is 500, you can increase the value and thus keep more annotations at the same time).

Hope these will help...
Comment 9 Quality Engineering 2010-04-09 04:38:29 UTC
Integrated into 'main-golden', will be available in build *201004090201* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main/rev/71f7c0058c3f
User: Ondrej Vrabec <ovrabec@netbeans.org>
Log: Issue #183667 - [69cat] Time after time modified/new files indicator is not shown
increasing the default value of the max age for cache items