On 3/17/2013 11:51 AM, xavier jmlucjav wrote:
Hi,
I have an index where, if I kill solr via Control-C, it consistently hangs
next time I start it. Admin does not show cores, and searches never return.
If I delete the index contents and I restart again all is ok. I am on
windows 7, jdk1.7 and Solr4.0.
Is this a known issue? I looked in jira but found nothing.
I scanned your thread dump. Nothing jumped out at me, but given my
inexperience with such things, I'm not surprised by that.
Have you tried 4.1 or 4.2 yet to see if the problem persists? 4.0 is no
longer the new hotness.
Below I will discuss the culprit that springs to mind, though I don't
know whether it's what you are actually hitting.
One thing that can make Solr take a really long time to start up is huge
transaction logs. Transaction logs must be replayed when Solr starts,
and if they are huge, it can take a really long time.
Do you have tlog directories in your cores (in the data dir, next to the
index directory), and if you do, how much disk space do they use? The
example config in 4.x has updateLog turned on.
There are two common situations that can lead to huge transaction logs.
One is exclusively using soft commits when indexing, the other is
running a very large import with the dataimport handler and not
committing until the very end.
AutoCommit with openSearcher=false is a good solution to both of these
situations. As long as you use openSearcher=false, it will not change
what documents are visible. AutoCommit does a regular "hard" commit
every X new documents or every Y milliseconds. A hard commit flushes
index data to disk and starts a new transaction log. Solr will only
keep a few transaction logs around, so frequently building new ones
keeps their size down. When you restart Solr, you don't need to wait
for a long time while it replays them.
Thanks,
Shawn