Eric, are you by any chance still running Riak 0.14.1? There was a bug showing the same symptoms you're describing, which was fixed in the recent 0.14.2 release.
Mathias Meyer Developer Advocate, Basho Technologies On Samstag, 2. Juli 2011 at 14:40, Eric Stevens wrote: > I've been struggling with this for a few days now. I have a pair of related > Map/Reduce queries. Executed individually they produce the expected results, > but when executed in parallel (simultaneous XHR calls from the browser), > their results tend to get mixed up with each other; I see values from both > mixed together in a single result. > > Once that corruption happens, even the calls executed individually can end up > with cross-pollinated results. It seems to be related to the caching of the > anonymous javascript functions used, as adding a space to the function > declaration clears the issue up. Taking that space back out causes the > problem again. > > I can confirm that the corruption can become persistent by using a line such > as (PHP client): > ejsLog('/tmp/mapred/reduce_" . join('.', explode('\\', get_class($this))) . > ".log', JSON.stringify(values)); > > After the corruption happens, if I clear the log path, execute just the one > map/red operation, I will see log entries appear for both classes (the class > name being encoded as part of the function declaration). The problem seems to > happen for both map and reduce operations, though I have not specifically > noticed cross-contamination between map and reduce functions, just > map-for-map and reduce-for-reduce. > > Adding this as the first line of the function declaration seems to solve the > problem, but this is obviously something intended to defeat caching, so I'm > sure there's a performance cost to this (note, just get_class($this) is not > sufficient, cross-contamination can still happen, each call needs to be > unique call-to-call, thus the mt_rand()). > "//".get_class($this).' '.mt_rand()." > > > I noticed Francisco Treacy had this same problem back in September: > http://riak-users.197444.n3.nabble.com/reduce-headaches-td1524860.html but I > didn't see any resolution there. Is there a potential longer term cost to my > cachebusting, such as memory exhaustion (i.e. is there any garbage collection > on the function cache)? > > Any help would be sincerely appreciated! > > -Eric > _______________________________________________ > riak-users mailing list > riak-users@lists.basho.com (mailto: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