NBANDROIDTEAM/org-netbeans-modules-masterfs-patches

Problem Description [CZ,SK]

Opened this issue · 0 comments

Takže páni,
celý problém vznikol pretože File.exists() a Files.exists() používa FOLLOW_LINKS.
A pri programovaní filesystému sa na to nemyslelo. Ten problém ide cez viac modulov. No a celé to prerobiť by bolo podla mňa strašne náročné. Jedine, že by sa na to pozrel pôvodný autor.

Hlavne s tým moc nie je kompatibilná trieda FileChangedManager a metódy FileChangedManager.exists() and FileChangedManager.impeachExistence().
A na môj vkus je to celé strašne zložité, stále sa niekde niečo kešuje, bolo to písané v čase, keď prístup na disk niečo trval. Ale dnes by som povedal, že to trvá dlhšie ako čítanie stavu súborov priamo z disku..

Podarilo sa mi nájsť najvhodnejšie miesto, kde to odchytávať, ešte som tam pridal kontrolu na iný súbor, ako je adresár, súbor, alebo link. Ja mám v /tmp unix socket súbor a na ňom NB stále dokola generuje FILE_DELETED event. Celé som tom dal do try bloku, je to hlavná časť NB, tak pre istotu keby niečo

Vyriešil som aj záhadu prečo sa to prejavuje iba u niekoho. Pôvodca je Gradle, je tam chyba v kóde, už som ich informoval gradle/gradle#8119. No a cez NB Gradle plugin sa nejak záhadne dostane /tmp do stráženia zmien.

No a test, naozaj netuším ako ho urobiť, keďže na testovanie sú najlepšie spustené celé NB a test rieši iba to, na čo autor testu myslel, preto je to podla mňa aj tak iba zabíjanie času, viď tento problém.

Posledná vec sú Windows 10, stal sa zázrak a už aj tam sú linky. Akurát to nemám, kde vyskúšať, mám iba Kubuntu a vo virtuálke Win 7.