jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Seidel. Robert" <Robert.Sei...@aeb.de>
Subject found one of my performance issues
Date Mon, 27 Sep 2010 12:10:56 GMT

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, robert.seidel@aeb.de
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

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message