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 39817 - [36cat] CVS: some statuses remain [Local]. Their entries've been deleted from cache
Summary: [36cat] CVS: some statuses remain [Local]. Their entries've been deleted from...
Status: VERIFIED FIXED
Alias: None
Product: obsolete
Classification: Unclassified
Component: vcsgeneric (show other bugs)
Version: 3.x
Hardware: PC Linux
: P2 blocker with 10 votes (vote)
Assignee: Martin Entlicher
URL:
Keywords: RELNOTE
: 32193 42756 (view as bug list)
Depends on: 10301 32089
Blocks:
  Show dependency tree
 
Reported: 2004-02-09 16:00 UTC by gholmer
Modified: 2005-07-25 09:51 UTC (History)
2 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
Eric's reproduction steps. (3.83 KB, text/plain)
2004-09-17 13:38 UTC, Martin Entlicher
Details

Note You need to log in before you can comment on or make changes to this bug.
Description gholmer 2004-02-09 16:00:18 UTC
[ JDK VERSION : J2SE 1.4.2_02 ]

Several times I have seen that the status of CVS 
files is not refreshed; some files show as [Local].

After finishing some work on a project, I used
the Find dialog to search for files with status
LMod, ant got no results.  The CVS refresh 
command is missing from context menu in project 
pane; in fact, going back to the explorer pane, 
I see that the directory mounted in project pane 
is marked [Local].  Selecting CVS refresh on 
parent directory in explorer pane returns things 
to normal.

NetBeans 3.6 beta 1, Linux 2.4.20.
Comment 1 Martin Entlicher 2004-02-09 16:55:21 UTC
This looks like the same problem, which is described in issue #32193.
The problem can be, that *sometimes* the status is dropped from the
file status caching system.

Do you encounter this problem often? It should be solved by issue
#32089, which is too big to be done in 3.6 release.
Comment 2 gholmer 2004-02-09 19:10:26 UTC
Quite often.  I would vote against releasing it like this, user must
be able to trust version control.

I've seen it on a 3.5 upgrade as well as a fresh install (no userdir
upgrade).  Sometimes it's a whole series of directories or files,
sometimes just one.

Let me know if there's any additional information I can send that
would help diagnose it.
Comment 3 Martin Entlicher 2004-02-10 11:46:58 UTC
Well, it surprises me that this happens quite often to you. To me it
happens very rarely therefore I didn't consider this as a big issue.
I use the NetBeans CVS support in regular development and the status
information is just fine.

It would help to know usecases which lead to high probablity of broken
statii. That can help to find the reason why it actually breaks.
Comment 4 gholmer 2004-02-11 20:08:48 UTC
I started a discussion about this on the NetCAT mailing list, and
three of the four people who responded say they're experiencing it. 
Unfortunately, none of us can find a use case that will predictably
trigger it... I'll keep trying.
Comment 5 Jiri Kovalsky 2004-02-11 20:13:36 UTC
Glenn, it would be really cool if you find any reliable repro-case !
This is a long lasting problem in cache consistency.
Comment 6 randahl 2004-02-16 13:31:53 UTC
I experience this problem too. I never had this problem with 3.5.1 but
with 3.6 Beta it is a daily problem. I think looking at the
differences in the way 3.6 handles CVS versus the way 3.5.1 did is the
key.

This has to be fixed in the 3.6 final version - otherwise we will have
to go back to 3.5.1.

Randahl
Comment 7 Jiri Kovalsky 2004-02-18 13:19:13 UTC
Martin, can you reconsider the fix introducing certain performance
degradation ? How much time does it cost ?
Comment 8 Martin Entlicher 2004-02-19 15:43:30 UTC
The file status caching system deserves a complete rewrite (see issue
#32089).
I'm going to explore the I/O part where it likely happens that some
information is lost...
Comment 9 Martin Entlicher 2004-02-19 16:34:01 UTC
I have removed the optimization of cache file storage mechanism, that
likely cause the status loss.

-J-Dnetbeans.vcs.optimizedcache=true can be specified to use the
optimization again for comparison reasons.

The non-optimized approach should be more reliable and does not seem
to cause big performance degradation, therefore it is the default.

Since I was not able to reproduce the problem, I'm not able to verify
whether this really helps. Therefore please let me know whether it's
better after the "fix". It should be present in dev build #200402191900.

/cvs/vcscore/src/org/netbeans/modules/vcscore/caching/VcsCacheDir.java,v
 <--  VcsCacheDir.java
new revision: 1.48; previous revision: 1.47

/cvs/vcscore/src/org/netbeans/modules/vcscore/caching/VcsCacheFile.java,v
 <--  VcsCacheFile.java
new revision: 1.17; previous revision: 1.16
Comment 10 gholmer 2004-02-23 13:56:39 UTC
I am still seeing this bug in build 200402191900, both with an updated
userdir and with a fresh one.  It appears in both the explorer and the
projects pane.
Comment 11 gholmer 2004-02-24 13:01:24 UTC
Is there any chance that this might have to do with deleting the files
starting with ".#" (which I do regularly)?
Comment 12 randahl 2004-03-09 13:17:56 UTC
This bug is not yet fixed - several of the users still see this. I am
seeing it all the time with build 200402251620 has it been fixed in
the trunk?
Comment 13 Martin Entlicher 2004-03-09 13:27:39 UTC
Yes, it was "fixed" in trunk. The build 200402251620 which you're
using have this integrated. Since I'm not able to reproduce the
problem, I could not verify whether the fix actually solves the
problem or not.

Since you're still seeing the problem it looks like the fix did not
help at all. Therefore I'm reopening the issue.

Also issue #40744 was fixed recently. It's possible that it has a
positive effect on this issue.
Comment 14 Martin Entlicher 2004-03-09 13:50:51 UTC
It's possible, that this issue is connected with issue #40806. Do you
use both Filesystems and Project tab? Is it possible that this bug
occurs when the CVS filesystem is accessed from both tabs?
Comment 15 randahl 2004-03-09 13:57:45 UTC
Generally I use only the project tab. I have a few files which are not
accessible through my project tab, and I access those files through
the filesystem tab; however, the error does not relate to those files.
I experienced the bug with the original 3.6 beta, and right after
installing the 200402251620 q-build I had a huge amount of folders and
files which had improper CVS information - roughly 100 of my 1200
files I would say. What really concerns me the most is that there
seems to be no pattern to which files are treated wrong - it seems
completely random.
Comment 16 randahl 2004-03-09 13:59:42 UTC
I am using a CVSNT server by the way. What about all other people
experiencing this? - Is this also occuring when NetBeans communicates
with other versions of CVS?
Comment 17 gholmer 2004-03-10 15:18:33 UTC
I use both Filesystems and Project tabs.  Expanding Filesystems tab to
the directory used for the project (typically three or four
directories deep) almost always refreshes the CVS status as I open
directories, making Projects entries OK when I switch back to that pane.

I closed the Filesystems tab, switched to default project and back
again, and still saw all [Local] in Projects tab.  When I close the
Projects pane, switch to default project and back again, there does
not seem to be any "laziness" in displaying CVS status in explorer
pane, i.e. I don't see the file statuses changing as I descend into
subdirectories.

As for CVS, we are using 1.11 and the repository is on a SUSE Linux
server.  We connect using pserver method.
Comment 18 Chris Kutler 2004-03-11 17:00:09 UTC
I filed a similar bug. I want to note that I switch projects 2 or
three times an hour. I think someone else remarked this might be
related to switching projects.
Comment 19 _ hair 2004-03-18 13:44:50 UTC
I'm getting this on both the Filesystems and Project tab. Refresh and
Refresh recursively seem to do nothing. Update sometimes fixes it. The
tooltip always displays the correct status.
I'm using 3.6rc1.

I am surprised this is P3! CVS completely broke for me in netbeans
because of this. I was unable to remove files because of bad status,
resulting in me having to use command line to perform cvs actions!
Comment 20 Jiri Kovalsky 2004-03-18 15:16:14 UTC
This issue seems to be really problematic. So far already 11 people
voted to have this bug fixed. That's why I am increasing its priority
which is in my opinion in accordance with bug priority guidelines.
Do you Martin mean its target milestone seriously ?
Comment 21 Martin Entlicher 2004-03-19 16:51:28 UTC
Most issues have target milestones set to 3.6, although only P1
defects can really go into 3.6 release currently. I expect the target
milestones will be changed to promo-D after the release.

This issue is hard to solve for me, because it does not happen to me.
However, I understand that this is a problem for a lot of Netbeans
users and we should try to investigate this. I will cooperate with Dan
and will try to add some debugging information into the cache
infrastructure.
Comment 22 Jiri Kovalsky 2004-03-24 17:26:09 UTC
Glenn Holmer found really reproducable procedure:

1. Start IDE with empty userdir.
2. Mount some empty directory as CVS filesystem with Command-line
Client. (:pserver:anoncvs@cvs.netbeans.org:/cvs)
3. "CVS | Check Out" modules "diff", "i18n" and "text".
4. Statuses are updated within 1-2 seconds - all is okay now.
5. Invoke "Window | Project" menu, so that "Project Default" tab gets
opened.
6. Switch back to "Filesystems" tab.
7. Right click "diff" node and choose "Tools | Add to Project" menu.
8. Do the same for "text|src|org|netbeans" directory.
9. All statuses in project tab are still okay.
10. Restart IDE.
11. Expand "diff" node - all statuses are okay.
12. However all file or directory nodes under "text" node are [Local]!

Thank you CVS guru (Glenn) !
Comment 23 gholmer 2004-03-24 18:00:25 UTC
Note that steps 11 and 12 above refer to the projects pane, which
should be open after steps 9 and 10.
Comment 24 dmladek 2004-03-24 18:13:11 UTC
Hey guys, I don't wanna disappoint you, but I thought we've been
looking for persistance [local] status in FileSystem TAB (not in
Project TAB)

AFAIK if you don't expand the MAIN FS node (only possible in FS TAB)
then all "links" in ProjTAB or  new subFileSystems "mount as new FS"
which are nested 2 or more levels deep, then all statuses are [local]
till you don't expand the main FS from the TOP (possible only on
original mounted FS in FS TAB)

I'm afraid that it is not still  what we're looking for.

(BTW: I've just got [local] statuses nested deeply in main FS in FS
TAB trying reproduce Jirka's reproduction case, but I'm not able repro
it again)
Comment 25 Jiri Kovalsky 2004-03-24 20:22:08 UTC
You are both right, guys. It refers to Projects tab.
To Martin: can we make some solution to this problem ?
To Glenn: do you see problems with incorrect statuses in FS tab too ?
Comment 26 gholmer 2004-03-24 20:42:05 UTC
I haven't noticed this problem in the filesystems pane for some time.
The problem is the projects pane. I tend to work in directories at
least three levels below the main filesystems mount point, so I add
them to the project pane in order not to have to expand them when I
switch projects. I mostly work from the projects pane.
Comment 27 dmladek 2004-03-26 17:17:38 UTC
I've entered issue #41424 for problem with [local] statuses in
ProjTAB/subFS ...That is notification problem. 


This current one is problem of cache synchronization, IMHO.

Comment 28 dmladek 2004-03-26 17:23:28 UTC
I would also like change bug Summary if you don't mind.
From curruent one:
"[36cat] CVS status not refreshed in explorer"
to:
"[36cat] CVS: some statuses remain [Local]. Their entries've been
deleted from cache"


Isn't it more descriptive, is it?;-)
Comment 29 dmladek 2004-03-30 18:28:47 UTC
OK, if you have any objections agains my proposed change of bug
summary, then don't hesitate and revert it back, please.


I'm changing this curruent Summary:
"[36cat] CVS status not refreshed in explorer"
to:
"[36cat] CVS: some statuses remain [Local]. Their entries've been
deleted from cache"


Comment 30 Martin Entlicher 2004-03-30 19:18:17 UTC
It's O.K., it's better descriptive now. Thanks.
Comment 31 Jiri Kovalsky 2004-03-31 12:47:56 UTC
I am okay with it except the two quotation marks. Changing back ...
Comment 32 Patrick Keegan 2004-04-01 17:26:56 UTC
proposed relnote:

The displayed status of some files in a CVS filesystem sometimes
reverts to Local.

Workaround: Right-click the filesystem's node and choose CVS | Refresh
Recursively.
Comment 33 Jiri Kovalsky 2004-04-01 18:02:32 UTC
I think your proposal sounds good. What do others think ?
Comment 34 dmladek 2004-04-01 20:10:07 UTC
:-) Very easy workaround and so much sound around it :-o
Thanks Patrick for clear description to RelNotes
Comment 35 Chris Kutler 2004-04-01 20:26:56 UTC
Sorry to chime in so late, but oftentimes when the IDE gets confused
about the local status, it does not put Refresh or Refresh Recursively
on the contextual menu. We need a workaround for that situation too. I
think in this case, I go to the Filesystems tab and do the refresh
from there, but it has been awhile so I am not sure.
Comment 36 Jiri Kovalsky 2004-04-01 21:13:22 UTC
I believe Chris that issue you are referring to is different problem.
Please take a look at issue #41424 for details and available patch.
Comment 37 Martin Entlicher 2004-04-20 13:55:24 UTC
I hope that we'll manage to resolve this into promotion D. It can be
fixed by the cache redesign (issue #32089). I'm not sure we'll be able
to implement the redesign into promotion D (NB 4.0), but it's
scheduled for 4.0 for now.
Comment 38 Martin Entlicher 2004-04-20 14:08:51 UTC
*** Issue 32193 has been marked as a duplicate of this issue. ***
Comment 39 Martin Entlicher 2004-05-10 14:07:59 UTC
*** Issue 42756 has been marked as a duplicate of this issue. ***
Comment 40 Martin Entlicher 2004-09-17 13:36:50 UTC
FYI: The cache redesign was not approved for 4.0 as it is considered
to be too high risk. We have also many other defects to solve into
4.0, so we have also limited resources.

However, Eric Hartmann created a repro-case (in the attachment).
It exposes the necessity to create a disk cache for folders that do
not contain CVS/ subfolders. And also issue #10301 would have to be
fixed to remove [Local] status from parent folders when files in the
middle of the tree are refreshed.
Comment 41 Martin Entlicher 2004-09-17 13:38:15 UTC
Created attachment 17710 [details]
Eric's reproduction steps.
Comment 42 Martin Entlicher 2004-09-17 13:59:41 UTC
When the disk cache file can not be created in the working directory,
we create it in the user directory. This eliminates the necessity to
run refresh for the root folder when the root folder does not contain
CVS folder:

/cvs/vcsgeneric/src/org/netbeans/modules/vcs/advanced/CommandLineVcsFileSystem.java,v
 <--  CommandLineVcsFileSystem.java
new revision: 1.155; previous revision: 1.154
Comment 43 Martin Entlicher 2004-09-17 14:24:01 UTC
Adding dependency on issue #10301, which should solve the consistence
and persistence of status information when selected files are
refreshed in the middle of the tree.
Comment 44 Martin Entlicher 2004-09-17 17:10:28 UTC
After the issue #10301 is fixed, is seems that this can be marked as
fixed as well. (?)
At least the repro case provided by Eric now finish with correct
status information.

So, please reopen if you find another 100% repro case that exposes
some defect behavior.
Comment 45 Peter Pis 2005-07-25 09:51:15 UTC
Verified.