You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Dominik Süß (Jira)" <ji...@apache.org> on 2021/09/02 09:07:00 UTC

[jira] [Commented] (JCRVLT-557) Breaking change in behavior for implict nodetype calculation

    [ https://issues.apache.org/jira/browse/JCRVLT-557?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17408698#comment-17408698 ] 

Dominik Süß commented on JCRVLT-557:
------------------------------------

Failing scenario covered in https://github.com/apache/jackrabbit-filevault/pull/164 - as indicated this is a boiled down scenario of a more complex package with includes and excludes containing the minimum to provoke the same fail scenario. With the real packge I could observe on 3.4.0 that the substructures would be created as nt:unstructured making the structures valid while the package definition itself doesn't enforce a valid structure in itself - yet people were relying on this implicit detection to work as it did which makes this a breaking behavioral change.

> Breaking change in behavior for implict nodetype calculation
> ------------------------------------------------------------
>
>                 Key: JCRVLT-557
>                 URL: https://issues.apache.org/jira/browse/JCRVLT-557
>             Project: Jackrabbit FileVault
>          Issue Type: Bug
>          Components: vlt
>            Reporter: Dominik Süß
>            Priority: Major
>
> During extensive validation of backward compatiblity of droping in head (3.5.1-SNAPSHOT) over 3.4.0 led to detection of a breaking behavioral change.
> The simplified case looks like this:
> * a node is already present as nt:unstructured
> * a package is being installed with an the filter root not having a .content.xml
> * the child node of this node would be nt:unstructured
> Experienced outcome in 3.4.0: all 3 nodes would be of nt:unstructured
> Behavior in 3.5.1-SNAPSHOT: ConstraintViolationExceptionas no matching NodeTypeDefinition is found for the child node (indicating that the parent wasn't created as nt:unstrructureed)
> The original case is slightly more complex where the substructure is deeper with some excludes and an "implicit" node (not covered by the filter due to the exclude would fail to create with the same ConstraintViolationException.
> My current assumption is that solving the provided testcase (will create IT for the PR) would also solve the more complex scenario - if necessary I can add a secondary test case closer to the real-world failure.



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