You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by Shailesh Mangal <sh...@getzephyr.com> on 2008/09/24 17:55:18 UTC

Batch Operations in Jackrabbit

HI All,

I am facing performance issues while coping large number of nodes.
	Scenario: I have a node(N1) with 5000 subnodes). I wanted to  
selectively copy some of these (say 1000) sub nodes to other node(N2)

I am using Workspace.copy(). (Iterating through all subnodes and  
coping one by one)

  As per documentation(of Workspace.copy), "If successful, the change  
is persisted immediately, there is no need to call save".

As per my understaning every node commits separately. But I want to  
commit all nodes as batch. so that I can save some execution time.

Is it possilbe to "commit nodes  in batches while using  
Workspace.copy()  or an alternative to bulk bulk copy". I am using  
1.3.4 but I can upgrade if newer versions have solution to this problem


Shailesh Mangal
Now, Test Management, is a breeze


Re: Batch Operations in Jackrabbit

Posted by Marcel Reutegger <ma...@gmx.net>.
Hi,

Shailesh Mangal wrote:
> thanks Stefan,
> 
> We are using JTA. Our repository reads are very fast but writes are very
> slow.
> 
> It takes 600-800 msec to copy one node. We are trying to find a reason
> for that. It appeared that workspace.copy() might take long.
> 
> What I also noticed is that its constantly rebuilding the indexes on
> file system during the copy. Is there any way we can stop it from
> building the indexes and build them in the end?

indexing a single node should be very fast. using a default configuration the
index will do this in memory and only write a log entry.

when you say 'rebuilding the indexes' does that mean the complete index is
re-created? is there anything in the logs that might shed some more light on this?

regards
 marcel

Re: Batch Operations in Jackrabbit

Posted by Shailesh Mangal <sh...@getzephyr.com>.
thanks Stefan,

We are using JTA. Our repository reads are very fast but writes are  
very slow.

It takes 600-800 msec to copy one node. We are trying to find a reason  
for that. It appeared that workspace.copy() might take long.

What I also noticed is that its constantly rebuilding the indexes on  
file system during the copy. Is there any way we can stop it from  
building the indexes and build them in the end?

Shailesh Mangal
Now, Test Management, is a breeze


On Sep 25, 2008, at 12:58 AM, Stefan Guggisberg wrote:

> hi shailesh
>
> On Wed, Sep 24, 2008 at 5:55 PM, Shailesh Mangal
> <sh...@getzephyr.com> wrote:
>> HI All,
>>
>> I am facing performance issues while coping large number of nodes.
>>       Scenario: I have a node(N1) with 5000 subnodes). I wanted to
>> selectively copy some of these (say 1000) sub nodes to other node(N2)
>>
>> I am using Workspace.copy(). (Iterating through all subnodes and  
>> coping one
>> by one)
>>
>> As per documentation(of Workspace.copy), "If successful, the change  
>> is
>> persisted immediately, there is no need to call save".
>>
>> As per my understaning every node commits separately. But I want to  
>> commit
>> all nodes as batch. so that I can save some execution time.
>
> the result of workspace operations are committed just once at the  
> end of the
> operation (assuming you're not using JTA).
>
> cheers
> stefan
>
>>
>> Is it possilbe to "commit nodes  in batches while using  
>> Workspace.copy()  or
>> an alternative to bulk bulk copy". I am using 1.3.4 but I can  
>> upgrade if
>> newer versions have solution to this problem
>>
>>
>> Shailesh Mangal
>> Now, Test Management, is a breeze
>>
>>






Re: Batch Operations in Jackrabbit

Posted by Stefan Guggisberg <st...@day.com>.
hi shailesh

On Wed, Sep 24, 2008 at 5:55 PM, Shailesh Mangal
<sh...@getzephyr.com> wrote:
> HI All,
>
> I am facing performance issues while coping large number of nodes.
>        Scenario: I have a node(N1) with 5000 subnodes). I wanted to
> selectively copy some of these (say 1000) sub nodes to other node(N2)
>
> I am using Workspace.copy(). (Iterating through all subnodes and coping one
> by one)
>
>  As per documentation(of Workspace.copy), "If successful, the change is
> persisted immediately, there is no need to call save".
>
> As per my understaning every node commits separately. But I want to commit
> all nodes as batch. so that I can save some execution time.

the result of workspace operations are committed just once at the end of the
operation (assuming you're not using JTA).

cheers
stefan

>
> Is it possilbe to "commit nodes  in batches while using Workspace.copy()  or
> an alternative to bulk bulk copy". I am using 1.3.4 but I can upgrade if
> newer versions have solution to this problem
>
>
> Shailesh Mangal
> Now, Test Management, is a breeze
>
>