Hi,
before setting up a bug tracker account I wanted to confirm that it's not
just me seeing this as a problem.
It appears that the usage of the lucene indexer for things like 'find
occurrences' breaks the deletion of the project. The reproduction steps are
rather simple: Create a project, create a module, add a variable with at
least one usage and then use find-occurrences. Finally delete the project -
including contents - from disk.
This runs into an exception for me when Eclipse tries to delete metadata from
the project, particularly in the metadata of the org.eclipse.core.resources
plugin (.projects/foo/com.python.pydev.analysis). It appears the Lucene
indexer files are causing this as creating a new project with the same name
and trying a find occurrence in that new project the Lucene indexer complains
about the write.lock file not being usable. I also find that directory left
over after deletion of the project while all other files and directories in
.project/foo are gone.
This problem only appears on Windows which suggests that Lucene might be
doing something to lock its files with the filesystem so they cannot be
deleted. I could somewhat confirm this theory by manually trying to delete
the folder via Windows explorer after using find-occurrences, this was
forbidden.
Finally switching the AbstractAdditionalDependencyInfo class to use the
deprecated ReferenceSearches instead of the ReferenceSearchesLucene class for
search makes the problem go away completely.
I had a short look at the IndexApi class which uses Lucene and couldn't help
but wonder if it's really necessary to keep a 'Writer' object open and
running the whole time Eclipse is running. I would've expected the writer
object to be short-lived - for updating the index - and a reader object
possibly being open all the time for reading the stored data.
Andreas
--
Andreas Pakulat squ...@froglogic.com
froglogic GmbH - Automated UI and Web Testing
_______________________________________________
pydev-code mailing list
pydev-code@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pydev-code