18840

Is it wrong to have more than one SOLR war file sharing the same solr_home?

We have two JBOSS servers, each with a SOLR war file (SOLR 3.6.1). They both share the same solr_home directory and associated sub-directories including data and index directories. At any one time, either or both war files could be processing searches or uploads (using the DataImportHandler). We are intermittently getting Locking exceptions while processing uploads e.g.

org.apache.lucene.store.LockObtainFailedException: Lock obtain timed out: NativeFSLock@/sharedDirectory/blah/blah/solr_home/././myCoreData/index/write.lock

We are also getting OutOfMemory errors which we are addressing. OutOfMemory errors can cause Lock errors so I'm not sure if fixing the OutOfMemory issue will resolve the Lock issue or is our approach wrong?

Is it valid to have two SOLR applications sharing the same solr_home, lock files etc?

Answer1:

It is not valid.

Your instances will be stepping on each other feet all the time. Have a look at the SolrCloud replication (not sharding) instead (Solr 4+). Then you will have full set of data in each core.

Recommend

  • jsf page displays zero intermittently
  • Regarding ORA 21000
  • Polling database for updates from C# application
  • Changing an HTML element's style in JavaScript with its CSS transition temporarily disabled isn
  • html, body 100% causing scrollbar to appear
  • Why I am getting 'Forbidden' when I try to login on my live codeigniter site?
  • PHP can't upload file from HTML form
  • Is it possible to force download using download attribute?
  • How to store path image users into a database: Codeigniter
  • Python list of list retrieve data
  • How to upload a folder to Google drive programmatically
  • CodeIgniter and htaccess - Protect a specific controller and its methods via AuthType?
  • What advantage does using a framework like CodeIgniter or CakePHP provide over using 'plain van
  • What object should a Monitor wait on?
  • carrierwave Excon::Errors::SocketError
  • How to Execute threads in parallel and insert corresponding data in sqlite database without database
  • How to upload file using socket.io-stream?
  • HBase REST API Locking Rows
  • Morphological Reconstruction in OpenCV
  • Uncaught Error: Cannot find template script at ID 'qq-template'!
  • Maintaining unique objects for names with concurrent delete
  • Powershell - Change windows 7 background to image off a website
  • Laravel: Save uploaded file into Session
  • User matching with current data
  • Is there a way to clear some session data from ALL sessions?
  • d3js: time scaling and “1901”
  • angularjs ng-bind-html html input part missing
  • When is locking on types a good idea?
  • Slow performance in hybrid AngularJS and Angular application in Safari
  • JPA/Hibernate - Entity name seems to be important. If I rename to “Bob” works fine
  • Ability to use Bootstrap 3 grid system to specify width of select element
  • Search files(key) in s3 bucket takes longer time
  • Python PIL to extract number from image
  • Servlet stops working on Tomcat server after some hits or time
  • Optimizing the print function in Matlab
  • Security issues with PHP's Readfile method
  • Jenkins: FATAL: Could not initialize class hudson.util.ProcessTree$UnixReflection
  • Stop Bash Script if Hive Fails
  • Debugging ASP.NET on a built-in web server suddenly stops
  • Hazelcast - OperationTimeoutException