Allow to disable referential integrity checking for workspace
-------------------------------------------------------------

                 Key: JCR-954
                 URL: https://issues.apache.org/jira/browse/JCR-954
             Project: Jackrabbit
          Issue Type: New Feature
          Components: core
            Reporter: Przemo Pakulski
             Fix For: 1.4


Some operations like clone, remove operating on huge subtree of nodes requires 
a lot of memory. To copy, clone, remove subtree all nodes are loaded into 
transient spaces. It allows such operations to be transactional, from other 
side it requires a lot of heap size and this memory size is directly dependent 
on the size of subtree (number of nodes). In result of this in some cases it is 
impossible to make such operations in one step. In our environment sometimes 1 
GB of java heap is not enough to succesfully clone subtree  from one workspace 
to another.

You can always clone (copy, remove) tree in chunks, but if you have references 
between subtrees such approach fails. Possibilty of temporary disabling 
referential integrity checking for experienced JCR user could be very usefull 
then.

Another use case is to allow to clone selected subtrees of the whole structure 
between worskpaces. In our application we need to clone only some selected 
subtrees from one workspace to another. But we can not do that because of 
existing references. We need to clone the whol estructure first, then remove 
all unwanted nodes, which is really time expensive and memory consuming.


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