Hello!

In a local slow sync between Evolution and Google Calendar I see the
following problem:
      * Both sides have a meeting event in almost the same state.
      * The Synthesis engine decides that the event in Google Calendar
        needs to be updated.
      * The PUT command fails with "403 You don't have access to change
        that event."
      * This error code is returned as SyncML status for Replace from
        SyncML client to server.
      * The server logs "Status: 403: originator exception" and
        "WARNING: Aborting Session with Reason Status 403 (REMOTE
        problem)".

That says it all. The session ends here without finishing the slow sync.

This is a bit too drastic. I'd prefer to continue the session and merely
report that this one item couldn't be updated. Never mind that this is
my own calendar and that Google should allow me to modify all of the
events in it...

I wonder whether the 403 HTTP error really should be passed through like
that. It gets returned by the Synthesis backend:

      * [2011-08-01 18:20:56.785] PUT: bad HTTP status: <status 1.1,
        code 403, class 4, You don't have access to change that event.>,
        must not retry
      * [2011-08-01 18:20:56.786] Running destroy hooks.
      * [2011-08-01 18:20:56.786] Request ends.
      * [2011-08-01 18:20:56.786] exception thrown
        at 
/home/pohly/syncevolution/syncevolution/src/backends/webdav/NeonCXX.cpp:685
      * [2011-08-01 18:20:56.786] error code from SyncEvolution access
        denied (remote, status 403): PUT: bad HTTP status: <status 1.1,
        code 403, class 4, You don't have access to change that event.>
      * [2011-08-01
        18:20:56.786] 
aID=(040000008200E00074C5B7101A82E00800000000B0884FC7A4E8CB01000000000000000010000000059F761E3FE944408F8932B4E44FFBFD.ics/20110428T150000Z,)
 res=403
      * [2011-08-01 18:20:56.786] cannot update record in database
        (sta=403)
      * [2011-08-01 18:20:56.786] Database Error --> SyncML status 403
      * [2011-08-01 18:20:56.786] - Operation replace failed with SyncML
        status=403
–[2011-08-01 18:20:56.786] End of 'Process_Item' [->top] [->enclosing]
  * [2011-08-01 18:20:56.786] processSyncOpItem: Error while processing
    item, status=403

Should it be turned into a local error along the were somewhere? I
remember vaguely that we discussed something like that and came to the
conclusion that a backend can return errors in the range <500 to the
Synthesis engine. That's what SyncEvolution is doing here.

-- 
Best Regards, Patrick Ohly

The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.



_______________________________________________
os-libsynthesis mailing list
os-libsynthesis@synthesis.ch
http://lists.synthesis.ch/mailman/listinfo/os-libsynthesis

Reply via email to