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

Konrad Windszus updated JCRVLT-547:
-----------------------------------
    Description: 
Both {{RepositoryCopier}} and {{Importer}} leverage intermediate save() 
operations. Those might transiently fail in case they are triggered e.g. before 
mandatory child nodes have been added. To no defer non-transient exceptions and 
to not fail too early the intermediate saves should distinguish between those 
two exception types. Transient exceptions are subclasses of
 # 
[https://docs.adobe.com/content/docs/en/spec/jsr170/javadocs/jcr-2.0/javax/jcr/InvalidItemStateException.html]
 # 
[https://docs.adobe.com/content/docs/en/spec/jsr170/javadocs/jcr-2.0/javax/jcr/nodetype/ConstraintViolationException.html]

In case of transient exceptions the {{AutoSave}} helper class should just 
trigger a retry, while for non-transient exceptions it makes sense to bail out 
immediately with an exception.

  was:
Both {{RepositoryCopier}} and {{Importer}} leverage intermediate save() 
operations. Those might transiently fail in case they are triggered e.g. before 
mandatory child nodes have been added. To no defer not transient exceptions and 
to not fail too early the intermediate saves should distinguish between those 
two exception types. Transient exceptions are subclasses of 
# 
https://docs.adobe.com/content/docs/en/spec/jsr170/javadocs/jcr-2.0/javax/jcr/InvalidItemStateException.html
# 
https://docs.adobe.com/content/docs/en/spec/jsr170/javadocs/jcr-2.0/javax/jcr/nodetype/ConstraintViolationException.html


> Distinguish between recoverable and unrecoverable exceptions in intermediate 
> saves
> ----------------------------------------------------------------------------------
>
>                 Key: JCRVLT-547
>                 URL: https://issues.apache.org/jira/browse/JCRVLT-547
>             Project: Jackrabbit FileVault
>          Issue Type: Improvement
>            Reporter: Konrad Windszus
>            Assignee: Konrad Windszus
>            Priority: Major
>             Fix For: 3.5.2
>
>
> Both {{RepositoryCopier}} and {{Importer}} leverage intermediate save() 
> operations. Those might transiently fail in case they are triggered e.g. 
> before mandatory child nodes have been added. To no defer non-transient 
> exceptions and to not fail too early the intermediate saves should 
> distinguish between those two exception types. Transient exceptions are 
> subclasses of
>  # 
> [https://docs.adobe.com/content/docs/en/spec/jsr170/javadocs/jcr-2.0/javax/jcr/InvalidItemStateException.html]
>  # 
> [https://docs.adobe.com/content/docs/en/spec/jsr170/javadocs/jcr-2.0/javax/jcr/nodetype/ConstraintViolationException.html]
> In case of transient exceptions the {{AutoSave}} helper class should just 
> trigger a retry, while for non-transient exceptions it makes sense to bail 
> out immediately with an exception.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to