[OSM-dev] Minute Diffs Broken

Brett Henderson brett at bretth.com
Tue May 5 10:08:02 BST 2009


Frederik Ramm wrote:
> Hi,
>
> Brett Henderson wrote:
>> I'm fairly uncomfortable with this approach.  It could be very 
>> confusing.  But I'm prepared to be swayed, it is certainly simple :-)
>
> As I tried to explain, I don't really find it confusing; I actually 
> *like* the idea of changesets not being propagated until they are 
> "complete" (i.e. closed).
My aim all along has been to provide people with up to date data.  The 
nice thing about the minute changesets is that they let you have an 
offline database that exactly matches the API as of 6 minutes ago.  I'd 
completely agree with you if the API only released data once the 
changeset was closed but that's not the case.  I don't like making 
assumptions about what people will use the data for because that 
immediately introduces limitations on what can be done with it.  For 
example, the current minute diffs (if they worked properly) let you look 
at your local database, make a bunch of enhancements and upload directly 
to the API and you'll only run into conflicts if somebody has edited 
within the last 6 minutes or so.  If that period is increased to a day 
then the window is much larger.  It could be said that people should 
only edit data retrieved from the API, but again I don't like imposing 
these restrictions.

Having said all that, it is beginning to look like this is my only 
option.  As things stand I'm going to have to disable minute diffs or 
significantly increase their delay.
>
>> Also, there's a potential flaw with this approach.  Lets say I create 
>> node 100 with version 1 in changeset 10 in Potlatch and leave my 
>> changeset open.  You then come along with JOSM and edit node 100 
>> creating version 2 within changeset 11 and close your changeset 
>> immediately.  Osmosis will pick up changeset 11 after 5 minutes and 
>> distribute node 100 version 2.  A day later Osmosis will pick up 
>> changeset 10 and distribute it node 100 version 1.
>
> Ouch, I hadn't thought of this, but of course you are right. - But now 
> that the XML contains version numbers, would it not be the superior 
> approach anyway to base --apply-change on version numbers anyway?
Probably.  Like much of osmosis it is intentionally dumb which leads to 
it being predictable and easy to maintain.  Patches welcome :-)

Brett





More information about the dev mailing list