On Wed, Dec 1, 2010 at 12:32, Jon Brisbin
<jon.bris...@npcinternational.com> wrote:
>
> On Dec 1, 2010, at 10:08 AM, Kevin Smith wrote:
>
>> There is a cache between the MapReduce machinery and the Javascript VMs to 
>> reduce demand on the VMs. It is a two-level cache based on the bucket/key 
>> pair being accessed and the hash of the Javascript function name or source 
>> being invoked. Changing either the function or writing to the bucket/key 
>> pair should cause the cache to eject entries.
>>
>> If you want to disable the cache, you can do so by adding the following 
>> lines to the riak_kv section of your app.config:
>>
>> {vnode_cache_entries, 0}
>
> This did make a difference. I suspected this was the case, so I added some 
> code to make the Javascript I was submitting always unique. I took that back 
> out and put this setting in place.
>
>> I will dig into the caching code and see if there's an issue with stale 
>> entries not getting ejected.
>
> I can't say for certain, but it seems to be that the M/R gets an incomplete 
> list of keys to use because they are queried first. While the M/R is being 
> run, though, entries are added to that bucket. These are obviously not picked 
> up by the running M/R code because the list of keys has already been obtained.
>

This is more or less how couch works as well. The list of inputs are
determined at runtime and any new keys (in riaks case if you mapped
over a bucket) are not included in the m/r.

> Of course that's just a guess because I don't know the specifics of how it 
> works internally. :)
>
>> What are you using for W or DW on your write calls? With W/DW < N the call 
>> can return while the data is still being replicated.
>
> I was using the defaults.
>
> What I'm trying now is to set the n_val, w, etc... properties when I start 
> the tests.
>
> If I'm running a single test server, what should I set and to what value? 
> Just w=1 or does r need to be set too?
>
> I basically want to make sure that every write is "flushed" before returning. 
> I don't want to add this to the underlying code, because I want to take 
> advantage of any caching and what-not. I just want to make sure that things 
> are flushed and solid while running the test suite. If it takes twice as 
> long, I don't care. I just want the tests to pass. ;)
>
> jb
>
>
>>
>> --Kevin
>>
>>>
>>> Thanks for all the help so far! :)
>>>
>>> Jon Brisbin
>>> Portal Webmaster
>>> NPC International, Inc.
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> riak-users mailing list
>>> riak-users@lists.basho.com
>>> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
>>
>
>
> Jon Brisbin
> Portal Webmaster
> NPC International, Inc.
>
>
>
>
> _______________________________________________
> 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