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

Randall Hauch updated JCR-2661:
-------------------------------

    Component/s:     (was: jackrabbit-core)

Removed the 'jackrabbit-core' component, as it is unrelated to this issue and 
was added by mistake.

> Two JCR unit tests expect delete events for nodes under deleted node, 
> contrary to JCR 2.0 specification
> -------------------------------------------------------------------------------------------------------
>
>                 Key: JCR-2661
>                 URL: https://issues.apache.org/jira/browse/JCR-2661
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-jcr-tests, JCR 2.0
>    Affects Versions: 2.1.0
>            Reporter: Randall Hauch
>
> There are two JCR unit tests (part of the TCK unit test suite) that are 
> deleting a subgraph and expecting the JCR implementation to produce 
> NODE_REMOVED events for all nodes in the subgraph:
>     
> org.apache.jackrabbit.test.api.observation.NodeRemovedTest.testMultiNodesRemoved()
>   line 70
>     
> org.apache.jackrabbit.test.api.observation.WorkspaceOperationTest.testCopy()  
> line 54
> While this was required in the JCR 1.0 specification, the JCR 2.0 
> specification allows for different behavior. From Section 12.2 of the JCR 2.0 
> specification:
>    "The scope of event reporting is implementation-dependent. An 
> implementation should make a best-effort attempt to 
>     report all events, but may exclude events if reporting them would be 
> impractical given implementation or resource 
>     limitations. For example, on an import, move or remove of a subgraph 
> containing a large number of items, an 
>     implementation may choose to report only events associated with the root 
> node of the affected graph and not those 
>     for every subitem in the structure."
>       
> http://www.day.com/specs/jcr/2.0/12_Observation.html#ScopeofEventReporting
> In some implementations, producing NODE_REMOVED events for every node in the 
> deleted subgraph require first reading this information from persistent 
> storage to identify all of the nodes that are being removed. While this is 
> often acceptable for small operations, doing this for even moderately-sized 
> subgraphs can induce an unnecessary performance penalty on the remove 
> operation.
> Therefore, the JCR unit tests (i.e., the TCK tests) should not expect or 
> require an implementation produce NODE_REMOVED events for all nodes in the 
> subgraph, but per the specification should merely expect at least a single 
> NODE_REMOVED event for the top node in the subgraph.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to