brion added a comment.
re this: $bs->deleteBlob( $dataUrl ); // dk: this goes wrong if the URL is content/hash based! I think the return from this: $dataUrl = $bs->saveBlob( $content->serialize() ); needs to signal whether a blob was created or whether an existing blob was reused. This means the blob store itself needs a transactional concept at least within the boundaries of 'does this blob exist?' followed by 'store this blob'. If two processes conflict (adding the same content at around the same time), then the second one needs to be able to detect the conflict and return the 'reference to existing' signal instead of the 'inserted new' signal. TASK DETAIL https://phabricator.wikimedia.org/T107595 EMAIL PREFERENCES https://phabricator.wikimedia.org/settings/panel/emailpreferences/ To: daniel, brion Cc: JJMC89, RobLa-WMF, Yurik, ArielGlenn, APerson, TomT0m, Krenair, intracer, Tgr, Tobi_WMDE_SW, Addshore, Lydia_Pintscher, cscott, PleaseStand, awight, Ricordisamoa, GWicke, MarkTraceur, waldyrious, Legoktm, Aklapper, Jdforrester-WMF, Ltrlg, brion, Spage, MZMcBride, daniel, D3r1ck01, Izno, Luke081515, Wikidata-bugs, aude, jayvdb, fbstj, Mbch331, Jay8g, bd808 _______________________________________________ Wikidata-bugs mailing list Wikidata-bugs@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikidata-bugs