[ https://issues.apache.org/jira/browse/SYNCOPE-855?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15288645#comment-15288645 ]
Francesco Chicchiriccò commented on SYNCOPE-855: ------------------------------------------------ Some ConnId connector bundles require adjustment to behave correctly: * https://connid.atlassian.net/browse/AD-55 * https://connid.atlassian.net/browse/CSVDIR-14 > 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)