jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Randall Hauch (JIRA)" <j...@apache.org>
Subject [jira] Updated: (JCR-2661) Two JCR unit tests expect delete events for nodes under deleted node, contrary to JCR 2.0 specification
Date Fri, 18 Jun 2010 01:41:22 GMT

     [ 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

> 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
> 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.

View raw message