You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@lucene.apache.org by 王建新 <li...@gmail.com> on 2008/04/19 10:37:07 UTC

A question about ParalellMultiSearcher and RMI

I want to use RAMDirectory to raise the peformance of lucene.
So I cut the index dir to 3 smaller index dirs(1G one index dir).
Then I use RAMDirectory to load the 3 dirs, and rebind the 3 searcher by
RMI.(My server has 8G mem)
At last, I lookup the 3 remote searcher to new a ParalellMultiSearcher.
It works correctorly, but sometimes occur errors like :

java.rmi.ServerError: Error occurred in server thread; nested exception is:
 java.lang.OutOfMemoryError: Java heap space
 at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:333)
 at sun.rmi.transport.Transport$1.run(Transport.java:159)
 at java.security.AccessController.doPrivileged(Native Method)
 at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
 at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
 at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
 at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
 at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
 at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
 at java.lang.Thread.run(Thread.java:619)
 at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknown
Source)
 at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source)
 at sun.rmi.server.UnicastRef.invoke(Unknown Source)
 at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(Unknown
Source)
 at java.rmi.server.RemoteObjectInvocationHandler.invoke(Unknown Source)
 at $Proxy0.search(Unknown Source)
 at
org.apache.lucene.search.MultiSearcherThread.run(ParallelMultiSearcher.java:251)
Caused by: java.lang.OutOfMemoryError: Java heap space

Thanks.