DarkenedPhoenix
DarkenedPhoenix

Reputation: 51

Failure to obtain lock using Lucene and Sitecore

I'm trying to implement Lucene search in Sitecore. Using the default Sitecore.Search implementation, I should be able to get a reference to the index defined in my config file and call index.Rebuild.

I tried using the RebuildDatabaseCrawlers script from the AdvancedDatabaseCrawler, but everytime I call Rebuild, it fails.

The error I receive is:

Lock obtain timed out: SimpleFSLock@C:\sites\MySite\Data\indexes\__mysite\write.lock

I've tried changing permissions (including giving Everyone full perms), restarting databases and IIS, all to no avail. I've also tried stripping my search configuration section down to the bare minimum, with the same result.

Unfortunately I don't have any visibility into what the index.Rebuild() method does, as its inside the Sitecore.Search assembly.

Upvotes: 2

Views: 991

Answers (2)

DarkenedPhoenix
DarkenedPhoenix

Reputation: 51

The issue ended up being related to configuration.

Specifically, when trying to remove all superfluous Sitecore.Data.Indexing references from the configuration files after determining that i didn't need both Sitecore.Search and Sitecore.Data.Indexing, I had commented out the following line:

<configuration>
  <appSettings>
    <add key="Lucene.Net.FSDirectory.class" value="Sitecore.Data.Indexing.FSDirectory, Sitecore.Kernel"/>
  </appSettings>
</configuration>

That needs to be there.

Upvotes: 2

Mark Ursino
Mark Ursino

Reputation: 31435

Try to adjust the permissions for c:\Temp for your app pool user, e.g. Network Service

You can also try to do the same for: c:\windows\microsoft.net\framework\{version}\Temporary ASP.NET Files

Upvotes: 1

Related Questions