actually my ["reset"] is not expensive at all .. it just has a array.clear
kind of call.
Just another observation when I run in debug mode I find that there are
quite a few cases of OS Process Error {os_process_error, "OS process timed
out."} being recorded in couch.log. I do not get this when I am running the
earlier version. However no unnatural things appear in couchdb.stderr. My
current setting of os_process_timeout is 20000 .. I guess that's 20 secs ..Thanks. - Debasish On Sat, Sep 19, 2009 at 10:27 PM, Chris Anderson <[email protected]> wrote: > On Sat, Sep 19, 2009 at 5:13 AM, Debasish Ghosh > <[email protected]> wrote: > > Hi - > > As I have mentioned previously I have been working on a Scala driver for > > CouchDB, which also includes a Query Server. I was working with an April > > snapshot of 2009/04/23. This worked fine for all the views and > validations > > that I have written.Things were running fine and I could write map/reduce > > and validation functions in Scala. > > Recently I tried to upgrade to trunk. Suddenly the views and validations > > became very very slow. After some fact finding, I tried to poke into * > > couch_query_servers.erl*, since that seemed to be the obvious area to > look > > into. I may be worng though, but it was a blind guess. > > I noticed that previously I was working with *revision 749852* of the > file, > > which delivered the goods for me. Then when I faced problems with the > trunk, > > I started doing a git reset to earlier versions of this file. Now I find > > that it looks like the performance problem starts from *revision 780165* > of > > this file. Have a look at > > > http://svn.apache.org/viewvc/couchdb/trunk/src/couchdb/couch_query_servers.erl?r1=780165&r2=749852&diff_format=hfor > > the difference. Looks like there have been some major changes. I am > > just > > wondering if this change has anything to do with the performance issue. > > > > A quick scan of that diff suggests that the only real behavior change > that should effect you is the ["reset"] call for recycled processes. > Maybe reset is expensive in your implementation? > > BTW, have you tried running: > > spec test/query_server_spec.rb -f specdoc --color > > It should be simple to extend that test suite to test your scala > server. If there are patches we can make to make it easier to > integrate outside projects with the query server test suite, I'm happy > to help there as well. > > > Any help, pointer will be appreciated. > > > > Thanks. > > - Debasish > > > > > > -- > Chris Anderson > http://jchrisa.net > http://couch.io >
