[ 
https://issues.apache.org/jira/browse/NETBEANS-168?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16729581#comment-16729581
 ] 

Ivan Friedländer edited comment on NETBEANS-168 at 12/27/18 12:55 PM:
----------------------------------------------------------------------

There are two problems:
The first is global and is in 
org.netbeans.modules.versioning.masterfs.FilesystemInterceptor.deletedExternally(FileObject
 fo)
It's called VCSFileProxy.createFileProxy(final FileObject fileObject) and that 
method registers a new listener.
It needs to be changed to 
VCSFilesystemInterceptor.deletedExternally(VCSFileProxy.createFileProxy(FileUtil.toFile(fo)));

And the other is about broken links in 
org.netbeans.modules.masterfs.filebasedfs.fileobjects.FileObjectFactory.issueIfExist(...)

{code:java}
 if (parent != null && parent.isValid()) {
            if (child != null) {
                if (foForFile == null) {
                    exist = (realExists == -1) ? true : touchExists(file, 
realExists);
                    if (fcb.impeachExistence(file, exist)) {
                        exist = touchExists(file, realExists);
                        if (!exist) {
                            refreshFromGetter(parent,asyncFire);
                        }
                    }
                    assert checkCacheState(true, file, caller);
                } else if (foForFile.isValid()) {
                    exist = (realExists == -1) ? true : touchExists(file, 
realExists);
                    if (fcb.impeachExistence(file, exist)) {
                        exist = touchExists(file, realExists);
                        if (!exist) {
                            refreshFromGetter(parent,asyncFire);
                        }
                    }
                    assert checkCacheState(exist, file, caller);
                } else {
                    //!!!!!!!!!!!!!!!!! inconsistence
                    exist = touchExists(file, realExists);
                    if (!exist) {
//Problematic test, for broken link is false
                        refreshFromGetter(parent,asyncFire);
                    }
                }
            } else {
{code}
if (!exist) { changed to if (!exist && !Files.isSymbolicLink(file.toPath())) {
And CPU has been quiet since then..
Attention change just this one line, I tried to move it into the method 
touchExists, but again it was the result Suspended

Details are here:
[https://github.com/NBANDROIDTEAM/NBANDROID-V2/issues/139]






was (Author: arsi):
There are two problems:
The first is global and is in 
org.netbeans.modules.versioning.masterfs.FilesystemInterceptor.deletedExternally(FileObject
 fo)
It's called VCSFileProxy.createFileProxy(final FileObject fileObject) and that 
method registers a new listener.
It needs to be changed to 
VCSFilesystemInterceptor.deletedExternally(VCSFileProxy.createFileProxy(FileUtil.toFile(fo)));

And the other is about broken links in 
org.netbeans.modules.masterfs.filebasedfs.fileobjects.FileObjectFactory.issueIfExist(...)

{code:java}
 if (parent != null && parent.isValid()) {
            if (child != null) {
                if (foForFile == null) {
                    exist = (realExists == -1) ? true : touchExists(file, 
realExists);
                    if (fcb.impeachExistence(file, exist)) {
                        exist = touchExists(file, realExists);
                        if (!exist) {
                            refreshFromGetter(parent,asyncFire);
                        }
                    }
                    assert checkCacheState(true, file, caller);
                } else if (foForFile.isValid()) {
                    exist = (realExists == -1) ? true : touchExists(file, 
realExists);
                    if (fcb.impeachExistence(file, exist)) {
                        exist = touchExists(file, realExists);
                        if (!exist) {
                            refreshFromGetter(parent,asyncFire);
                        }
                    }
                    assert checkCacheState(exist, file, caller);
                } else {
                    //!!!!!!!!!!!!!!!!! inconsistence
                    exist = touchExists(file, realExists);
                    if (!exist) {
//Problematic test, for broken link is false
                        refreshFromGetter(parent,asyncFire);
                    }
                }
            } else {
{code}
f (!exist) { changed to if (!exist && !Files.isSymbolicLink(file.toPath())) {
And CPU has been quiet since then..
Attention change just this one line, I tried to move it into the method 
touchExists, but again it was the result Suspended

Details are here:
[https://github.com/NBANDROIDTEAM/NBANDROID-V2/issues/139]





> Background scanning process needs a rethink
> -------------------------------------------
>
>                 Key: NETBEANS-168
>                 URL: https://issues.apache.org/jira/browse/NETBEANS-168
>             Project: NetBeans
>          Issue Type: Bug
>          Components: ide - Performance, java - Platform, platform - Execution
>    Affects Versions: 8.2, 9.0, 10.0
>         Environment: NetBeans 8.2, Windows 10 x64
>            Reporter: Christian Lenz
>            Priority: Critical
>              Labels: ca_survey
>         Attachments: go-to-file.gif, messages - 10.0 vc3.log, messages 10.0 
> vc2.log, messages.log, puls.7z, ui.log, uigestures 10.0 vc, wp-dms.7z
>
>
> Often, while cloning, switching branch, merging, opening etc. etc. NetBeans 
> starts Background scanning for changes, but it is not real background, 
> because everything what you want to do then, like changing the branch, 
> commit, push, pull, open project, delete or whatever, is blocking by this 
> task and you can't cancel it, because it is essential.
> Either we need to rethink about this process like to make everything or most 
> of the stuff doing things in parallel or the task should really be 
> cancelable. It is a pain in the ass for big projects when they start to scan 
> for changes. 
> It is a real world case because you acan see it when you work on NetBeans 
> modules.
> Cheers
> Chris



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@netbeans.apache.org
For additional commands, e-mail: commits-h...@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists

Reply via email to