<div style="display: flex; flex-wrap: wrap; white-space: pre-wrap; align-items: center; "><img height="20" width="20" style="border-radius:50%; margin-right: 4px;" decoding="async" src="https://avatars.githubusercontent.com/u/147741?s=20&v=4" /><strong>tomhughes</strong> left a comment <a href="https://github.com/openstreetmap/openstreetmap-website/pull/6379#issuecomment-3341718755">(openstreetmap/openstreetmap-website#6379)</a></div>
<p dir="auto">Yes <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mmd-osm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mmd-osm">@mmd-osm</a> says it doesn't really matter how many times the changeset is loaded at the ruby level - what matters is that we take a lock in the database before making any changes to it in the database.</p>
<p dir="auto">Each object change will then read the changeset, update it and write it back, but as that's all inside the transaction each subsequent read will see the dirty data from previous writes inside the uncommitted transaction so as those events are sequential there is no risk there.</p>
<p dir="auto">The lock will be released when the transaction is committed and any other diff upload (or single object change) that tries to run will have to wait for the lock to release before it can get it's own lock and start making changes.</p>
<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />Reply to this email directly, <a href="https://github.com/openstreetmap/openstreetmap-website/pull/6379#issuecomment-3341718755">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AAK2OLPYIOWLXUQGKLKQGO33U2HIFAVCNFSM6AAAAACFUYOU5KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTGNBRG4YTQNZVGU">unsubscribe</a>.<br />You are receiving this because you are subscribed to this thread.<img src="https://github.com/notifications/beacon/AAK2OLMQBGVTU7NCOT7M44D3U2HIFA5CNFSM6AAAAACFUYOU5KWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTWHF2KOG.gif" height="1" width="1" alt="" /><span style="color: transparent; font-size: 0; display: none; visibility: hidden; overflow: hidden; opacity: 0; width: 0; height: 0; max-width: 0; max-height: 0; mso-hide: all">Message ID: <span><openstreetmap/openstreetmap-website/pull/6379/c3341718755</span><span>@</span><span>github</span><span>.</span><span>com></span></span></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/openstreetmap/openstreetmap-website/pull/6379#issuecomment-3341718755",
"url": "https://github.com/openstreetmap/openstreetmap-website/pull/6379#issuecomment-3341718755",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>