hmm, i think you are actually running out of virtual address space,
even on 64-bit!

http://msdn.microsoft.com/en-us/library/aa366778(v=VS.85).aspx#memory_limits

Apparently windows limits you to 8TB virtual address space
(ridiculous), so i think you should try one of the following:
* continue using mmap directory, but specify MMapDirectoryFactory
yourself, and specify the maxChunkSize parameter. The default
maxChunkSize is Integer.MAX_VALUE, but with a smaller one you might be
able to work around fragmentation problems.
* continue using mmap directory, but adjust index params such as merge factor.
* use SimpleFSDirectory instead: (SimpleFSDirectoryFactory). But the
big downside is that its slower and you have no i/o concurrency.

separately, it might be a good idea to consider splitting up your 1.1B
documents/550GB index across more than one machine... :)

On Fri, Dec 24, 2010 at 1:19 AM, Rok Rejc <rokrej...@gmail.com> wrote:
> Hi all,
>
> I have created a new index (using Solr trunk version from 17th December,
> running on Windows 7 & Tomcat 6, 64 bit JVM) with around 1.1 billion of
> documents (index size around 550GB, mergeFactor=20).
>
> After the (csv) import I have commited the data and got this error:
>
> HTTP Status 500 - Severe errors in solr configuration. Check your log files
> for more detailed information on what may be wrong.
> -------------------------------------------------------------
> java.lang.RuntimeException: java.io.IOException: Map failed at
> org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1095) at
> org.apache.solr.core.SolrCore.<init>(SolrCore.java:587) at
> org.apache.solr.core.CoreContainer.create(CoreContainer.java:660) at
> org.apache.solr.core.CoreContainer.load(CoreContainer.java:412) at
> org.apache.solr.core.CoreContainer.load(CoreContainer.java:294) at
> org.apache.solr.core.CoreContainer$Initializer.initialize(CoreContainer.java:243)
> at
> org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:86)
> at
> org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295)
> at
> org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)
> at
> org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115)
> at
> org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4001)
> at org.apache.catalina.core.StandardContext.start(StandardContext.java:4651)
> at
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
> at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
> at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546) at
> org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637)
> at
> org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563)
> at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498) at
> org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277) at
> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
> at
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
> at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) at
> org.apache.catalina.core.StandardHost.start(StandardHost.java:785) at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at
> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445) at
> org.apache.catalina.core.StandardService.start(StandardService.java:519) at
> org.apache.catalina.core.StandardServer.start(StandardServer.java:710) at
> org.apache.catalina.startup.Catalina.start(Catalina.java:581) at
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
> sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at
> java.lang.reflect.Method.invoke(Unknown Source) at
> org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) at
> org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) Caused by:
> java.io.IOException: Map failed at sun.nio.ch.FileChannelImpl.map(Unknown
> Source) at
> org.apache.lucene.store.MMapDirectory$MultiMMapIndexInput.<init>(MMapDirectory.java:327)
> at org.apache.lucene.store.MMapDirectory.openInput(MMapDirectory.java:209)
> at
> org.apache.lucene.index.CompoundFileReader.<init>(CompoundFileReader.java:68)
> at
> org.apache.lucene.index.SegmentReader$CoreReaders.openDocStores(SegmentReader.java:208)
> at org.apache.lucene.index.SegmentReader.get(SegmentReader.java:529) at
> org.apache.lucene.index.SegmentReader.get(SegmentReader.java:504) at
> org.apache.lucene.index.DirectoryReader.<init>(DirectoryReader.java:123) at
> org.apache.lucene.index.DirectoryReader$1.doBody(DirectoryReader.java:91) at
> org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:623)
> at org.apache.lucene.index.DirectoryReader.open(DirectoryReader.java:86) at
> org.apache.lucene.index.IndexReader.open(IndexReader.java:437) at
> org.apache.lucene.index.IndexReader.open(IndexReader.java:316) at
> org.apache.solr.core.StandardIndexReaderFactory.newReader(StandardIndexReaderFactory.java:38)
> at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1084) ... 33 more
> Caused by: java.lang.OutOfMemoryError: Map failed at
> sun.nio.ch.FileChannelImpl.map0(Native Method) ... 48 more
>
> I can see that the error is going down to lucene and java, but I don't have
> a clue what should I do... Any suggestions?
>
> Thanks and merry christmas:)
>
> Rok
>

Reply via email to