Re: unable to load core after cluster restart

2013-11-12 Thread kaustubh147
Hi,

So finally we got our jdk/jre upgraded to 1.6.0-33. but it didnt solve the
problem. I am still seeing same write.lock error.

I was able to solve the problem by changing the lock type from native to
single. 
but I am not sure about other ramifications of this approach.

Do you see any problems coming into my way with 1 shard/4 replication setup.

Thanks,
Kaustubh



--
View this message in context: 
http://lucene.472066.n3.nabble.com/unable-to-load-core-after-cluster-restart-tp4098731p4100538.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: unable to load core after cluster restart

2013-11-06 Thread kaustubh147
Hi All,

I have further investigated the difference between both the environments.

We have JDK 1.6.0_17 (VM 14.3-b01)on UAT and JDK 1.6.0_33 (VM 20.8-b03)on
QA1. Can it be the reason behind this error?

Is there a recommended jdk version for SolrCloud ? 

Thanks,
Kaustubh



--
View this message in context: 
http://lucene.472066.n3.nabble.com/unable-to-load-core-after-cluster-restart-tp4098731p4099621.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: unable to load core after cluster restart

2013-11-06 Thread Shawn Heisey

On 11/6/2013 11:53 AM, kaustubh147 wrote:

Hi All,

I have further investigated the difference between both the environments.

We have JDK 1.6.0_17 (VM 14.3-b01)on UAT and JDK 1.6.0_33 (VM 20.8-b03)on
QA1. Can it be the reason behind this error?

Is there a recommended jdk version for SolrCloud ?


For Solr 4.x, Java 6 is required, and Java 7 works just fine.  Java 6 is 
no longer receiving unpaid support from Oracle, and there will likely be 
no more public versions available, which makes Java 7 attractive.


You don't need the JDK, the JRE is sufficient, but having the JDK is not 
a problem.  Oracle's product is recommended for Java 6. For Java 7, 
OpenJDK is probably sufficient, because for that version OpenJDK is the 
reference implementation.


Naturally, the latest version is always recommended, at least for Java 
6.  In the case of Java 7, 1.7.0_40 and 1.7.0_45 have known problems 
with Lucene/Solr.  For Java 7, 1.7.0_25 is currently the recommended 
version, and hopefully Oracle will be fixing their bug in the next release.


I don't know what might be causing the problems you're seeing when 
following my advice.  You'd have to give a lot of config details and the 
errors you're seeing.


Thanks,
Shawn



Re: unable to load core after cluster restart

2013-11-06 Thread kaustubh147
Hi,

Here is my 
solr.xml



solr

  solrcloud
str name=host${host:}/str
int name=hostPort28081/int
str name=hostContext/solr/str
str name=zkHostIP1:2181,IP2:2181,IP3:2181/mysolr/str
int name=zkClientTimeout15000/int
bool name=genericCoreNodeNames${genericCoreNodeNames:true}/bool
  /solrcloud

  shardHandlerFactory name=shardHandlerFactory
class=HttpShardHandlerFactory
int name=socketTimeout${socketTimeout:0}/int
int name=connTimeout${connTimeout:0}/int
  /shardHandlerFactory

/solr

--

and 
 solrconfig.xml



?xml version=1.0 encoding=UTF-8 ?
config
luceneMatchVersion4.5/luceneMatchVersion
lib dir=../../../contrib/extraction/lib regex=.*\.jar /
lib dir=../../../dist/ regex=solr-cell-\d.*\.jar /
lib dir=../../../contrib/clustering/lib/ regex=.*\.jar /
lib dir=../../../dist/ regex=solr-clustering-\d.*\.jar /
lib dir=../../../dist/ regex=solr-dataimporthandler-\d.*\.jar /
lib dir=../../../contrib/dataimporthandler/lib/ regex=.*\.jar /
lib dir=../../../contrib/langid/lib/ regex=.*\.jar /
lib dir=../../../dist/ regex=solr-langid-\d.*\.jar /

lib dir=../../../contrib/velocity/lib regex=.*\.jar /
lib dir=../../../dist/ regex=solr-velocity-\d.*\.jar /

dataDir${solr.data.dir:}/dataDir

directoryFactory name=DirectoryFactory
class=${solr.directoryFactory:solr.NRTCachingDirectoryFactory}/

codecFactory class=solr.SchemaCodecFactory/
schemaFactory class=ClassicIndexSchemaFactory/

indexConfig
writeLockTimeout2/writeLockTimeout
lockType${solr.lock.type:native}/lockType
infoStreamtrue/infoStream
/indexConfig

updateHandler class=solr.DirectUpdateHandler2

updateLog
str name=dir${solr.data.dir:}/str
/updateLog

autoCommit
maxTime${solr.autoCommit.maxTime:15000}/maxTime
openSearcherfalse/openSearcher
/autoCommit

autoSoftCommit
maxTime${solr.autoSoftCommit.maxTime:-1}/maxTime
/autoSoftCommit

/updateHandler


query

maxBooleanClauses50/maxBooleanClauses
filterCache class=solr.FastLRUCache
size=512
initialSize=512
autowarmCount=0/

queryResultCache class=solr.LRUCache
size=512
initialSize=512
autowarmCount=0/

documentCache class=solr.LRUCache
size=512
initialSize=512
autowarmCount=0/


cache name=perSegFilter
class=solr.search.LRUCache
size=10
initialSize=0
autowarmCount=10
regenerator=solr.NoOpRegenerator /

enableLazyFieldLoadingtrue/enableLazyFieldLoading

queryResultWindowSize20/queryResultWindowSize

queryResultMaxDocsCached200/queryResultMaxDocsCached

listener event=newSearcher class=solr.QuerySenderListener
arr name=queries

/arr
/listener
listener event=firstSearcher class=solr.QuerySenderListener
arr name=queries
lst
str name=qstatic firstSearcher warming in solrconfig.xml/str
/lst
/arr
/listener

useColdSearcherfalse/useColdSearcher

maxWarmingSearchers2/maxWarmingSearchers

/query

requestDispatcher handleSelect=false 

requestParsers enableRemoteStreaming=true
multipartUploadLimitInKB=2048000
formdataUploadLimitInKB=16384
addHttpRequestToContext=false/

httpCaching never304=true /

/requestDispatcher

requestHandler name=/dataimport
class=org.apache.solr.handler.dataimport.DataImportHandler
lst name=defaults
str name=configdb-data-config.xml/str
/lst
/requestHandler

requestHandler name=/select class=solr.SearchHandler

lst name=defaults
str name=echoParamsexplicit/str
int name=rows10/int
str name=dfkeyword/str
/lst

/requestHandler

requestHandler name=/query class=solr.SearchHandler
lst name=defaults
str name=echoParamsexplicit/str
str name=wtjson/str
str name=indenttrue/str
str name=dfkeyword/str
/lst
/requestHandler

requestHandler name=/get class=solr.RealTimeGetHandler
lst name=defaults
str name=omitHeadertrue/str
str name=wtjson/str
str name=indenttrue/str
/lst
/requestHandler

requestHandler name=/update class=solr.UpdateRequestHandler

/requestHandler

requestHandler name=/update/json class=solr.JsonUpdateRequestHandler
lst name=defaults
str name=stream.contentTypeapplication/json/str
/lst
/requestHandler
requestHandler name=/update/csv class=solr.CSVRequestHandler
lst name=defaults
str name=stream.contentTypeapplication/csv/str
/lst
/requestHandler

requestHandler name=/update/extract
startup=lazy
class=solr.extraction.ExtractingRequestHandler 
lst name=defaults
str name=lowernamestrue/str
str name=uprefixignored_/str

str name=captureAttrtrue/str
str name=fmap.alinks/str
str name=fmap.divignored_/str
/lst
/requestHandler

requestHandler name=/analysis/field
startup=lazy
class=solr.FieldAnalysisRequestHandler /

requestHandler name=/analysis/document
class=solr.DocumentAnalysisRequestHandler
startup=lazy /

requestHandler name=/admin/
class=solr.admin.AdminHandlers /

requestHandler name=/admin/ping class=solr.PingRequestHandler
lst name=invariants
str name=qsolrpingquery/str
/lst
lst name=defaults
str name=echoParamsall/str
/lst

/requestHandler

requestHandler name=/debug/dump class=solr.DumpRequestHandler 
lst name=defaults
str 

Re: unable to load core after cluster restart

2013-11-06 Thread Chris Geeringh
--- In the case of Java 7, 1.7.0_40 and 1.7.0_45 have known problems with
Lucene/Solr.

Shawn, this is interesting. What are the problems, where are the documented?


On 6 November 2013 20:18, kaustubh147 kaustubh.j...@gmail.com wrote:

 Hi,

 Here is my
 solr.xml



 solr

   solrcloud
 str name=host${host:}/str
 int name=hostPort28081/int
 str name=hostContext/solr/str
 str name=zkHostIP1:2181,IP2:2181,IP3:2181/mysolr/str
 int name=zkClientTimeout15000/int
 bool name=genericCoreNodeNames${genericCoreNodeNames:true}/bool
   /solrcloud

   shardHandlerFactory name=shardHandlerFactory
 class=HttpShardHandlerFactory
 int name=socketTimeout${socketTimeout:0}/int
 int name=connTimeout${connTimeout:0}/int
   /shardHandlerFactory

 /solr


 --

 and
  solrconfig.xml



 ?xml version=1.0 encoding=UTF-8 ?
 config
 luceneMatchVersion4.5/luceneMatchVersion
 lib dir=../../../contrib/extraction/lib regex=.*\.jar /
 lib dir=../../../dist/ regex=solr-cell-\d.*\.jar /
 lib dir=../../../contrib/clustering/lib/ regex=.*\.jar /
 lib dir=../../../dist/ regex=solr-clustering-\d.*\.jar /
 lib dir=../../../dist/ regex=solr-dataimporthandler-\d.*\.jar /
 lib dir=../../../contrib/dataimporthandler/lib/ regex=.*\.jar /
 lib dir=../../../contrib/langid/lib/ regex=.*\.jar /
 lib dir=../../../dist/ regex=solr-langid-\d.*\.jar /

 lib dir=../../../contrib/velocity/lib regex=.*\.jar /
 lib dir=../../../dist/ regex=solr-velocity-\d.*\.jar /

 dataDir${solr.data.dir:}/dataDir

 directoryFactory name=DirectoryFactory
 class=${solr.directoryFactory:solr.NRTCachingDirectoryFactory}/

 codecFactory class=solr.SchemaCodecFactory/
 schemaFactory class=ClassicIndexSchemaFactory/

 indexConfig
 writeLockTimeout2/writeLockTimeout
 lockType${solr.lock.type:native}/lockType
 infoStreamtrue/infoStream
 /indexConfig

 updateHandler class=solr.DirectUpdateHandler2

 updateLog
 str name=dir${solr.data.dir:}/str
 /updateLog

 autoCommit
 maxTime${solr.autoCommit.maxTime:15000}/maxTime
 openSearcherfalse/openSearcher
 /autoCommit

 autoSoftCommit
 maxTime${solr.autoSoftCommit.maxTime:-1}/maxTime
 /autoSoftCommit

 /updateHandler


 query

 maxBooleanClauses50/maxBooleanClauses
 filterCache class=solr.FastLRUCache
 size=512
 initialSize=512
 autowarmCount=0/

 queryResultCache class=solr.LRUCache
 size=512
 initialSize=512
 autowarmCount=0/

 documentCache class=solr.LRUCache
 size=512
 initialSize=512
 autowarmCount=0/


 cache name=perSegFilter
 class=solr.search.LRUCache
 size=10
 initialSize=0
 autowarmCount=10
 regenerator=solr.NoOpRegenerator /

 enableLazyFieldLoadingtrue/enableLazyFieldLoading

 queryResultWindowSize20/queryResultWindowSize

 queryResultMaxDocsCached200/queryResultMaxDocsCached

 listener event=newSearcher class=solr.QuerySenderListener
 arr name=queries

 /arr
 /listener
 listener event=firstSearcher class=solr.QuerySenderListener
 arr name=queries
 lst
 str name=qstatic firstSearcher warming in solrconfig.xml/str
 /lst
 /arr
 /listener

 useColdSearcherfalse/useColdSearcher

 maxWarmingSearchers2/maxWarmingSearchers

 /query

 requestDispatcher handleSelect=false 

 requestParsers enableRemoteStreaming=true
 multipartUploadLimitInKB=2048000
 formdataUploadLimitInKB=16384
 addHttpRequestToContext=false/

 httpCaching never304=true /

 /requestDispatcher

 requestHandler name=/dataimport
 class=org.apache.solr.handler.dataimport.DataImportHandler
 lst name=defaults
 str name=configdb-data-config.xml/str
 /lst
 /requestHandler

 requestHandler name=/select class=solr.SearchHandler

 lst name=defaults
 str name=echoParamsexplicit/str
 int name=rows10/int
 str name=dfkeyword/str
 /lst

 /requestHandler

 requestHandler name=/query class=solr.SearchHandler
 lst name=defaults
 str name=echoParamsexplicit/str
 str name=wtjson/str
 str name=indenttrue/str
 str name=dfkeyword/str
 /lst
 /requestHandler

 requestHandler name=/get class=solr.RealTimeGetHandler
 lst name=defaults
 str name=omitHeadertrue/str
 str name=wtjson/str
 str name=indenttrue/str
 /lst
 /requestHandler

 requestHandler name=/update class=solr.UpdateRequestHandler

 /requestHandler

 requestHandler name=/update/json class=solr.JsonUpdateRequestHandler
 lst name=defaults
 str name=stream.contentTypeapplication/json/str
 /lst
 /requestHandler
 requestHandler name=/update/csv class=solr.CSVRequestHandler
 lst name=defaults
 str name=stream.contentTypeapplication/csv/str
 /lst
 /requestHandler

 requestHandler name=/update/extract
 startup=lazy
 class=solr.extraction.ExtractingRequestHandler 
 lst name=defaults
 str name=lowernamestrue/str
 str name=uprefixignored_/str

 str name=captureAttrtrue/str
 str name=fmap.alinks/str
 str name=fmap.divignored_/str
 /lst
 /requestHandler

 requestHandler name=/analysis/field
 startup=lazy
 class=solr.FieldAnalysisRequestHandler /

 requestHandler name=/analysis/document
 

Re: unable to load core after cluster restart

2013-11-06 Thread Shawn Heisey

On 11/6/2013 2:03 PM, Chris Geeringh wrote:

--- In the case of Java 7, 1.7.0_40 and 1.7.0_45 have known problems with
Lucene/Solr.

Shawn, this is interesting. What are the problems, where are the documented?


https://issues.apache.org/jira/browse/LUCENE-5212

The issue comments say that one of the committers has worked around the 
problem, but I'm not sure whether that fix has made it out into the wild 
yet.  Even if it has, JVM bugs are nasty and can be tripped by other 
code besides Lucene/Solr, so it's better to completely avoid Java 
versions that are known to have them.


Thanks,
Shawn



Re: unable to load core after cluster restart

2013-11-06 Thread Shawn Heisey

On 11/6/2013 1:18 PM, kaustubh147 wrote:

I am attaching a small log file with debug option enabled.. log shows
following process

1. first start of solr cluster
2. create collection collection1
3. shutdown cluster
4. start cluster again

error is in only the 4th step...and it is coming after solr is trying to
close data directory for some reason... class name is
org.apache.solr.core.CachingDirectoryFactory..

Thanks,
Kaustubh

solr_logs_for_post.txt
http://lucene.472066.n3.nabble.com/file/n4099641/solr_logs_for_post.txt


Here's a relevant excerpt from that log:

Caused by: org.apache.lucene.store.LockObtainFailedException: Lock 
obtain timed out: 
NativeFSLock@/mnt/emc/app_name/data-prod-refresh/SolrCloud/SolrHome3/solr/collection1/data/index/write.lock

at org.apache.lucene.store.Lock.obtain(Lock.java:84)
at org.apache.lucene.index.IndexWriter.init(IndexWriter.java:673)
at 
org.apache.solr.update.SolrIndexWriter.init(SolrIndexWriter.java:77)
at 
org.apache.solr.update.SolrIndexWriter.create(SolrIndexWriter.java:64)
at 
org.apache.solr.update.DefaultSolrCoreState.createMainIndexWriter(DefaultSolrCoreState.java:267)
at 
org.apache.solr.update.DefaultSolrCoreState.getIndexWriter(DefaultSolrCoreState.java:110)

at org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:1440)
... 15 more

In a nutshell, it's trying to create the write.lock file in your index 
directory and obtain a lock on it.  Either the file already exists from 
the previous Solr start, or the lock is failing.


You may need to change your lock type.  Currently it's native but you 
might need simple or none instead, for NFS to work properly.


You might also need to upgrade to NFSv4, which has much better locking 
capability than earlier versions. Unfortunately it also tends to have 
mounting problems, leading people to downgrade the version to 3 on their 
servers.


There might be network problems, or bugs in your NFS server or NFS 
client code, etc.  The path suggests that the storage is an EMC device.  
Check with them for possible bugs with their NFS implementation - you 
might need newer software/firmware for the device.  NIC firmware on your 
server is another possible problem point.


Running with your index on NFS is problematic.  I have never personally 
tried it, but I see messages here and on IRC about problems with it.  I 
believe there are some people who do it successfully, perhaps someone 
who's faced these problems and beat them could offer insight.


Thanks,
Shawn



Re: unable to load core after cluster restart

2013-11-06 Thread kaustubh147
Hi,

I tried simple lock type too. It is throwing similar error... 


Caused by: org.apache.lucene.store.LockObtainFailedException: Lock obtain
timed out:
SimpleFSLock@/mnt/emc/app_name/data-prod-refresh/SolrCloud/SolrHome1/solr/collection1_shard1_replica2/data/index/write.lock
at org.apache.lucene.store.Lock.obtain(Lock.java:84)
at org.apache.lucene.index.IndexWriter.init(IndexWriter.java:673)
at 
org.apache.solr.update.SolrIndexWriter.init(SolrIndexWriter.java:77)
at 
org.apache.solr.update.SolrIndexWriter.create(SolrIndexWriter.java:64)
at
org.apache.solr.update.DefaultSolrCoreState.createMainIndexWriter(DefaultSolrCoreState.java:267)
at
org.apache.solr.update.DefaultSolrCoreState.getIndexWriter(DefaultSolrCoreState.java:110)
at org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:1440)


I am trying to find if there is anything wrong with NFS/NFS implementation.
but similar setup works fine in QA1.

I even tried moving my Solrhome from mount drive to server's local drive...
but it yield the same error..

Thanks,
Kaustubh




--
View this message in context: 
http://lucene.472066.n3.nabble.com/unable-to-load-core-after-cluster-restart-tp4098731p4099687.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: unable to load core after cluster restart

2013-11-02 Thread kaustubh147
Hi Shawn,

One thing I forget to mention here is the same setup (with no bootstrap) is
working fine in our QA1 environment. I did not have the bootstrap option
from start, I added it thinking it will solve the problem.

Nonetheless I followed Shawn's instructions, wherever it differed from my
old approach...
1. I moved my zkHost from JVM to solr.xml and added chroot in it
2. removed bootstrap option
3. created collections with URL template suggested (I have tried it earlier
too)

None of it worked for me... I am seeing same errors.. I am adding some more
logs before and after the error occurs


-

INFO  - 2013-11-02 17:40:40.427;
org.apache.solr.update.DefaultSolrCoreState; closing IndexWriter with
IndexWriterCloser
INFO  - 2013-11-02 17:40:40.428; org.apache.solr.core.SolrCore; [xyz]
Closing main searcher on request.
INFO  - 2013-11-02 17:40:40.431;
org.apache.solr.core.CachingDirectoryFactory; Closing
NRTCachingDirectoryFactory - 1 directories currently being tracked
INFO  - 2013-11-02 17:40:40.432;
org.apache.solr.core.CachingDirectoryFactory; looking to close
/mnt/emc/App_name/data-UAT-refresh/SolrCloud/SolrHome2/solr/xyz/data
[CachedDirrefCount=0;path=/mnt/emc/App_name/data-UAT-refresh/SolrCloud/SolrHome2/solr/xyz/data;done=false]
INFO  - 2013-11-02 17:40:40.432;
org.apache.solr.core.CachingDirectoryFactory; Closing directory:
/mnt/emc/App_name/data-UAT-refresh/SolrCloud/SolrHome2/solr/xyz/data
ERROR - 2013-11-02 17:40:40.433; org.apache.solr.core.CoreContainer; Unable
to create core: xyz
org.apache.solr.common.SolrException: Error opening new searcher
at org.apache.solr.core.SolrCore.init(SolrCore.java:834)
at org.apache.solr.core.SolrCore.init(SolrCore.java:625)
at org.apache.solr.core.ZkContainer.createFromZk(ZkContainer.java:256)
at org.apache.solr.core.CoreContainer.create(CoreContainer.java:555)
at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:247)
at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:239)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.apache.solr.common.SolrException: Error opening new searcher
at org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:1477)
at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1589)
at org.apache.solr.core.SolrCore.init(SolrCore.java:821)
... 13 more
Caused by: org.apache.lucene.store.LockObtainFailedException: Lock obtain
timed out:
NativeFSLock@/mnt/emc/App_name/data-UAT-refresh/SolrCloud/SolrHome2/solr/xyz/data/index/write.lock
at org.apache.lucene.store.Lock.obtain(Lock.java:84)
at org.apache.lucene.index.IndexWriter.init(IndexWriter.java:695)
at 
org.apache.solr.update.SolrIndexWriter.init(SolrIndexWriter.java:77)
at 
org.apache.solr.update.SolrIndexWriter.create(SolrIndexWriter.java:64)
at
org.apache.solr.update.DefaultSolrCoreState.createMainIndexWriter(DefaultSolrCoreState.java:267)
at
org.apache.solr.update.DefaultSolrCoreState.getIndexWriter(DefaultSolrCoreState.java:110)
at org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:1440)
... 15 more
ERROR - 2013-11-02 17:40:40.443; org.apache.solr.common.SolrException;
null:org.apache.solr.common.SolrException: Unable to create core: xyz
at
org.apache.solr.core.CoreContainer.recordAndThrow(CoreContainer.java:934)
at org.apache.solr.core.CoreContainer.create(CoreContainer.java:566)
at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:247)
at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:239)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.apache.solr.common.SolrException: Error opening new searcher
at org.apache.solr.core.SolrCore.init(SolrCore.java:834)
   

Re: unable to load core after cluster restart

2013-10-31 Thread Shawn Heisey
On 10/31/2013 9:18 PM, kaustubh147 wrote:
 Glassfish 3.1.2.2 
 Solr 4.5 
 Zookeeper 3.4.5 
 
 We have set up a SolrCloud with 4 Solr nodes and 3 zookeeper instances. 
 
 I start the cluster for the first time with bootstrap_conf= true All the
 nodes starts property.. I am creating cores (with the same name) on all 4
 instances. I can add multiple cores on each of the instances... logically I
 have 5 collections.
 
 Now i am creating indexes.. and it automatically creates 4 copies of the
 index, one for each instance in appropriate SolrHome directory... It will
 work properly untill I restart the Solr cluster
 
 as soon as I restart the cluster, it throws this error (refer below) and
 none of the collection works properly...

It's having problems with the index locking.  Further down, you talk
about shared directories.  I assume you're using a network filesystem,
like NFS.  Lucene and Solr don't work well with network file systems,
and NFS in particular.

http://stackoverflow.com/questions/9599529/solr-over-nfs-problems

For SolrCloud, using the bootstrap options tends to create a lot of
confusion.

 1. I have removed dataDir from solrconfig.xml as suggested by Shaun here...
 
 http://lucene.472066.n3.nabble.com/Solr-4-3-0-Shard-instances-using-incorrect-data-directory-on-machine-boot-td4063799.html
 
 2. I have provided absolute dataDir path in the core.properties file -
 https://issues.apache.org/jira/browse/SOLR-4878
 
 3. InstanceDir in each SolrHome have same name for every core/collection--
 for example
 
 SolrHome1/solr/xyz/conf
 SolrHome1/solr/xyz/data
 SolrHome1/solr/xyz/core.properties
 SolrHome1/solr/pqr/conf
 SolrHome1/solr/pqr/data
 SolrHome1/solr/pqr/core.properties
 
 
 SolrHome2/solr/xyz/conf
 SolrHome2/solr/xyz/data
 SolrHome2/solr/xyz/core.properties
 SolrHome2/solr/pqr/conf
 SolrHome2/solr/pqr/data
 SolrHome2/solr/pqr/core.properties
 
 ...
 
 3. The 4 SolrHome for each of the instances are on a single shared drive...
 but are in different directories
 
 4. All my collections and cores share the same solrconfig.xml 

The fact that you're using SolrCloud changes things quite a bit.  I
notice that you have a conf directory on all your cores.  I'm very
curious as to why -- because with SolrCloud, the config that's used
isn't on the disk, it's in zookeeper ... and when you create a
collection from scratch, the cores will NOT contain a conf directory.

IMHO, you shouldn't be trying to control things like dataDir with
SolrCloud.  In fact, you should let SolrCloud control practically all
aspects of your cores.  Here's some more stuff that's my opinion about
how a SolrCloud should be begun and managed:

Set the solr home, either with a solr.solr.home java system property or
the JNDI property solr/home.  In solr.xml, include settings for the
hostPort and hostContext, and include a zkHost parameter as well with
the following format, where mysolr is a zookeeper chroot and can be
anything you want it to be:

zoo1.example.com:2181,zoo2.example.com:2181,zoo3.example.com/mysolr

Upload one or more configs to zookeeper using the zkcli upconfig command.

The first time you start each Solr server, it should have no cores at
all, and you should never use any bootstrap options.

Once all servers are started, create a collection using the following
URL as a template:

http://server:port/admin/collections?action=CREATEname=mytestnumShards=XreplicationFactor=Ncollection.configName=mycfg

Use appropriate values for name, X and N, and N should be at least 2
unless you're building a dev cluster that doesn't need redundancy.  For
the collection.configName, use a config name that you uploaded earlier
with zkcli.

Thanks,
Shawn