Thanks skaar. I&#39;ll add a ticket.<br><br>FYI -- I&#39;m running my tests on a Macbook, OS X 10.4 w/ Ruby 1.8.4<br><br><div><span class="gmail_quote">On 1/10/07, <b class="gmail_sendername">skaar</b> &lt;<a href="mailto:skaar@waste.org">
skaar@waste.org</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">I do have a test case that is close to this, which at this point has
<br>shown the exception once on a 10K result assignment with 4 workers.<br><br>(Mason - could you a ticket for this?)<br><br>* Mason Hale (<a href="mailto:masonhale@gmail.com">masonhale@gmail.com</a>) [070110 13:27]:<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;I&#39;ve done some more work on this and have created a test case that
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;reliably throws errors, although the errors themselves are not consistent.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;About 1 out of every 4 times, I get the &quot;can&#39;t convert Symbol to Hash&quot;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;error in server/lib/backgroundrb/results.rb:40 in &#39;merge!&#39;.
<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;keys.each_with_index do |k, i|<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;assert_not_nil MiddleMan[k], &quot;checking job_key #{k} on iteration<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;#{i}&quot;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;assert_not_nil MiddleMan[k].object, &quot;checking object on iteration
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;#{i}&quot;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;assert_not_nil MiddleMan[k].object.results, &quot;checking results on<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;iteration #{i}&quot;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;assert_equal(limit - 1,<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;MiddleMan[k].object.results.to_hash[:counter], &quot;checking counter on
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;iteration #{i}&quot;)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;end<br><br>you should probably use MiddleMan.worker(k) here, which will benefit<br>from the WorkerProxy (this is an inconsistency that I had overlooked)
<br>where you are re-directed directly to the results worker after the<br>worker itself has gone away. so:<br><br>&nbsp;&nbsp;MiddleMan.worker(k).results<br><br>also<br><br>&nbsp;&nbsp;MiddleMan.worker(k).results[:counter]<br><br>should work as well.
<br><br>Another thing that worries me a little bit is that I see very different<br>completion time. Everything from 10 minutes to almost 1/2 hour - that is<br>with 4 x 10k results.<br><br>/skaar<br><br><br>--<br>----------------------------------------------------------------------
<br>|\|\&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; where in the&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s_u_b_s_t_r_u_c_t_i_o_n<br>| | &gt;===========&nbsp;&nbsp;W.A.S.T.E.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;genarratologies<br>|/|/&nbsp;&nbsp;&nbsp;&nbsp;(_)&nbsp;&nbsp;&nbsp;&nbsp; is the wisdom&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="mailto:skaar@waste.org">
skaar@waste.org</a><br>----------------------------------------------------------------------<br></blockquote></div><br>