On 17.12.2013, at 23:12, Carsten Ziegeler <[email protected]> wrote:

> The bundle can either set a marker in the repository

That's probably something we should avoid. The question is where? And why?

> or a file in the
> bundle private date;

Sounds better.

> the repository is the better place as this can be used
> in a clustered installation to avoid duplicate or concurrent migration

The migration must be idempotent and easily will be: it finds the dictionary 
nodes that only have mix:language but no sling:dictionary yet. If these all 
have a sling:dictionary it simply does nothing and sets the "migrated" flag. 
Thus this will run on startup for each cluster node, is a single query as we 
have now, and doesn't cost anything. Better yet, it runs lazy on the first 
request access, thus it should avoid concurrent migrations quite well. Anyway, 
these can be handled by retrying when a ItemModifiedException comes up (or 
whatever the exception is called).

Cheers,
Alex

Reply via email to