Ok I found part of the problem, it's not the number of items I'm returning, I'm getting a CouchDB Error Report every call, I guess it's the way the error handling works that dictated whether I got results or an error on the client. If I add a one second sleep before my return 0; I get all my results, however I still get an error report in the log. I looked at the ruby example and the lucene code but neither had a return code (my code is in c++ so I have to return an int) Is it complaining about my code returning 0? I tried returning 1 and 200 but all failed with the same error.
[error] [<0.91.0>] OS Process died with status: 0 [error] [<0.91.0>] ** Generic server <0.91.0> terminating ** Last message in was {#Port<0.1350>,{exit_status,0}} ** When Server state == {os_proc,"/home/jwoodgate/Geo/geoquery",#Port<0.1350>, #Fun<couch_os_process.0.4707866>, #Fun<couch_os_process.1.68874858>,5000} ** Reason for termination == ** {exit_status,0} =ERROR REPORT==== 20-Nov-2009::12:22:34 === ** Generic server <0.91.0> terminating ** Last message in was {#Port<0.1350>,{exit_status,0}} ** When Server state == {os_proc,"/home/jwoodgate/Geo/geoquery",#Port<0.1350>, #Fun<couch_os_process.0.4707866>, #Fun<couch_os_process.1.68874858>,5000} ** Reason for termination == ** {exit_status,0} On Fri, Nov 20, 2009 at 10:11 AM, Jim Woodgate <jdwo...@gmail.com> wrote: > Sadly I can't access chat from work, is there a log I can check to see > exactly what it's choking on? When I run the program by hand I get > one line that looks like this (though it's all on one line): > > {"code" : 200,"headers" : {"Content-Type" : "text/plain"},"json" : > {"numRows" : 60,"rows" : > ["urn:127.0.0.1/CouchDB:Object#633940930033756852","urn:127.0.0.1/CouchDB:Object#633940930033756942","urn:127.0.0.1/CouchDB:Object#633940930033756694","urn:127.0.0.1 > ... > /CouchDB:Object#633940930033756969","urn:127.0.0.1/CouchDB:Object#633940930033756799"]}} > > Like I said it's really odd if I take the first 56 rows or the last 56 > rows it's fine, but if I send one more I get an error. > > On Fri, Nov 20, 2009 at 4:42 AM, Robert Newson <robert.new...@gmail.com> > wrote: >> Well, we know for sure that an external can output a very large >> response, so I suggest comparing couchdb-lucene's code to your own and >> see what's different. >> >> If you hop on #couchdb sometime, I'm sure we could track the bug down. >> >> B. >> >> On Fri, Nov 20, 2009 at 3:02 AM, Jim Woodgate <jdwo...@gmail.com> wrote: >>> On Thu, Nov 19, 2009 at 5:10 PM, Robert Newson <robert.new...@gmail.com> >>> wrote: >>>> Did you emit your JSON response on a single line? >>> >>> Yes it's all one line. >>> >>> >>>> On Thu, Nov 19, 2009 at 10:42 PM, Jim Woodgate <jdwo...@gmail.com> wrote: >>>>> I finally have a basic external program running, but I find that if I >>>>> return 57 ids it works, but if I return 58 ids or more I get an error. >>>>> Is there a way to tell what the actual error is? The text that comes >>>>> back says: >>>>> >>>>> {error_info, >>>>> {exit, >>>>> {exit_status,0}, >>>>> [{gen_server,terminate,6},{proc_lib,init_p_do_apply,3}]}} >>>>> >>>>> but then it just repeats what my original request looked like. I >>>>> looked at ids 57 and 58 and nothing jumps out and I even tried >>>>> skipping the first 4 ids which also worked so it's not the actual data >>>>> but the size of it somehow. >>>>> >>>>> I tried returning a couple hundred results using couchdb-lucene and it >>>>> worked fine (and was 14k vs my 3k). >>>>> >>>>> The only header I set is Content-Type: text/plain and my json is >>>>> attached to the "json" key. I don't believe it's a timing issue, when >>>>> I run the program by hand the output looks fine and it only takes a >>>>> couple hundred milliseconds >>>>> >>>>> -- >>>>> Jim Woodgate >>>>> jdwo...@gmail.com >>>>> >>>> >>> >>> >>> >>> -- >>> Jim Woodgate >>> jdwo...@gmail.com >>> >> > > > > -- > Jim Woodgate > jdwo...@gmail.com > -- Jim Woodgate jdwo...@gmail.com