Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 417837

Summary: Solr LOCK_FAILURE error appears during Git fetch
Product: [ECD] Orion Reporter: Mark Macdonald <mamacdon>
Component: ServerAssignee: Project Inbox <orion.server-inbox>
Status: RESOLVED WONTFIX QA Contact:
Severity: major    
Priority: P3 CC: ahunter.eclipse, john.arthorne
Version: 3.0   
Target Milestone: ---   
Hardware: PC   
OS: Windows 7   
Whiteboard:
Attachments:
Description Flags
screenshot
none
server log of LOCK_FAILURE none

Description Mark Macdonald CLA 2013-09-23 10:52:19 EDT
Created attachment 235720 [details]
screenshot

Platform: Windows, OS X

1. Run a localhost Orion.
2. Go to the Git Repositories page and Init a new repo.
3. Add a New Remote with this URL:
 https://github.com/kenwalker/orion.client.git
4. Click Fetch.
5. After a while, an error popup appears saying
> LOCK_FAILURE

This makes it seem like the Fetch failed -- however it *seems* to have worked as the remote repo's commits appear in the Git log.

The server log below shows the stack trace. I think perhaps Lucene's indexing job kicks off during the clone operation, and it tries to read files that JGit is writing to.

An average user has no control over the search indexing at all, so they should never be exposed to Lucene errors. It's especially misleading in this case because it surfaces as a failure in the Git operation.
Comment 1 Mark Macdonald CLA 2013-09-23 10:53:57 EDT
Created attachment 235722 [details]
server log of LOCK_FAILURE

This entry looks particularly bad:

> 2013-09-23 10:27:03.823 [Finalizer thread] ERROR o.apache.solr.update.SolrIndexWriter - SolrIndexWriter was not closed prior to finalize(), indicates a bug -- POSSIBLE RESOURCE LEAK!!!
Comment 2 John Arthorne CLA 2013-09-23 14:50:45 EDT
I think you might have two servers running simultaneously? I also see:

java.lang.Exception: Error starting Jetty on port: 8080

...

org.eclipse.equinox.http.jetty.JettyConfigurator.MasterJetty : Address already in use: bind

The file it is trying to lock is a lock on the lucene search index file. No other thread should ever even know about this file, but if there are multiple copies of orion running it could be in contention with the lucene running in the other instance.
Comment 3 Mark Macdonald CLA 2013-09-23 15:44:48 EDT
Ok, I guess that log is a total red herring. I tried it again, and I get the  LOCK_FAILURE error again, but absolutely nothing printed to the server log.
Comment 4 Anthony Hunter CLA 2015-01-19 15:13:17 EST
We are no longer using Apache Solr on the Orion server for search.