Francesco Chicchiriccò created SYNCOPE-855:
----------------------------------------------

             Summary: 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: 2.0.0-M2, 1.2.7
            Reporter: 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)

Reply via email to