Hello,

I've found one reason, why the performance drops (versioned nodes, Oracle 
bundled db persistence manager). The reason is the node management in the 
InternalVersionManagerBase getParentNode().

Lets say, Jackrabbit wants to store a versioned node with the uuid 
3da05dc3-fb90-4f65-ab21-ca97342ee589.

It first looks, if there is a node beginning with the first two letters 3d. If 
the node does not exist, it is being created. This loops totally 3 times.

The problem is the create of new child nodes. Maybe in our example the second 
level node a0 does not exist. What Jackrabbit does is adding the a0 node to the 
3d node and storing the 3d node and all its children (NodeStateEx 
store(NodeState state)). If you have 100 children, then Oracle needs some time 
to read all these children just to figure out, ups 99 of these already exists.

So, the performance can go down from time to time, until the whole structure is 
created.

A better way in this case would be to store only that special child node and 
the parent.

Mit freundlichen Grüßen

i. A. Robert Seidel, Software Infrastructure, Senior Professional
--
AEB GmbH, www.aeb.de
D-70597 Stuttgart, Julius-Hölder-Str. 39
Tel. +49-711-72842-262, Fax -333, [email protected]
---
AEB Gesellschaft zur Entwicklung von Branchen-Software mbH
Stammsitz Stuttgart
Registergericht: Amtsgericht Stuttgart, HRB 84 31
Gerichtsstand Stuttgart
Geschäftsführer: Peter Michael Belz, Jochen Günzel

Reply via email to