[ https://issues.apache.org/jira/browse/SYNCOPE-855?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15298194#comment-15298194 ]
ASF subversion and git services commented on SYNCOPE-855: --------------------------------------------------------- Commit e71fce0a268af61f401a2c3e6ddf92beba787b1a in syncope's branch refs/heads/1_2_X from [~ilgrosso] [ https://git-wip-us.apache.org/repos/asf?p=syncope.git;h=e71fce0 ] [SYNCOPE-855] More robust testing > 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)