incubator-couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Robert Newson <rnew...@apache.org>
Subject Re: [RESOLVED] Reduce overflow errors when number of documents >= 10?
Date Tue, 02 Jul 2013 15:21:11 GMT
Best to use _sum or _count.

On 2 July 2013 16:10, Stanley Iriele <siriele2x3@gmail.com> wrote:
> Awesome.... Also you could just change the reduce function to (bare with me
> I'm typing on my phone)
>
> Function( keys, values, rereduce) {
>   If (rereduce){
> Return sum(value);
> }
> Return values.length;
>
> }
>
> Happy coding sir :-D
> On Jul 2, 2013 8:03 AM, "N S Cuka" <nscuka@gmail.com> wrote:
>
>> Thank you everyone for your help. The issue was in fact with another
>> (unrelated) view's map/reduce.  With the other view, my map function was
>> getting a list of terms and emitting the doc id for each term. I was also
>> trying to count the number of terms though with the reduce function, so I
>> in
>> essence had:
>>
>> Map: emit(term, document.id)
>> Reduce: sum(value)
>>
>> So the reduce function was trying to sum the document ids, which was
>> causing
>> the error. If I restructure the view to emit(term, 1) then the error goes
>> away. I need to restructure that particular view to do what I want, but at
>> least that appears to solve the problem.
>>
>> Thanks again for the help
>>
>> - N
>>
>>
>>
>> -----Original Message-----
>> From: Stanley Iriele [mailto:siriele2x3@gmail.com]
>> Sent: Tuesday, July 02, 2013 10:32 AM
>> To: user@couchdb.apache.org
>> Subject: Re: Reduce overflow errors when number of documents >= 10?
>>
>> Reduce=false is what should be there in the query string On Jul 2, 2013
>> 7:30
>> AM, "Filippo Fadda" <filippo.fadda@programmazione.it>
>> wrote:
>>
>> >  I just remember you that the option should be reduce="false", not
>> > reduce=false.
>> >
>> > On Jul 2, 2013, at 3:52 PM, N S Cuka wrote:
>> >
>> > > My reduce function is empty -- i.e. there is no reduce.js file for
>> > > that view. I have also tried a null reduce function:
>> > >
>> > > function (key, values, rereduce)  {
>> > >    return null;
>> > > }
>> > >
>> > > As well as an empty reduce.js file.  All of these give me the reduce
>> > > overflow error.
>> > >
>> > > The view that I am using is:
>> > >
>> > > function(doc) {
>> > >       if( doc.type == 'set') {
>> > >               emit(doc._id, doc.name);
>> > >       }
>> > > }
>> > >
>> > > And the request looks like:
>> > >
>> > > http://localhost:5984/cuka/_design/testCouch/_view/allSets?reduce=fa
>> > > lse
>> > >
>> > > My documents are some metadata fields for  _attachments consisting
>> > > of jpg files.
>> > >
>> > > Thank you for any insight.
>> > >
>> > > - N
>> > >
>> > >
>> > >
>> > > -----Original Message-----
>> > > From: Stanley Iriele [mailto:siriele@breaktimestudios.com]
>> > > Sent: Monday, July 01, 2013 10:35 PM
>> > > To: user@couchdb.apache.org
>> > > Subject: Re: Reduce overflow errors when number of documents >= 10?
>> > >
>> > > Hey...could you paste your reduce function as well?
>> > > On Jul 1, 2013 7:20 PM, "N S Cuka" <nscuka@gmail.com> wrote:
>> > >
>> > >> Hello Everyone,
>> > >>
>> > >>
>> > >>
>> > >> I am having a strange problem with my views in Couch DB 1.3.  When
>> > >> I have
>> > >> 10
>> > >> or more documents in my database, for some reason my views are
>> > >> bombing out with "reduce_overflow_error".  The views in question
>> > >> (which work fine when
>> > >> n=9 documents) are both called with reduce=false.  The views are
>> > >> very simple and simply select out a document based on type. E.g.:
>> > >>
>> > >>
>> > >>
>> > >> <pre>
>> > >>
>> > >>                if( doc.type == 'set') {
>> > >>
>> > >>                                emit(doc._id, doc.name);
>> > >>
>> > >>                }
>> > >>
>> > >> </pre>
>> > >>
>> > >>
>> > >>
>> > >> The error is reproducible when the number of documents (of any
>> > >> type, not just type=="set") gets to 10 and disappears when the
>> > >> number goes
>> > back
>> > > to 9.
>> > >> Do I need to set the [query_server_config] reduce_limit = false
>> > >> server parameter to get this to work? It seems strange that 10 is
>> > >> the magic number and this is probably an important clue that I
>> > >> can't quite pick up
>> > > on.
>> > >>
>> > >>
>> > >>
>> > >> The other odd thing is that if I go into futon, go to the view, and
>> > >> put in a simple reduce function (just returning null), then the
>> > >> view will temporarily work (just in futon though).  If I push the
>> > >> same function through Erica then I get the same error back or try
>> > >> to access the view that is working in futon through a REST call, it
>> still bombs.
>> > >> This makes me wonder if there is some kind of encoding issue that
>> > >> is causing problems, but I can't see where that would come into play.
>> > >> This is an example of a query string that I am using from my couchapp:
>> > >>
>> > >>
>> > >>
>> > >> http://localhost:5984/cuka/_design/testCouch/_view/allSets?reduce=f
>> > >> als
>> > >> e
>> > >>
>> > >>
>> > >>
>> > >> TIA for any advice.
>> > >>
>> > >>
>> > >>
>> > >> -          N
>> > >>
>> > >>
>> > >>
>> > >> Details:
>> > >>
>> > >> Windows 7
>> > >>
>> > >> Couchdb 1.3
>> > >>
>> > >> Firefox 21.0
>> > >>
>> > >>
>> > >>
>> > >>
>> > >
>> >
>> >
>>
>>

Mime
View raw message