Frédéric Esnault - Ingénieur R&D
Legisway
60 boulevard de la mission Marchand
92400 Courbevoie La Défense
 
Well I have two comments.

First, I think the lock should be obtained AFTER the sessions/txs are 
saved/committed. If you get the lock before, and one of the pending 
modifications is a trivial modification of this particular node type (ie. 
adding a not mandatory property), then the pending modification will fail to 
commit, as the node type is locked. The moment the node type is locked needs 
careful thinking imo. The question is : is there a way to prevent new 
session/tx to be created while waiting for active ones to finish?

Second, not only the node type needs to be locked, the whole repository must be 
locked, to prevent user to, for example, create a content node of that 
particular node type. I think this could easily be done by deep locking the 
repository root node, as both content and system nodes are under the root. This 
would not need a specific node lock, but "only" a deep lock on the root. Once 
again, this is okay for me, as the node type modification is not a common 
operation.

>i am not worried about the performance of node type modifications per se.
>my comment was with regard to sandro's suggested approach of acquiring
>locks on individual node types. my concern was that this would hurt
>performance even in the
>absence of node type modifications since those locks would need to be
>acquired and
>held at least during write operations/tx commits.
>
>cheers
>stefan

Reply via email to