On Fri, Nov 13, 2009 at 11:44 AM, Frederik Ramm <span dir="ltr"><<a href="mailto:frederik@remote.org">frederik@remote.org</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi,<div class="im"><br>
<br>
Brett Henderson wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I've updated the Relation class to use a 32-bit int instead of 16-bit char when persisting temp data to disk (which I assume is where it broke). <br>
</blockquote>
<br></div>
The problem occured in the Relation's "store" routine where it attempted to make a Char value of the relation member count. I am, however, surprised that you say this has anything to do with persisting temp data to disk, as the problem occured when doing a --rri --wxc combination which only handled a rather small amount of data.</blockquote>
<div><br>Yep, that explains it.  --rri internally downloads all the files, merges them together, then sorts the results before sending to output.  This guarantees that all data is sent downstream in node, way relation order with ascending ids and versions.  Sorting uses a class called FileBasedSort which is where all the temp file based merge sort implementation occurs.<br>
<br>FileBasedSort could probably be optimised so that small sorts don't persist to disk but it's well tested and relatively efficient so I've never touched it.<br></div></div><br>