You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@syncope.apache.org by "Francesco Chicchiriccò (JIRA)" <ji...@apache.org> on 2016/05/16 13:23:12 UTC

[jira] [Assigned] (SYNCOPE-855) Synchronization token management enhancement in case of errors

     [ https://issues.apache.org/jira/browse/SYNCOPE-855?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Francesco Chicchiriccò reassigned SYNCOPE-855:
----------------------------------------------

    Assignee: Francesco Chicchiriccò

> Synchronization token management enhancement in case of errors
> --------------------------------------------------------------
>
>                 Key: SYNCOPE-855
>                 URL: https://issues.apache.org/jira/browse/SYNCOPE-855
>             Project: Syncope
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 1.2.7, 2.0.0-M2
>            Reporter: Francesco Chicchiriccò
>            Assignee: Francesco Chicchiriccò
>             Fix For: 1.2.8, 2.0.0
>
>
> The overall logic of the synchronization (1.2) / incremental pull (2.0) process can be summarized as:
>  # invoke underlying connector's {{getLatestSyncToken}}
>  # invoke underlying connector's {{sync}}
>  # store the value for {{getLatestSyncToken}} for subsequent invocation
> As a consequence, when one synchronizing item ({{SyncDelta}}) generates an error, the whole process might be interrupted without saving the updated sync token, and next invocation will start again from the beginning, without considering the successful items passed before the error occurred.
> The process should be changed as follows, instead:
>  # invoke underlying connector's {{getLatestSyncToken}}
>  # invoke underlying connector's {{sync}}: for each {{SyncDelta}}, temporary store the related {{syncToken}} field;
>  # store the last successful item's {{syncToken}} value - or {{getLatestSyncToken}} if no error occurred - for subsequent invocation



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)