setting the map_cache_size to 0 is workaround for bug
969<https://issues.basho.com/show_bug.cgi?id=969>.
If map_cache_size=0 alleviates the issue, then upgrading to 0.14.1 should
resolve the issue with the MapReduce cache.

On Thu, Mar 31, 2011 at 12:20 PM, Dan Reverri <d...@basho.com> wrote:

> Hi Keith,
>
> The cache entry parameter name changed in 0.14 to "map_cache_size". Setting
> this parameter to 0 will disable the cache.
>
> Regarding the empty MapReduce results, I'll try to reproduce the issue
> locally and narrow down the cause.
>
> Thanks,
> Dan
>
> Daniel Reverri
> Developer Advocate
> Basho Technologies, Inc.
> d...@basho.com
>
>
>
> On Tue, Mar 29, 2011 at 6:16 PM, Keith Dreibelbis <kdrei...@gmail.com>wrote:
>
>> Followup to this (somewhat old) thread...
>>
>> I had resolved my problem by putting the vnode_cache_entries=0 thing in
>> app.config, doing what Grant said.  But sometime later it began failing
>> again.  I was getting misses of 25%-50% on records that should have been
>> found by map reduce but weren't.  At that point I tried Rohman's suggestion
>> of using a random seed, and that worked around the problem successfully.
>>  But this isn't a very satisfying fix.
>>
>> So the vnode_cache_entries=0 thing doesn't really fix it after all?  Is
>> there something else to put in the config that would make this work
>> properly, without the random seed hack?  BTW since the original thread I
>> have upgraded from 0.13 to 0.14, and the bug is still there.
>>
>>
>> Keith
>>
>>
>> On Thu, Mar 10, 2011 at 6:56 PM, Antonio Rohman Fernandez <
>> roh...@mahalostudio.com> wrote:
>>
>>> if you want to avoid caching ( without configuration ), you can put some
>>> random variable in your map or reduce or both... that does the trick for me
>>> as the query will be always different:
>>>
>>> $seed = randomStringHere;
>>>
>>> {"map":{"language":"javascript","source":"function(v,k,a) {
>>> seed='.$seed.'; x=Riak.mapValuesJson(v)[0]; return [v.values[0].data]; }"}
>>>
>>> Rohman
>>>
>>> On Thu, 10 Mar 2011 17:47:49 -0800, Keith Dreibelbis <kdrei...@gmail.com>
>>> wrote:
>>>
>>> Thanks for the prompt response, Grant.  I made the configuration change
>>> you suggested, and it fixed my problem.
>>>  Some followup questions:
>>>  - is it possible to configure this dynamically on a per-bucket basis,
>>> or just per-server like it is now?
>>> - is this fixed in a newer version?
>>>
>>> On Thu, Mar 10, 2011 at 2:56 PM, Grant Schofield <gr...@basho.com>wrote:
>>>
>>>> There are currently some bugs in the mapreduce caching system. The best
>>>> thing to do would be to disable the feature, on 0.13 you can do this by
>>>> editing or adding the vnode_cache_entries to the riak_kv section of
>>>> your app.config. The entry would look like:
>>>> {vnode_cache_entries, 0},
>>>>
>>>>  Grant Schofield
>>>> Developer Advocate
>>>> Basho Technologies
>>>>
>>>>   On Mar 10, 2011, at 4:16 PM, Keith Dreibelbis wrote:
>>>>
>>>>  Hi riak-users,
>>>> I'm trying to do a map/reduce query from java on a 0.13 server, and get
>>>> inconsistent results.  What I'm doing should be pretty simple.  I'm hoping
>>>> someone will notice an obvious error in here, or have some insight:
>>>>  This is an automated test.  I'm doing a simple query where I'm trying
>>>> to get the keys for records with a certain field value.  In SQL it would
>>>> look like "SELECT id FROM table WHERE age = '32'".  In java I'm invoking it
>>>> like this:
>>>>    MapReduceResponse r = riak.mapReduceOverBucket(getBucket())
>>>>         .map(JavascriptFunction.anon(func), true)
>>>>              .submit();
>>>>  where riak is a RiakClient, getBucket() returns the name of the
>>>> bucket, and func is a string that looks like:
>>>>  function(value, keyData, arg) {
>>>>        var data = Riak.mapValuesJson(value)[0];
>>>>        if(data.age == "32")
>>>>          return [value.key];
>>>>       else
>>>>          return [];
>>>>    }
>>>>  No reduce phase.  All entries in the example bucket are json and have
>>>> an age field.  This initially works correctly, it gets back the matching
>>>> records as expected.  It also works in curl.  It's an automated test, so
>>>> each time I run this, it is using a different bucket.  After about a dozen
>>>> queries, this starts to fail.  It returns an empty result, when it should
>>>> have found records.  It fails in curl at the same time.
>>>>  I initially suspected this might have something to do with doing map
>>>> reduce too soon after writing, and the write not being available on all
>>>> nodes.  However, I changed the bucket schema entries for w,r,rw,dw from
>>>> "quorum" to "all", and this still happens (is there another bucket setting 
>>>> I
>>>> missed?). In addition, I only have 3 nodes (I'm using the dev123 example),
>>>> and am running curl long enough afterwards.
>>>>  Here's the strange part that makes me suspicious.  If I make
>>>> insignificant changes to the query, for example change the double quotes to
>>>> single quotes, add whitespace or extra parentheses, etc, then it suddenly
>>>> works again.  It will work on an existing bucket, and on subsequent tests,
>>>> but again only about a dozen times before it starts failing again. Same
>>>> behavior in curl.  This makes me suspect that the server is doing some
>>>> incorrect caching around this js function, based on the function string.
>>>>  Any explanation about what's going on?
>>>>  Keith
>>>>  _______________________________________________
>>>> riak-users mailing list
>>>> riak-users@lists.basho.com
>>>> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
>>>>
>>>>     --
>>>
>>> [image: line][image: logo] <http://mahalostudio.com>
>>>  *Antonio Rohman Fernandez*
>>> CEO, Founder & Lead Engineer
>>>
>>> roh...@mahalostudio.com
>>> *Projects*
>>> MaruBatsu.es <http://marubatsu.es>
>>>
>>> PupCloud.com <http://pupcloud.com>
>>> Wedding Album <http://wedding.mahalostudio.com>
>>> [image: line]
>>>
>>>
>>
>> _______________________________________________
>> riak-users mailing list
>> riak-users@lists.basho.com
>> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
>>
>>
>
> _______________________________________________
> riak-users mailing list
> riak-users@lists.basho.com
> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
>
>
_______________________________________________
riak-users mailing list
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to