Is it possible you are hitting this (just opened) Solr issue?:

    https://issues.apache.org/jira/browse/SOLR-3392

Mike McCandless

http://blog.mikemccandless.com

On Fri, Apr 20, 2012 at 9:33 AM, Gopal Patwa <gopalpa...@gmail.com> wrote:
> We cannot avoid auto soft commit, since we need Lucene NRT feature. And I
> use StreamingUpdateSolrServer for adding/updating index.
>
> On Thu, Apr 19, 2012 at 7:42 AM, Boon Low <boon....@brightsolid.com> wrote:
>
>> Hi,
>>
>> Also came across this error recently, while indexing with > 10 DIH
>> processes in parallel + default index setting. The JVM grinds to a halt and
>> throws this error. Checking the index of a core reveals thousands of files!
>> Tuning the default autocommit from 15000ms to 900000ms solved the problem
>> for us. (no 'autosoftcommit').
>>
>> Boon
>>
>> -----
>> Boon Low
>> Search UX and Engine Developer
>> brightsolid Online Publishing
>>
>> On 14 Apr 2012, at 17:40, Gopal Patwa wrote:
>>
>> > I checked it was "MMapDirectory.UNMAP_SUPPORTED=true" and below are my
>> > system data. Is their any existing test case to reproduce this issue? I
>> am
>> > trying understand how I can reproduce this issue with unit/integration
>> test
>> >
>> > I will try recent solr trunk build too,  if it is some bug in solr or
>> > lucene keeping old searcher open then how to reproduce it?
>> >
>> > SYSTEM DATA
>> > ===========
>> > PROCESSOR: Intel(R) Xeon(R) CPU E5504 @ 2.00GHz
>> > SYSTEM ID: x86_64
>> > CURRENT CPU SPEED: 1600.000 MHz
>> > CPUS: 8 processor(s)
>> > MEMORY: 49449296 kB
>> > DISTRIBUTION: CentOS release 5.3 (Final)
>> > KERNEL NAME: 2.6.18-128.el5
>> > UPTIME: up 71 days
>> > LOAD AVERAGE: 1.42, 1.45, 1.53
>> > JBOSS Version: Implementation-Version: 4.2.2.GA (build:
>> > SVNTag=JBoss_4_2_2_GA date=20
>> > JAVA Version: java version "1.6.0_24"
>> >
>> >
>> > On Thu, Apr 12, 2012 at 3:07 AM, Michael McCandless <
>> > luc...@mikemccandless.com> wrote:
>> >
>> >> Your largest index has 66 segments (690 files) ... biggish but not
>> >> insane.  With 64K maps you should be able to have ~47 searchers open
>> >> on each core.
>> >>
>> >> Enabling compound file format (not the opposite!) will mean fewer maps
>> >> ... ie should improve this situation.
>> >>
>> >> I don't understand why Solr defaults to compound file off... that
>> >> seems dangerous.
>> >>
>> >> Really we need a Solr dev here... to answer "how long is a stale
>> >> searcher kept open".  Is it somehow possible 46 old searchers are
>> >> being left open...?
>> >>
>> >> I don't see any other reason why you'd run out of maps.  Hmm, unless
>> >> MMapDirectory didn't think it could safely invoke unmap in your JVM.
>> >> Which exact JVM are you using?  If you can print the
>> >> MMapDirectory.UNMAP_SUPPORTED constant, we'd know for sure.
>> >>
>> >> Yes, switching away from MMapDir will sidestep the "too many maps"
>> >> issue, however, 1) MMapDir has better perf than NIOFSDir, and 2) if
>> >> there really is a leak here (Solr not closing the old searchers or a
>> >> Lucene bug or something...) then you'll eventually run out of file
>> >> descriptors (ie, same  problem, different manifestation).
>> >>
>> >> Mike McCandless
>> >>
>> >> http://blog.mikemccandless.com
>> >>
>> >> 2012/4/11 Gopal Patwa <gopalpa...@gmail.com>:
>> >>>
>> >>> I have not change the mergefactor, it was 10. Compound index file is
>> >> disable
>> >>> in my config but I read from below post, that some one had similar
>> issue
>> >> and
>> >>> it was resolved by switching from compound index file format to
>> >> non-compound
>> >>> index file.
>> >>>
>> >>> and some folks resolved by "changing lucene code to disable
>> >> MMapDirectory."
>> >>> Is this best practice to do, if so is this can be done in
>> configuration?
>> >>>
>> >>>
>> >>
>> http://lucene.472066.n3.nabble.com/MMapDirectory-failed-to-map-a-23G-compound-index-segment-td3317208.html
>> >>>
>> >>> I have index document of core1 = 5 million, core2=8million and
>> >>> core3=3million and all index are hosted in single Solr instance
>> >>>
>> >>> I am going to use Solr for our site StubHub.com, see attached "ls -l"
>> >> list
>> >>> of index files for all core
>> >>>
>> >>> SolrConfig.xml:
>> >>>
>> >>>
>> >>>      <indexDefaults>
>> >>>              <useCompoundFile>false</useCompoundFile>
>> >>>              <mergeFactor>10</mergeFactor>
>> >>>              <maxMergeDocs>2147483647</maxMergeDocs>
>> >>>              <maxFieldLength>10000</maxFieldLength-->
>> >>>              <ramBufferSizeMB>4096</ramBufferSizeMB>
>> >>>              <maxThreadStates>10</maxThreadStates>
>> >>>              <writeLockTimeout>1000</writeLockTimeout>
>> >>>              <commitLockTimeout>10000</commitLockTimeout>
>> >>>              <lockType>single</lockType>
>> >>>
>> >>>          <mergePolicy
>> class="org.apache.lucene.index.TieredMergePolicy">
>> >>>            <double name="forceMergeDeletesPctAllowed">0.0</double>
>> >>>            <double name="reclaimDeletesWeight">10.0</double>
>> >>>          </mergePolicy>
>> >>>
>> >>>          <deletionPolicy class="solr.SolrDeletionPolicy">
>> >>>            <str name="keepOptimizedOnly">false</str>
>> >>>            <str name="maxCommitsToKeep">0</str>
>> >>>          </deletionPolicy>
>> >>>
>> >>>      </indexDefaults>
>> >>>
>> >>>
>> >>>      <updateHandler class="solr.DirectUpdateHandler2">
>> >>>          <maxPendingDeletes>1000</maxPendingDeletes>
>> >>>           <autoCommit>
>> >>>             <maxTime>900000</maxTime>
>> >>>             <openSearcher>false</openSearcher>
>> >>>           </autoCommit>
>> >>>           <autoSoftCommit>
>> >>>
>> >> <maxTime>${inventory.solr.softcommit.duration:1000}</maxTime>
>> >>>           </autoSoftCommit>
>> >>>
>> >>>      </updateHandler>
>> >>>
>> >>>
>> >>> Forwarded conversation
>> >>> Subject: Large Index and OutOfMemoryError: Map failed
>> >>> ------------------------
>> >>>
>> >>> From: Gopal Patwa <gopalpa...@gmail.com>
>> >>> Date: Fri, Mar 30, 2012 at 10:26 PM
>> >>> To: solr-user@lucene.apache.org
>> >>>
>> >>>
>> >>> I need help!!
>> >>>
>> >>>
>> >>>
>> >>>
>> >>>
>> >>> I am using Solr 4.0 nightly build with NRT and I often get this error
>> >> during
>> >>> auto commit "java.lang.OutOfMemoryError: Map failed". I have search
>> this
>> >>> forum and what I found it is related to OS ulimit setting, please se
>> >> below
>> >>> my ulimit settings. I am not sure what ulimit setting I should have?
>> and
>> >> we
>> >>> also get "java.net.SocketException: Too many open files" NOT sure how
>> >> many
>> >>> open file we need to set?
>> >>>
>> >>>
>> >>> I have 3 core with index size : core1 - 70GB, Core2 - 50GB and Core3 -
>> >> 15GB,
>> >>> with Single shard
>> >>>
>> >>>
>> >>> We update the index every 5 seconds, soft commit every 1 second and
>> hard
>> >>> commit every 15 minutes
>> >>>
>> >>>
>> >>> Environment: Jboss 4.2, JDK 1.6 , CentOS, JVM Heap Size = 24GB
>> >>>
>> >>>
>> >>> ulimit:
>> >>>
>> >>> core file size          (blocks, -c) 0
>> >>> data seg size           (kbytes, -d) unlimited
>> >>> scheduling priority             (-e) 0
>> >>> file size               (blocks, -f) unlimited
>> >>> pending signals                 (-i) 401408
>> >>> max locked memory       (kbytes, -l) 1024
>> >>> max memory size         (kbytes, -m) unlimited
>> >>> open files                      (-n) 1024
>> >>> pipe size            (512 bytes, -p) 8
>> >>> POSIX message queues     (bytes, -q) 819200
>> >>> real-time priority              (-r) 0
>> >>> stack size              (kbytes, -s) 10240
>> >>> cpu time               (seconds, -t) unlimited
>> >>> max user processes              (-u) 401408
>> >>> virtual memory          (kbytes, -v) unlimited
>> >>> file locks                      (-x) unlimited
>> >>>
>> >>>
>> >>>
>> >>> ERROR:
>> >>>
>> >>>
>> >>>
>> >>>
>> >>>
>> >>> 2012-03-29 15:14:08,560 [] priority=ERROR app_name=
>> >> thread=pool-3-thread-1
>> >>> location=CommitTracker line=93 auto commit
>> error...:java.io.IOException:
>> >> Map
>> >>> failed
>> >>>      at sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:748)
>> >>>      at
>> >>>
>> >>
>> org.apache.lucene.store.MMapDirectory$MMapIndexInput.<init>(MMapDirectory.java:293)
>> >>>      at
>> >> org.apache.lucene.store.MMapDirectory.openInput(MMapDirectory.java:221)
>> >>>      at
>> >>>
>> >>
>> org.apache.lucene.codecs.lucene40.Lucene40PostingsReader.<init>(Lucene40PostingsReader.java:58)
>> >>>      at
>> >>>
>> >>
>> org.apache.lucene.codecs.lucene40.Lucene40PostingsFormat.fieldsProducer(Lucene40PostingsFormat.java:80)
>> >>>      at
>> >>>
>> >>
>> org.apache.lucene.codecs.perfield.PerFieldPostingsFormat$FieldsReader$1.visitOneFormat(PerFieldPostingsFormat.java:189)
>> >>>      at
>> >>>
>> >>
>> org.apache.lucene.codecs.perfield.PerFieldPostingsFormat$VisitPerFieldFile.<init>(PerFieldPostingsFormat.java:280)
>> >>>      at
>> >>>
>> >>
>> org.apache.lucene.codecs.perfield.PerFieldPostingsFormat$FieldsReader$1.<init>(PerFieldPostingsFormat.java:186)
>> >>>      at
>> >>>
>> >>
>> org.apache.lucene.codecs.perfield.PerFieldPostingsFormat$FieldsReader.<init>(PerFieldPostingsFormat.java:186)
>> >>>      at
>> >>>
>> >>
>> org.apache.lucene.codecs.perfield.PerFieldPostingsFormat.fieldsProducer(PerFieldPostingsFormat.java:256)
>> >>>      at
>> >>>
>> >>
>> org.apache.lucene.index.SegmentCoreReaders.<init>(SegmentCoreReaders.java:108)
>> >>>      at
>> >> org.apache.lucene.index.SegmentReader.<init>(SegmentReader.java:51)
>> >>>      at
>> >>>
>> >>
>> org.apache.lucene.index.IndexWriter$ReadersAndLiveDocs.getReader(IndexWriter.java:494)
>> >>>      at
>> >>>
>> >>
>> org.apache.lucene.index.BufferedDeletesStream.applyDeletes(BufferedDeletesStream.java:214)
>> >>>      at
>> >>>
>> >>
>> org.apache.lucene.index.IndexWriter.applyAllDeletes(IndexWriter.java:2939)
>> >>>      at
>> >>>
>> >>
>> org.apache.lucene.index.IndexWriter.maybeApplyDeletes(IndexWriter.java:2930)
>> >>>      at
>> >> org.apache.lucene.index.IndexWriter.prepareCommit(IndexWriter.java:2681)
>> >>>      at
>> >>>
>> org.apache.lucene.index.IndexWriter.commitInternal(IndexWriter.java:2804)
>> >>>      at
>> >> org.apache.lucene.index.IndexWriter.commit(IndexWriter.java:2786)
>> >>>      at
>> >>>
>> >>
>> org.apache.solr.update.DirectUpdateHandler2.commit(DirectUpdateHandler2.java:391)
>> >>>      at
>> org.apache.solr.update.CommitTracker.run(CommitTracker.java:197)
>> >>>      at
>> >> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
>> >>>      at
>> >>>
>> >>> ...
>> >>>
>> >>> [Message clipped]
>> >>> ----------
>> >>> From: Michael McCandless <luc...@mikemccandless.com>
>> >>> Date: Sat, Mar 31, 2012 at 3:15 AM
>> >>> To: solr-user@lucene.apache.org
>> >>>
>> >>>
>> >>> It's the virtual memory limit that matters; yours says unlimited below
>> >>> (good!), but, are you certain that's really the limit your Solr
>> >>> process runs with?
>> >>>
>> >>> On Linux, there is also a per-process map count:
>> >>>
>> >>>   cat /proc/sys/vm/max_map_count
>> >>>
>> >>> I think it typically defaults to 65,536 but you should check on your
>> >>> env.  If a process tries to map more than this many regions, you'll
>> >>> hit that exception.
>> >>>
>> >>> I think you can:
>> >>>
>> >>> cat /proc/<pid>/maps | wc
>> >>>
>> >>> to see how many maps your Solr process currently has... if that is
>> >>> anywhere near the limit then it could be the cause.
>> >>>
>> >>> Mike McCandless
>> >>>
>> >>> http://blog.mikemccandless.com
>> >>>
>> >>> On Sat, Mar 31, 2012 at 1:26 AM, Gopal Patwa <gopalpa...@gmail.com>
>> >> wrote:
>> >>>> *I need help!!*
>> >>>>
>> >>>> *
>> >>>> *
>> >>>>
>> >>>> *I am using Solr 4.0 nightly build with NRT and I often get this error
>> >>>> during auto commit "**java.lang.OutOfMemoryError:* *Map* *failed". I
>> >>>> have search this forum and what I found it is related to OS ulimit
>> >>>> setting, please se below my ulimit settings. I am not sure what ulimit
>> >>>> setting I should have? and we also get "**java.net.SocketException:*
>> >>>> *Too* *many* *open* *files" NOT sure how many open file we need to
>> >>>> set?*
>> >>>>
>> >>>>
>> >>>> I have 3 core with index size : core1 - 70GB, Core2 - 50GB and Core3 -
>> >>>> 15GB, with Single shard
>> >>>>
>> >>>> *
>> >>>> *
>> >>>>
>> >>>> *We update the index every 5 seconds, soft commit every 1 second and
>> >>>> hard commit every 15 minutes*
>> >>>>
>> >>>> *
>> >>>> *
>> >>>>
>> >>>> *Environment: Jboss 4.2, JDK 1.6 , CentOS, JVM Heap Size = 24GB*
>> >>>>
>> >>>> *
>> >>>> *
>> >>>>
>> >>>> ulimit:
>> >>>>
>> >>>> core file size          (blocks, -c) 0
>> >>>> data seg size           (kbytes, -d) unlimited
>> >>>> scheduling priority             (-e) 0
>> >>>> file size               (blocks, -f) unlimited
>> >>>> pending signals                 (-i) 401408
>> >>>> max locked memory       (kbytes, -l) 1024
>> >>>> max memory size         (kbytes, -m) unlimited
>> >>>> open files                      (-n) 1024
>> >>>> pipe size            (512 bytes, -p) 8
>> >>>> POSIX message queues     (bytes, -q) 819200
>> >>>> real-time priority              (-r) 0
>> >>>> stack size              (kbytes, -s) 10240
>> >>>> cpu time               (seconds, -t) unlimited
>> >>>> max user processes              (-u) 401408
>> >>>> virtual memory          (kbytes, -v) unlimited
>> >>>> file locks                      (-x) unlimited
>> >>>>
>> >>>>
>> >>>> *
>> >>>> *
>> >>>>
>> >>>> *ERROR:*
>> >>>>
>> >>>> *
>> >>>> *
>> >>>>
>> >>>> *2012-03-29* *15:14:08*,*560* [] *priority=ERROR* *app_name=*
>> >>>> *thread=pool-3-thread-1* *location=CommitTracker* *line=93* *auto*
>> >>>> *commit* *error...:java.io.IOException:* *Map* *failed*
>> >>>>       *at*
>> *sun.nio.ch.FileChannelImpl.map*(*FileChannelImpl.java:748*)
>> >>>>       *at*
>> >>>>
>> >>
>> *org.apache.lucene.store.MMapDirectory$MMapIndexInput.*<*init*>(*MMapDirectory.java:293*)
>> >>>>       *at*
>> >>>>
>> >>
>> *org.apache.lucene.store.MMapDirectory.openInput*(*MMapDirectory.java:221*)
>> >>>>       *at*
>> >>>>
>> >>
>> *org.apache.lucene.codecs.lucene40.Lucene40PostingsReader.*<*init*>(*Lucene40PostingsReader.java:58*)
>> >>>>       *at*
>> >>>>
>> >>
>> *org.apache.lucene.codecs.lucene40.Lucene40PostingsFormat.fieldsProducer*(*Lucene40PostingsFormat.java:80*)
>> >>>>       *at*
>> >>>>
>> >>
>> *org.apache.lucene.codecs.perfield.PerFieldPostingsFormat$FieldsReader$1.visitOneFormat*(*PerFieldPostingsFormat.java:189*)
>> >>>>       *at*
>> >>>>
>> >>
>> *org.apache.lucene.codecs.perfield.PerFieldPostingsFormat$VisitPerFieldFile.*<*init*>(*PerFieldPostingsFormat.java:280*)
>> >>>>       *at*
>> >>>>
>> >>
>> *org.apache.lucene.codecs.perfield.PerFieldPostingsFormat$FieldsReader$1.*<*init*>(*PerFieldPostingsFormat.java:186*)
>> >>>>       *at*
>> >>>>
>> >>
>> *org.apache.lucene.codecs.perfield.PerFieldPostingsFormat$FieldsReader.*<*init*>(*PerFieldPostingsFormat.java:186*)
>> >>>>       *at*
>> >>>>
>> >>
>> *org.apache.lucene.codecs.perfield.PerFieldPostingsFormat.fieldsProducer*(*PerFieldPostingsFormat.java:256*)
>> >>>>       *at*
>> >>>>
>> >>
>> *org.apache.lucene.index.SegmentCoreReaders.*<*init*>(*SegmentCoreReaders.java:108*)
>> >>>>       *at*
>> >>>>
>> >>
>> *org.apache.lucene.index.SegmentReader.*<*init*>(*SegmentReader.java:51*)
>> >>>>       *at*
>> >>>>
>> >>
>> *org.apache.lucene.index.IndexWriter$ReadersAndLiveDocs.getReader*(*IndexWriter.java:494*)
>> >>>>       *at*
>> >>>>
>> >>
>> *org.apache.lucene.index.BufferedDeletesStream.applyDeletes*(*BufferedDeletesStream.java:214*)
>> >>>>       *at*
>> >>>>
>> >>
>> *org.apache.lucene.index.IndexWriter.applyAllDeletes*(*IndexWriter.java:2939*)
>> >>>>       *at*
>> >>>>
>> >>
>> *org.apache.lucene.index.IndexWriter.maybeApplyDeletes*(*IndexWriter.java:2930*)
>> >>>>       *at*
>> >>>>
>> >>
>> *org.apache.lucene.index.IndexWriter.prepareCommit*(*IndexWriter.java:2681*)
>> >>>>       *at*
>> >>>>
>> >>
>> *org.apache.lucene.index.IndexWriter.commitInternal*(*IndexWriter.java:2804*)
>> >>>>       *at*
>> >>>> *org.apache.lucene.index.IndexWriter.commit*(*IndexWriter.java:2786*)
>> >>>>       *at*
>> >>>>
>> >>
>> *org.apache.solr.update.DirectUpdateHandler2.commit*(*DirectUpdateHandler2.java:391*)
>> >>>>       *at*
>> >>>> *org.apache.solr.update.CommitTracker.run*(*CommitTracker.java:197*)
>> >>>>       *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.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301*(*ScheduledThreadPoolExecutor.java:98*)
>> >>>>       *at*
>> >>>>
>> >>
>> *java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run*(*ScheduledThreadPoolExecutor.java:206*)
>> >>>>       *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:662*)*Caused* *by:*
>> >>>> *java.lang.OutOfMemoryError:* *Map* *failed*
>> >>>>       *at* *sun.nio.ch.FileChannelImpl.map0*(*Native* *Method*)
>> >>>>       *at*
>> *sun.nio.ch.FileChannelImpl.map*(*FileChannelImpl.java:745*)
>> >>>>       *...* *28* *more*
>> >>>>
>> >>>> *
>> >>>> *
>> >>>>
>> >>>> *
>> >>>> *
>> >>>>
>> >>>> *
>> >>>>
>> >>>>
>> >>>> SolrConfig.xml:
>> >>>>
>> >>>>
>> >>>>       <indexDefaults>
>> >>>>               <useCompoundFile>false</useCompoundFile>
>> >>>>               <mergeFactor>10</mergeFactor>
>> >>>>               <maxMergeDocs>2147483647</maxMergeDocs>
>> >>>>               <maxFieldLength>10000</maxFieldLength-->
>> >>>>               <ramBufferSizeMB>4096</ramBufferSizeMB>
>> >>>>               <maxThreadStates>10</maxThreadStates>
>> >>>>               <writeLockTimeout>1000</writeLockTimeout>
>> >>>>               <commitLockTimeout>10000</commitLockTimeout>
>> >>>>               <lockType>single</lockType>
>> >>>>
>> >>>>           <mergePolicy
>> >> class="org.apache.lucene.index.TieredMergePolicy">
>> >>>>             <double name="forceMergeDeletesPctAllowed">0.0</double>
>> >>>>             <double name="reclaimDeletesWeight">10.0</double>
>> >>>>           </mergePolicy>
>> >>>>
>> >>>>           <deletionPolicy class="solr.SolrDeletionPolicy">
>> >>>>             <str name="keepOptimizedOnly">false</str>
>> >>>>             <str name="maxCommitsToKeep">0</str>
>> >>>>           </deletionPolicy>
>> >>>>
>> >>>>       </indexDefaults>
>> >>>>
>> >>>>
>> >>>>       <updateHandler class="solr.DirectUpdateHandler2">
>> >>>>           <maxPendingDeletes>1000</maxPendingDeletes>
>> >>>>            <autoCommit>
>> >>>>              <maxTime>900000</maxTime>
>> >>>>              <openSearcher>false</openSearcher>
>> >>>>            </autoCommit>
>> >>>>            <autoSoftCommit>
>> >>>>
>> >>>> <maxTime>${inventory.solr.softcommit.duration:1000}</maxTime>
>> >>>>            </autoSoftCommit>
>> >>>>
>> >>>>       </updateHandler>
>> >>>>
>> >>>>
>> >>>>
>> >>>> Thanks
>> >>>> Gopal Patwa
>> >>>> *
>> >>>
>> >>> ----------
>> >>> From: Gopal Patwa <gopalpa...@gmail.com>
>> >>> Date: Tue, Apr 10, 2012 at 8:35 PM
>> >>> To: solr-user@lucene.apache.org
>> >>>
>> >>>
>> >>> Michael, Thanks for response
>> >>>
>> >>> it was 65K as you mention the default value for "cat
>> >>> /proc/sys/vm/max_map_count" . How we determine what value this should
>> be?
>> >>> is it number of document during hard commit in my case it is 15
>> >> minutes? or
>> >>> it is number of  index file or number of documents we have in all
>> cores.
>> >>>
>> >>> I have raised the number to 140K but I still get when it reaches to
>> >> 140K, we
>> >>> have to restart jboss server to free up the map count, sometime OOM
>> error
>> >>> happen during "Error opening new searcher"
>> >>>
>> >>> is making this number to unlimited is only solution?''
>> >>>
>> >>>
>> >>> Error log:
>> >>>
>> >>> location=CommitTracker line=93 auto commit
>> >>> error...:org.apache.solr.common.SolrException: Error opening new
>> searcher
>> >>>      at
>> >> org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:1138)
>> >>>      at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1251)
>> >>>      at
>> >>>
>> >>
>> org.apache.solr.update.DirectUpdateHandler2.commit(DirectUpdateHandler2.java:409)
>> >>>      at
>> org.apache.solr.update.CommitTracker.run(CommitTracker.java:197)
>> >>>      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.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
>> >>>      at
>> >>>
>> >>
>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)
>> >>>      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:662)
>> >>> Caused by: java.io.IOException: Map failed
>> >>>      at sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:748)
>> >>>      at
>> >>>
>> >>
>> org.apache.lucene.store.MMapDirectory$MMapIndexInput.<init>(MMapDirectory.java:293)
>> >>>      at
>> >> org.apache.lucene.store.MMapDirectory.openInput(MMapDirectory.java:221)
>> >>>      at
>> >>>
>> >>
>> org.apache.lucene.codecs.perfield.PerFieldPostingsFormat$VisitPerFieldFile.<init>(PerFieldPostingsFormat.java:262)
>> >>>      at
>> >>>
>> >>
>> org.apache.lucene.codecs.perfield.PerFieldPostingsFormat$1.<init>(PerFieldPostingsFormat.java:316)
>> >>>      at
>> >>>
>> >>
>> org.apache.lucene.codecs.perfield.PerFieldPostingsFormat.files(PerFieldPostingsFormat.java:316)
>> >>>      at org.apache.lucene.codecs.Codec.files(Codec.java:56)
>> >>>      at org.apache.lucene.index.SegmentInfo.files(SegmentInfo.java:423)
>> >>>      at
>> >> org.apache.lucene.index.SegmentInfo.sizeInBytes(SegmentInfo.java:215)
>> >>>      at
>> >>>
>> >>
>> org.apache.lucene.index.IndexWriter.prepareFlushedSegment(IndexWriter.java:2220)
>> >>>      at
>> >>>
>> >>
>> org.apache.lucene.index.DocumentsWriter.publishFlushedSegment(DocumentsWriter.java:497)
>> >>>      at
>> >>>
>> >>
>> org.apache.lucene.index.DocumentsWriter.finishFlush(DocumentsWriter.java:477)
>> >>>      at
>> >>>
>> >>
>> org.apache.lucene.index.DocumentsWriterFlushQueue$SegmentFlushTicket.publish(DocumentsWriterFlushQueue.java:201)
>> >>>      at
>> >>>
>> >>
>> org.apache.lucene.index.DocumentsWriterFlushQueue.innerPurge(DocumentsWriterFlushQueue.java:119)
>> >>>      at
>> >>>
>> >>
>> org.apache.lucene.index.DocumentsWriterFlushQueue.tryPurge(DocumentsWriterFlushQueue.java:148)
>> >>>      at org.apache.lucene.index.
>> >>>
>> >>> ...
>> >>>
>> >>> [Message clipped]
>> >>> ----------
>> >>> From: Michael McCandless <luc...@mikemccandless.com>
>> >>> Date: Wed, Apr 11, 2012 at 2:20 AM
>> >>> To: solr-user@lucene.apache.org
>> >>>
>> >>>
>> >>> Hi,
>> >>>
>> >>> 65K is already a very large number and should have been sufficient...
>> >>>
>> >>> However: have you increased the merge factor?  Doing so increases the
>> >>> open files (maps) required.
>> >>>
>> >>> Have you disabled compound file format?  (Hmmm: I think Solr does so
>> >>> by default... which is dangerous).  Maybe try enabling compound file
>> >>> format?
>> >>>
>> >>> Can you "ls -l" your index dir and post the results?
>> >>>
>> >>> It's also possible Solr isn't closing the old searchers quickly enough
>> >>> ... I don't know the details on when Solr closes old searchers...
>> >>>
>> >>> Mike McCandless
>> >>>
>> >>> http://blog.mikemccandless.com
>> >>>
>> >>>
>> >>>
>> >>> On Tue, Apr 10, 2012 at 11:35 PM, Gopal Patwa <gopalpa...@gmail.com>
>> >> wrote:
>> >>>> Michael, Thanks for response
>> >>>>
>> >>>> it was 65K as you mention the default value for "cat
>> >>>> /proc/sys/vm/max_map_count" . How we determine what value this should
>> >> be?
>> >>>> is it number of document during hard commit in my case it is 15
>> >> minutes?
>> >>>> or it is number of  index file or number of documents we have in all
>> >>>> cores.
>> >>>>
>> >>>> I have raised the number to 140K but I still get when it reaches to
>> >> 140K,
>> >>>> we have to restart jboss server to free up the map count, sometime OOM
>> >>>> error happen during "*Error opening new searcher"*
>> >>>>
>> >>>> is making this number to unlimited is only solution?''
>> >>>>
>> >>>>
>> >>>> Error log:
>> >>>>
>> >>>> *location=CommitTracker line=93 auto commit
>> >>>> error...:org.apache.solr.common.SolrException: Error opening new
>> >>>> searcher
>> >>>>       at
>> >>>> org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:1138)
>> >>>>       at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1251)
>> >>>>       at
>> >>>>
>> >>
>> org.apache.solr.update.DirectUpdateHandler2.commit(DirectUpdateHandler2.java:409)
>> >>>>       at
>> >> org.apache.solr.update.CommitTracker.run(CommitTracker.java:197)
>> >>>>       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.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
>> >>>>       at
>> >>>>
>> >>
>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)
>> >>>>       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:662)Caused by:
>> >>>> java.io.IOException: Map failed
>> >>>>       at sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:748)
>> >>>>       at
>> >>>>
>> >>
>> org.apache.lucene.store.MMapDirectory$MMapIndexInput.<init>(MMapDirectory.java:293)
>> >>>>       at
>> >>>>
>> org.apache.lucene.store.MMapDirectory.openInput(MMapDirectory.java:221)
>> >>>>       at
>> >>>>
>> >>
>> org.apache.lucene.codecs.perfield.PerFieldPostingsFormat$VisitPerFieldFile.<init>(PerFieldPostingsFormat.java:262)
>> >>>>       at
>> >>>>
>> >>
>> org.apache.lucene.codecs.perfield.PerFieldPostingsFormat$1.<init>(PerFieldPostingsFormat.java:316)
>> >>>>       at
>> >>>>
>> >>
>> org.apache.lucene.codecs.perfield.PerFieldPostingsFormat.files(PerFieldPostingsFormat.java:316)
>> >>>>       at org.apache.lucene.codecs.Codec.files(Codec.java:56)
>> >>>>       at
>> >> org.apache.lucene.index.SegmentInfo.files(SegmentInfo.java:423)
>> >>>>       at
>> >>>> org.apache.lucene.index.SegmentInfo.sizeInBytes(SegmentInfo.java:215)
>> >>>>       at
>> >>>>
>> >>
>> org.apache.lucene.index.IndexWriter.prepareFlushedSegment(IndexWriter.java:2220)
>> >>>>       at
>> >>>>
>> >>
>> org.apache.lucene.index.DocumentsWriter.publishFlushedSegment(DocumentsWriter.java:497)
>> >>>>       at
>> >>>>
>> >>
>> org.apache.lucene.index.DocumentsWriter.finishFlush(DocumentsWriter.java:477)
>> >>>>       at
>> >>>>
>> >>
>> org.apache.lucene.index.DocumentsWriterFlushQueue$SegmentFlushTicket.publish(DocumentsWriterFlushQueue.java:201)
>> >>>>       at
>> >>>>
>> >>
>> org.apache.lucene.index.DocumentsWriterFlushQueue.innerPurge(DocumentsWriterFlushQueue.java:119)
>> >>>>       at
>> >>>>
>> >>
>> org.apache.lucene.index.DocumentsWriterFlushQueue.tryPurge(DocumentsWriterFlushQueue.java:148)
>> >>>>       at
>> >>>>
>> >>
>> org.apache.lucene.index.DocumentsWriter.doFlush(DocumentsWriter.java:438)
>> >>>>       at
>> >>>>
>> >>
>> org.apache.lucene.index.DocumentsWriter.flushAllThreads(DocumentsWriter.java:553)
>> >>>>       at
>> >>>> org.apache.lucene.index.IndexWriter.getReader(IndexWriter.java:354)
>> >>>>       at
>> >>>>
>> >>
>> org.apache.lucene.index.StandardDirectoryReader.doOpenFromWriter(StandardDirectoryReader.java:258)
>> >>>>       at
>> >>>>
>> >>
>> org.apache.lucene.index.StandardDirectoryReader.doOpenIfChanged(StandardDirectoryReader.java:243)
>> >>>>       at
>> >>>>
>> >>
>> org.apache.lucene.index.DirectoryReader.openIfChanged(DirectoryReader.java:250)
>> >>>>       at
>> >>>> org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:1091)
>> >>>>       ... 11 moreCaused by: java.lang.OutOfMemoryError: Map failed
>> >>>>       at sun.nio.ch.FileChannelImpl.map0(Native Method)
>> >>>>       at sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:745)*
>> >>>>
>> >>>>
>> >>>>
>> >>>> And one more issue we came across i.e
>> >>>
>> >>>
>> >>
>> >
>> >
>> > ______________________________________________________________________
>> > This email has been scanned by the brightsolid Email Security System.
>> Powered by MessageLabs
>> > ______________________________________________________________________
>>
>>
>> ______________________________________________________________________
>> "brightsolid" is used in this email to collectively mean brightsolid
>> online innovation limited and its subsidiary companies brightsolid online
>> publishing limited and brightsolid online technology limited.
>> findmypast.co.uk is a brand of brightsolid online publishing limited.
>> brightsolid online innovation limited, Gateway House, Luna Place, Dundee
>> Technology Park, Dundee DD2 1TP.  Registered in Scotland No. SC274983.
>> brightsolid online publishing limited, The Glebe, 6 Chapel Place,
>> Rivington Street, London EC2A 3DQ. Registered in England No. 04369607.
>> brightsolid online technology limited, Gateway House, Luna Place, Dundee
>> Technology Park, Dundee DD2 1TP.  Registered in Scotland No. SC161678.
>>
>> Email Disclaimer
>>
>> This message is confidential and may contain privileged information. You
>> should not disclose its contents to any other person. If you are not the
>> intended recipient, please notify the sender named above immediately. It is
>> expressly declared that this e-mail does not constitute nor form part of a
>> contract or unilateral obligation. Opinions, conclusions and other
>> information in this message that do not relate to the official business of
>> brightsolid shall be understood as neither given nor endorsed by it.
>> ______________________________________________________________________
>> This email has been scanned by the brightsolid Email Security System.
>> Powered by MessageLabs
>> ______________________________________________________________________
>>

Reply via email to