Re: [Evolution-hackers] API considerations for avoiding data loss in race conditions



Am Donnerstag 06 Dezember 2012, um 16:13:59 schrieb Christian Hilberg:
> Hi all!
> 
> Thanks Tristan for bringing an issue up again which is critical for
> PIM software, especially when dealing with groupware servers.
> 
> Am Donnerstag 06 Dezember 2012, um 15:27:49 schrieb Tristan Van Berkom:
> > Hello all,
> >     I'd like to raise this issue on the list for feedback regarding this
> > bug: https://bugzilla.gnome.org/show_bug.cgi?id=686684
> > 
> > First let's start with the basic problem statement:
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > 
> > It can happen that two clients modify the same contact simultaneously,
> > or... that one client loads a number of contacts into memory and then
> > commits that contact to the addressbook without refreshing the contact
> > first, this will result in lost data for the given contact.
> > [...]
> 
> Very short note:
> 
> * This issue is not limited to contacts, but can as well hit
>   calendar (event, task, todo) entries.
> 
> * This issue is also not limited to the EClient<->E-D-S case,
>   but can occur in the E-D-S<->GroupwareServer case as well
>   in very much the same way (even without E-D-S offline
>   capability - the "one has it open for editing while the
>   other opens, edits, and stores"-case applies also in
>   online mode if we deal with shared PIM folders).
> 
> To me, this calls for a general approach of how to deal
> with PIM synchronization conflicts.

Oh, and talking about locks/transactions, please consider
this:

* EClient starts transaction / acquires lock on PIM
  entry

* E-D-S records transaction start / gives away the PIM
  entry lock to the EClient requesting

* EClient dies for any reason

* Started transaction / aquired PIM lock persists in
  E-D-S

What now? Timeout after some time? Welcome back to possible
raciness (-->does not truly solve our problem).

That same scenario is - again - not limited to EClient<->E-D-S,
but can also hit E-D-S<->GroupwareServer.

Just 2 cent,

	Christian

-- 
kernel concepts GmbH       Tel: +49-271-771091-14
Sieghuetter Hauptweg 48
D-57072 Siegen
http://www.kernelconcepts.de/

Attachment: signature.asc
Description: This is a digitally signed message part.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]