You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Samuel Cox (JIRA)" <ji...@apache.org> on 2011/09/15 17:16:09 UTC

[jira] [Commented] (JCR-2427) UUIDDocId.getDocumentNumbers() may return illegal value

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

Samuel Cox commented on JCR-2427:
---------------------------------

We need this for 1.6 as well.

It looks like the backport would be easy:

-            if (itemState.isNode()) {
-                def = itemMgr.getDefinition((NodeState) itemState).unwrap();
-            } else {
-                def = itemMgr.getDefinition((PropertyState) itemState).unwrap();
+            try {
+                if (itemState.isNode()) {
+                    def = itemMgr.getDefinition((NodeState) itemState).unwrap();
+                } else {
+                    def = itemMgr.getDefinition((PropertyState) itemState).unwrap();
+                }
+            } catch (ConstraintViolationException e) {
+                // since identifier of assigned definition is not stored anymore
+                // with item state (see JCR-2170), correct definition cannot be
+                // determined for items which have been removed due to removal
+                // of a mixin (see also JCR-2130 & JCR-2408)
+                continue;



> UUIDDocId.getDocumentNumbers() may return illegal value
> -------------------------------------------------------
>
>                 Key: JCR-2427
>                 URL: https://issues.apache.org/jira/browse/JCR-2427
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 2.0-beta5
>            Reporter: Marcel Reutegger
>            Priority: Minor
>             Fix For: 2.0-beta6
>
>
> Happens when the node with the given UUID is not present in the index. The method then returns -1, which is illegal. Document numbers must be >= 0. The method must returns an empty array when the id is invalid, as documented in DocId.getDocumentNumbers().

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira