[Standards] Proposed XMPP Extension: Bind 2.0

Evgeny Khramtsov xramtsov at gmail.com
Wed Jan 18 14:01:36 UTC 2017


Wed, 18 Jan 2017 14:24:02 +0100
Florian Schmaus <flo at 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?


More information about the Standards mailing list