[midPoint] BulkAction Task - Out Of Memory Error

Pavol Mederly mederly at evolveum.com
Mon Aug 29 23:41:01 CEST 2016


Hello Martin,

I have a feeling I've fixed boundless growth of operation result for 
bulk actions (but I'm not quite sure). Please try with the current 
master and let us know.

But I would say that bulk actions are too general mechanism to do a 
simple recomputation. It would be better to use standard "recompute" 
task, with an extension value of *mext:objectQuery* used to limit the 
objects processed. See 
https://github.com/Evolveum/midpoint/blob/master/samples/tasks/task-user-recompute-selected-users-only.xml. 
Advantages over bulk actions are:

 1. For standard recompute task, the operation result growth has been
    fixed (maybe already in 3.4).
 2. Standard recompute task can be parallelized by setting
    *workerThreads* value.
 3. Bulk actions are still not resilient enough. There was no time to
    implement flexible error treatment policies; so currently these
    tasks stop at the first occurrence of an error. On the other hand,
    standard recompute task proceeds even when errors are encountered.

Best regards,

Pavol Mederly
Software developer
evolveum.com

On 29.08.2016 22:04, Martin Marchese wrote:
> Hi all,
>
> I have 10 bulk action tasks in order to recompute all users based on a 
> substring filter. Each task has the following filter:
>
> <s:search>
> <s:type>c:UserType</s:type>
> <s:searchFilter>
> <q:substring>
> <q:matching>polyStringNorm</q:matching>
> <q:path>c:name</q:path>
> <q:value>0</q:value>
> <q:anchorEnd>true</q:anchorEnd>
> </q:substring>
> </s:searchFilter>
> <s:action>
>
>     <s:type>recompute</s:type>
>
> </s:action>
> </s:search>
>
> With the value changing from 0 (within the first task) to 9 (on task # 
> 10), so we can run then one at a time.
> Even though all of them are suspended, once I try to list tasks thru 
> the GUI, MidPoint stops responding and checking the logs I saw an *Out 
> Of Memory: Java Heap Size limit* error.
>
> The total users count is aprox. 400k.
>
> Is this the best way to recompute all the users? Which will be the 
> best way to do this based on the large amount of users we have?
>
> Thanks in advance
>
> *Ing. Martín Marchese*
> Identicum S.A.
> Jorge Newbery 3226
> Tel: +54 (11) 4552-3050
> mmarchese at identicum.com <mailto:mmarchese at identicum.com>
> www.identicum.com <http://www.identicum.com>
>
>
> _______________________________________________
> midPoint mailing list
> midPoint at lists.evolveum.com
> http://lists.evolveum.com/mailman/listinfo/midpoint

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20160829/7b02c774/attachment.htm>


More information about the midPoint mailing list