[OSM-dev] Minute Diffs Broken
ssinger_pg at sympatico.ca
Tue May 5 02:40:17 BST 2009
On Mon, 4 May 2009, Greg Troxel wrote:
> openstreetmap-dev at scd.debian.net writes:
>> Would this work?
>> How about the situation:
>> Changeset A creates a node
>> Changeset B uses the node in a way
>> Changeset B closes
>> (Later) Changeset A closes
> Transactions are intended to avoid this. It may be that the changeset B
> transaction shoudl be reading the node, in which case pgsql should
> prevent the commit of changeset B until A is closed. Or more likely B
> could not see the node in changset A until A commits - this is the READ
> COMMITTED property, or the avoidance of "dirty reads".
> Have you seen this?
We don't use transactions that span the life of changesets (with good
reason). We might use transactions to service a single HTTP request to the
API (ie single POST/PUT) but not for a changeset. Changesets can last many
hours (especially when the user goes back out mapping in middle of editing).
Database Transactions lasting that long (controlled by end users) will cause
lots of pain.
More information about the dev