Wed, 18 Jan 2017 14:24:02 +0100 Florian Schmaus <f...@geekplace.eu> wrote:
> Bind2 already tries to solve race conditions an XMPP client encounters > when creating a new session by atomically querying the users archive > for the ID of the latest stanza, binding the resource *and* > activating the stream of live stanzas right after the retrieved ID. I > believe you don't not a database with atomic operations to implement > that protocol step atomically server-side (by just locking the > archive and stanza stream of the user while that action is performed). Ok, let's say you need to read some different tables (possibly in different databases, for example SQL and Redis). In order to do this atomically, you need to read one table, cache the results somewhere, then read the next table and cache the result and so on. So you need to maintain additional cache. And what if you need writes (enabling carbons requires writes I believe)? You need to discard all your writes if some of the table fails (simulating rollback). Is it's worth the effort? _______________________________________________ Standards mailing list Info: https://mail.jabber.org/mailman/listinfo/standards Unsubscribe: standards-unsubscr...@xmpp.org _______________________________________________