when you look at the code of createVersionHistory() in AbstractVersionManager:

[...]
           // create deep path
           String uuid = node.getNodeId().getUUID().toString();
           NodeStateEx root = historyRoot;
           for (int i = 0; i < 3; i++) {
               QName name = new QName(QName.NS_DEFAULT_URI,
uuid.substring(i * 2, i * 2 + 2));
               if (!root.hasNode(name)) {
                   root.addNode(name, QName.REP_VERSIONSTORAGE, null, false);
                   root.store();
               }
               root = root.getNode(name, 1);
           }
           QName historyNodeName = new QName(QName.NS_DEFAULT_URI, uuid);
[...]


you see that the path to the version history is built using the uuid
of the version history node. the idea is to create a good distribution
of the histories in the version storage. this is mainly because
jackrabbit can't handle large number of childnodes very well.

regards, toby

On 6/28/06, Giota Karadimitriou <[EMAIL PROTECTED]> wrote:
I would like to ask a general question regarding how version storage is
organized in jackrabbit.

From what I see for each version node in jackrabbit moving up from
parent to parent there is:

a)       A parent version history node
b)       parent of a is a version storage node
c)       parent of b is another version storage node
d)       parent of c is another version storage node
e)       parent of d is root

so it's like:
root-->d(version storage)-->c(version storage)-->b(version
storage)-->a(version history)-->version_node

why are there 3 version storages?

'b' has 'a' as its only child but c does not have b as its only
child.what are these other children?

In general what do the second and third version storage nodes (c and d
in my example) contain?

Regards
giota






--
-----------------------------------------< [EMAIL PROTECTED] >---
Tobias Bocanegra, Day Management AG, Barfuesserplatz 6, CH - 4001 Basel
T +41 61 226 98 98, F +41 61 226 98 97
-----------------------------------------------< http://www.day.com >---

Reply via email to