jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Wolfgang Gehner" <wgeh...@infonoia.com>
Subject Multirow update/insert/delete issue
Date Wed, 10 Nov 2004 16:41:46 GMT

As discussed with David offline, when 1000 nodes are inserted, in the current implementation
the PersistenceMgr.store() method 
is called a 1000 times. So the XMLPersistenceMgr takes 30 seconds to do those 1000 write operations.
A JDBC implementation of the current PersistenceMgr API is "condemned" to do the same thing.
We'd really look to a way to bundle those 1000 writes into one "transaction", so we can take
2-3 seconds on a relational database rather than 30.

So we'd like to throw into the discussion the following thoughts:
- how about maintaining an instance of of PersistenceMgr (pm) not on (Persistent)NodeState
but on NodeImpl
- the implementation of node.save() to collect info what nodes incl. children to save and
call a persistenceMgr.store(
nodesToUpdate, nodesToInsert, nodesToDelete) just once. That way the pm could bundle operations
in line with the
repository requirements.

This would make Jackrabbit's persistence model follow the DAO (data access object) pattern
as we understand it. 

Would be pleased to elaborate and discuss. And share our JDBC PersistenceMgr prototype with
anyone interested (it passes the current api unit test, but has a very non-optimized ER design
and is inflicted with the issue discussed in this message).

Best regards,

Infonoia S.A.
rue de Berne 7
1201 Geneva
Tel: +41 22 9000 009
Fax: +41 22 9000 018
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message