Autocommit

2007-12-12 Thread Michael Thessel
Hello UG

I already posted a while ago a problem that one of the solr threads
starts using 100% of one of the processor cores on a 4 core
system. This doesn't happen right after the start it slightly
increaes for about a week until the process runs constantly at
100%. I couldn't figure out a solution for this. I could live with this
problem but I think it has an side effect. While the processor load
increases the time between two autocommits increases as well. Currently
autocommit is set to 3 minutes. After 4 weeks the commits run only
every 40 minutes. 

I have the following solr version installed:

Solr Specification Version: 1.2.0
Solr Implementation Version: 1.2.0 - Yonik - 2007-06-02 17:35:12
Lucene Specification Version: 2007-05-20_00-04-53
Lucene Implementation Version: build 2007-05-20

Does anyone have a hint what I could look for?

Thanks 

Michael

-- 
Michael Thessel [EMAIL PROTECTED]
Gossamer Threads Inc. http://www.gossamer-threads.com/
Tel: (604) 687-5804 Fax: (604) 687-5806


Sorting problem

2007-11-06 Thread Michael Thessel
Hi UG,

I just installed the latest nightly solr build
(1.2.2007.11.06.08.06.05). I get an exception when I do descending
relevancy sorting. Ascending relevancy sorting works fine and sorting
on all other fields as well.

http://localhost:8080/solr/select/?q=title%3Atestsort=score%20desc

Nov 7, 2007 1:13:36 AM org.apache.solr.common.SolrException log
SEVERE: java.lang.NullPointerException
at org.apache.solr.search.QParser.getSort(QParser.java:158)
at 
org.apache.solr.search.OldLuceneQParser.getSort(LuceneQParserPlugin.java:124)
at 
org.apache.solr.handler.StandardRequestHandler.handleRequestBody(StandardRequestHandler.java:85)
at 
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:117)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:811)
at 
org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:206)
at 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:174)
at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
at 
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
at java.lang.Thread.run(Thread.java:595)

Nov 7, 2007 1:13:36 AM org.apache.solr.core.SolrCore execute
INFO: /select/ sort=score+descq=title:test 0 2
Nov 7, 2007 1:13:36 AM org.apache.solr.common.SolrException log
SEVERE: java.lang.NullPointerException
at org.apache.solr.search.QParser.getSort(QParser.java:158)
at 
org.apache.solr.search.OldLuceneQParser.getSort(LuceneQParserPlugin.java:124)
at 
org.apache.solr.handler.StandardRequestHandler.handleRequestBody(StandardRequestHandler.java:85)
at 
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:117)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:811)
at 
org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:206)
at 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:174)
at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
at 
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
at java.lang.Thread.run(Thread.java:595)

http://localhost:8080/solr/select/?q=title%3Atestsort=score%20asc

Nov 7, 2007 1:13:42 AM org.apache.solr.core.SolrCore execute
INFO: /select/ sort=score+ascq=title:test 0 17


Does anyone know what could be the problem?

Thanks,

Michael



-- 
Michael Thessel [EMAIL PROTECTED]
Gossamer Threads Inc. http://www.gossamer-threads.com/
Tel: (604) 687-5804 Fax: (604) 687-5806


Re: Processor load

2007-07-09 Thread Michael Thessel
On Wed, 2007-04-07 at 10:37 -0400, Yonik Seeley wrote:
 On 7/3/07, Michael Thessel [EMAIL PROTECTED] wrote:
  --
   208973 SEVERE: Error during auto-warming of
  key:[EMAIL PROTECTED]:java
   208974 at
  org.apache.lucene.search.ConjunctionScorer.init(ConjunctionScorer.java:97)
   208975 at
 
 The Exception and exception message seem to be missing from the stack trace.
 Could you check your log and see if they are all like this?
 
 -Yonik

The problem was the autocommit every 10 s. I increased the autocommit
time to 60s and now the process runs only at 100% for 30-40s per minute.

Thanks a lot,

Michael

-- 
Michael Thessel [EMAIL PROTECTED]
Gossamer Threads Inc. http://www.gossamer-threads.com/
Tel: (604) 687-5804 Fax: (604) 687-5806



Re: Processor load

2007-07-03 Thread Michael Thessel
 at
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:77)
 211064 at org.apache.solr.core.SolrCore.execute(SolrCore.java:658)
 211065 at
org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:191)
 211066 at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:159)
 211067 at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterCha
 211068 at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
 211069 at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
 211070 at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
 211071 at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
 211072 at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
 211073 at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
 211074 at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
 211075 at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
 211076 at org.apache.coyote.http11.Http11Protocol
$Http11ConnectionHandler.process(Http11Protoco
 211077 at org.apache.tomcat.util.net.JIoEndpoint
$Worker.run(JIoEndpoint.java:445)
 211078 at java.lang.Thread.run(Thread.java:595)
--

The first two errors only appear when I send queries while I'm indexing.
The LockObtainFailedException always comes up after 1-2 hours of
indexing.

I found this patch for the LockObtainFailedException problem. Is this
currently the official way of fixing the problem? Is this patch already
available with one of the nightly builds?

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


Thanks and Cheers,

Michael



On Thu, 2007-28-06 at 16:31 -0700, Otis Gospodnetic wrote:
 I think you'll need to add this to your Java command line (but you'll need to 
 kill your JVM first):
  -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9889 
 
 
 Otis
 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 Simpy -- http://www.simpy.com/  -  Tag  -  Search  -  Share
 
 - Original Message 
 From: Mike Klaas [EMAIL PROTECTED]
 To: solr-user@lucene.apache.org
 Sent: Friday, June 29, 2007 1:01:03 AM
 Subject: Re: Processor load
 
 On 28-Jun-07, at 10:52 AM, Michael Thessel wrote:
 
  Hi Mike
 
  Thanks for your quick response.
  The restarting the server hasn't any effect. Im not a Java expert and
  not really familiar with the java tools.
 
 I'm no expert in this matter either.  Have you tried kill -QUIT? (it  
 prints a thread dump to stderr).
 
 -Mike
 
  Running jconsole on the 100% process (as the same user as the  
  server is
  running):
  # jconsole 23248
  Unable to attach to 23248: Could not map vmid to user Name
 
  Running jps:
  # jps -mlv
  11824 sun.tools.jps.Jps -mlv
  -Dapplication.home=/var/home/solr/src/jdk1.5.0_11 -Xms8m
  23228 org.apache.catalina.startup.Bootstrap start -Xms1024M -Xmx2048M
  -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
  -Djava.util.logging.config.file=/home/solr/tomcat/conf/ 
  logging.properties -Djava.endorsed.dirs=/home/solr/tomcat/endorsed - 
  Dcatalina.base=/home/solr/tomcat -Dcatalina.home=/home/solr/tomcat - 
  Djava.io.tmpdir=/home/solr/tomcat/temp
 
  Running jconsole on the parent process:
  # jconsole 23228
  23228 is not a managed VM.
 
 
  Cheers,
 
  Michael
 
 
  On Thu, 2007-28-06 at 10:14 -0700, Mike Klaas wrote:
  On 28-Jun-07, at 9:36 AM, Michael Thessel wrote:
 
  Hello UG
 
  I got a solr server running to index the posts of a forum. The
  server is
  running in a tomcat installation on a 4-processor Opteron server.
  One of
  the threads is eating up 100% of one processor all the time. As you
  can
  see in the ps output it is a fork of one of the childs:
 
  have you tried looking at a thread dump using jConsole/kill -QUIT?
 
  -Mike
  -- 
  Michael Thessel [EMAIL PROTECTED]
  Gossamer Threads Inc. http://www.gossamer-threads.com/
  Tel: (604) 687-5804 Fax: (604) 687-5806
 
-- 
Michael Thessel [EMAIL PROTECTED]
Gossamer Threads Inc. http://www.gossamer-threads.com/
Tel: (604) 687-5804 Fax: (604) 687-5806



Processor load

2007-06-28 Thread Michael Thessel
=spellcheckerIndexDirspell/str
 
 str name=termSourceFieldword/str
 
   /requestHandler

  
  requestHandler name=/update class=solr.XmlUpdateRequestHandler /

  requestHandler name=/update/csv class=solr.CSVRequestHandler
startup=lazy /


  requestHandler name=/admin/luke
class=org.apache.solr.handler.admin.LukeRequestHandler /
  requestHandler name=/admin/system
class=org.apache.solr.handler.admin.SystemInfoHandler /
  requestHandler name=/admin/plugins
class=org.apache.solr.handler.admin.PluginInfoHandler /
  requestHandler name=/admin/threads
class=org.apache.solr.handler.admin.ThreadDumpHandler /
  requestHandler name=/admin/properties
class=org.apache.solr.handler.admin.PropertiesRequestHandler /
  
  requestHandler name=/debug/dump class=solr.DumpRequestHandler 
lst name=defaults
 str name=echoParamsexplicit/str !-- for all params
(including the default etc) use: 'all' --
 str name=echoHandlertrue/str
/lst
  /requestHandler
  
  queryResponseWriter name=xslt
class=org.apache.solr.request.XSLTResponseWriter
int name=xsltCacheLifetimeSeconds5/int
  /queryResponseWriter 

  admin
defaultQuerysolr/defaultQuery
gettableFilessolrconfig.xml schema.xml
admin-extra.html/gettableFiles
pingQuery
 qt=dismaxamp;q=solramp;start=3amp;fq=id:[* TO *]amp;fq=cat:[*
TO *]
/pingQuery
  /admin

/config



-- 
Michael Thessel [EMAIL PROTECTED]
Gossamer Threads Inc. http://www.gossamer-threads.com/
Tel: (604) 687-5804 Fax: (604) 687-5806



filter query speed

2007-06-07 Thread Michael Thessel
Hello UG,

I've got a problem with filtered queries. I have an index with about 8
million documents. I save a timestamp (not the time of indexing) for
each document as an integer field. Querying the index is pretty fast.
But when I filter on the timestamp the queries are extremely slow, even
if the unfiltered search is already cached.

schema.xml:
...
field name=dateline type=integer indexed=true stored=false/
...

INFO: /select/ rows=25start=0q=((title:(test)+AND+is_starter:true)^8
+OR+pagetext:(test)^6+OR+title_pagetext:(test)^4+);+score+descfl=
+score,postidqt=standardstylesheet=version=2.1 0 5

INFO: /select/ rows=25start=0fq=dateline:[0+TO
+1181237598]+q=((title:(test)+AND+is_starter:true)^8+OR
+pagetext:(test)^6+OR+title_pagetext:(test)^4+);+score+descfl=
+score,postidqt=standardstylesheet=version=2.1 0 79495

I currently run version:
Solr Specification Version: 1.1.2007.05.24.08.06.21
Solr Implementation Version: nightly - yonik - 2007-05-24 08:06:21
Lucene Specification Version: 2007-05-20_00-04-53
Lucene Implementation Version: build 2007-05-20
Tomcat: 6.0.10


Cheers,

Michael




-- 
Michael Thessel [EMAIL PROTECTED]
Gossamer Threads Inc. http://www.gossamer-threads.com/
Tel: (604) 687-5804 Fax: (604) 687-5806



Re: filter query speed

2007-06-07 Thread Michael Thessel
Hey Yoink,

thanks a lot for your quick reply.

 I suspect that the endpoint to your dateline filter changes often,
 hence caching is doing no good.  Is then endpoint (1181237598) derived
 from the current time?
Yes, it is.

 If so, there are some things you can do:
 1) make it faster to generate a new filter by limiting the number of
 terms in the dateline field (during indexing, always round it to the
 nearest day)
 2) allow solr to reuse previously generated filters more often by
 rounding the dateline endpoint during query time.
 
 You most likely want to do #2, and probably #1 (depending on how often
 you commit new changes to the index).

I will give both of them a try. 

Is there a general speed problem with range searches in solr? It looks a bit 
strange for me, that a query for a term takes 5 ms while adding a filter to the 
same resultset takes 80s?

Cheers,

Michael


-- 
Michael Thessel [EMAIL PROTECTED]
Gossamer Threads Inc. http://www.gossamer-threads.com/
Tel: (604) 687-5804 Fax: (604) 687-5806



Re: Solr performance warnings

2007-04-20 Thread Michael Thessel

Mike Klaas wrote:

On 4/20/07, Michael Thessel [EMAIL PROTECTED] wrote:

Hey Erik,

thanks for the fast reply. Yes this could be possible. I currently got
solr running for the indexing of a forum with 100k users. It could
definitely be possible that two commits overlap. But I need to commit
all changes because the new posts must be available in the search as
soon as they are posted.

Do you think there is a way to optimize this?


As soon as is a rather vague requirement.  If you can specify the
minimum acceptible delay, then you can use Solr's autocommit
functionality to trigger commits.

-Mike


I didn't know about the timed commits. That's perfect for me.

Thanks,

Michael


Re: Solr performance warnings

2007-04-20 Thread Michael Thessel

Michael Thessel wrote:

Mike Klaas wrote:

On 4/20/07, Michael Thessel [EMAIL PROTECTED] wrote:

Hey Erik,

thanks for the fast reply. Yes this could be possible. I currently got
solr running for the indexing of a forum with 100k users. It could
definitely be possible that two commits overlap. But I need to commit
all changes because the new posts must be available in the search as
soon as they are posted.

Do you think there is a way to optimize this?


As soon as is a rather vague requirement.  If you can specify the
minimum acceptible delay, then you can use Solr's autocommit
functionality to trigger commits.

-Mike


I didn't know about the timed commits. That's perfect for me.

Thanks,

Michael


The timed commits don't work for me. The webinterface says 0 commits 
since the server was restarted. And nothing in the logs as well.


I use:
apache-solr-1.1.0-incubating


My updateHandler section from solrconfig.xml:

updateHandler class=solr.DirectUpdateHandler2
  autoCommit
maxTime1/maxTime
  /autoCommit
/updateHandler

I also tried maxTime10/maxTime in case its seconds and not ms.

Cheers Michael



Solr performance warnings

2007-04-19 Thread Michael Thessel

Hello,

in my logs I get from time to time this message:

INFO: PERFORMANCE WARNING: Overlapping onDeckSearchers=2

What does this mean? What can I do to avoid this?


Cheers,

Michael