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

Irina Chirita updated JCRVLT-633:
---------------------------------
    Description: 
When using "vlt rcp" to copy content between servers, if there is a mismatch 
between the source and the target on the node type child ordering, then the 
process will stop silently. There is an error in the logs, however the task 
JSON returns the status ENDED instead of ERROR. Therefore any tool making use 
of the JSON status property will not show the error making error detection more 
difficult.
----
To reproduce, follow the below steps.
 # On the source environment create a node that supports child ordering (e.g., 
sling:OrderedFolder)
For example, /content/dam/test/folderA. The source will have other folders and 
assets in /content/dam/test in such a way that the sync takes a few minutes.
 # On the target environment create a node with the same name in the same path 
(/content/dam/test/folderA) that does not support child ordering (e.g., 
sling:Folder)
 # Use "vlt rcp" via json/http interface to copy sync from the source to the 
target server the top-level folder (e.g. /content/dam/test):

 * create task
 * start task
 * get info of task progress

Expected result:
 * when making a call to get info of the task progress, the JSON returned 
should have a new "state" ERROR to indicate that a problem occurred during 
processing

Actual result:
 * When making a call to get info of the task progress, the JSON returned has a 
"state" ENDED and HTTP code is 200, therefore there is no way of knowing that a 
problem occurred when synchronising large amount of data unless logs are being 
checked regularly. 
 * This may hinder automation whereby a sync task would run regularly on a 
schedule and we would like the error to be raised at the level where the call 
is being made.

  was:
When using "vlt rcp" to copy content between servers, if there is a mismatch 
between the source and the target on the node type child ordering, then the 
process will stop silently. There is an error in the logs, however the task 
JSON returns the status ENDED instead of ERROR. Therefore any tool making use 
of the JSON status property will not show the error making error detection more 
difficult.
----
To reproduce .... TBC

 

with an error in the logs, however the , node properties are correctly updated 
or removed, and child nodes are correctly added or removed, but child node 
ordering is not updated.

1. create a node that supports child ordering (e.g., nt:unstructured or 
sling:OrderedFolder)
For example, /content/test/folderA

2. create 3 nodes (e.g., nt:unstructured) underneath that node
/content/test/folderA/one
/content/test/folderA/two
/content/test/folderA/three

3. use "vlt rcp" to copy that folder elsewhere:
{noformat}
vlt rcp -r -u 
http://admin:admin@localhost:4502/crx/-/jcr:root/content/test/folderA 
http://admin:admin@localhost:4502/crx/-/jcr:root/content/test/folderB
{noformat}
4. check that the newly created target folder "folderB" exists and has the 
correct child content in the correct order.

5. delete the node "one" from "folderB"
6. re-run the "vlt rcp" command

This should bring the target folder back into sync with the source folder, but 
it will instead create the node "one" as the last child in the target folder, 
rather than the first.


> VLT RCP doesn't fail task when child node ordering error occurs
> ---------------------------------------------------------------
>
>                 Key: JCRVLT-633
>                 URL: https://issues.apache.org/jira/browse/JCRVLT-633
>             Project: Jackrabbit FileVault
>          Issue Type: Bug
>          Components: RCP
>    Affects Versions: 3.5.6
>            Reporter: Irina Chirita
>            Priority: Major
>
> When using "vlt rcp" to copy content between servers, if there is a mismatch 
> between the source and the target on the node type child ordering, then the 
> process will stop silently. There is an error in the logs, however the task 
> JSON returns the status ENDED instead of ERROR. Therefore any tool making use 
> of the JSON status property will not show the error making error detection 
> more difficult.
> ----
> To reproduce, follow the below steps.
>  # On the source environment create a node that supports child ordering 
> (e.g., sling:OrderedFolder)
> For example, /content/dam/test/folderA. The source will have other folders 
> and assets in /content/dam/test in such a way that the sync takes a few 
> minutes.
>  # On the target environment create a node with the same name in the same 
> path (/content/dam/test/folderA) that does not support child ordering (e.g., 
> sling:Folder)
>  # Use "vlt rcp" via json/http interface to copy sync from the source to the 
> target server the top-level folder (e.g. /content/dam/test):
>  * create task
>  * start task
>  * get info of task progress
> Expected result:
>  * when making a call to get info of the task progress, the JSON returned 
> should have a new "state" ERROR to indicate that a problem occurred during 
> processing
> Actual result:
>  * When making a call to get info of the task progress, the JSON returned has 
> a "state" ENDED and HTTP code is 200, therefore there is no way of knowing 
> that a problem occurred when synchronising large amount of data unless logs 
> are being checked regularly. 
>  * This may hinder automation whereby a sync task would run regularly on a 
> schedule and we would like the error to be raised at the level where the call 
> is being made.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to