Rollback d'un job

cancel
Showing results for 
Search instead for 
Did you mean: 
mlagneaux
Active Member

Rollback d'un job

Bonjour,

Je rencontre depuis quelques temps un souci avec un de mes jobs. Celui-ci se charge de réaliser une synchronisation des comptes utilisateur et groupes d'Alfresco à partir d'un export XML. Le job exécute une action composite sur le fichier XML. Cette action composite se compose des actions suivantes:
- Gestion des suppressions d'utilisateurs
- Gestion des mises à jour d'utilisateurs
- Gestion des créations d'utilisateurs
- Gestion des groupes (création, suppression, gestion des membres)

Dans mon cas, à l'issue du job, la transaction est rollbackée. Il n'y a pourtant aucune exception levée au cours de l'exécution des différentes actions du job.

J'ai essayé de mettre en DEBUG les classes RetryingTransactionHelper et SpringAwareUserTransaction, de rajouter des traces dans les classes AbstractScheduledAction et ActionServiceImpl mais je n'arrive pas à savoir pourquoi le statut de ma transaction devient STATUS_MARKED_ROLLBACK.

Dans le RetryingTransactionHelper, je passe bien dans ce test :

if (txn.getStatus() == Status.STATUS_MARKED_ROLLBACK)


J'ai également essayé de mettre l'ensemble des traitements de mes différentes actions dans un try/catch de Exception : aucune exception n'est catchée.

Qu'est-ce qui peut provoquer le passage du statut d'une transaction à STATUS_MARKED_ROLLBACK ?
Y a-t-il d'autres classes que je pourrais passer en debug pour me donner plus d'informations ?

Pour être complet, au cours des traitements, j'ai des warnings à propos des caches :

2014-12-17 16:07:58,621  WARN  [org.alfresco.userToAuthorityTransactionalCache] [DefaultScheduler_Worker-2] Transactional update cache 'org.alfresco.userToAuthorityTransactionalCache' is full (100).
2014-12-17 16:07:59,648  WARN  [org.alfresco.authenticationTransactionalCache] [DefaultScheduler_Worker-2] Transactional removal cache 'org.alfresco.authenticationTransactionalCache' is full (100).


S'agissant de warnings, qui en plus concernent le cache, je pense que cela n'a pas d'incidence.

Merci d'avance pour votre aide.
1 Reply
mlagneaux
Active Member

Re: Rollback d'un job

J'ai éclaté mon job exécutant 4 actions en 4 jobs exécutant chacun une action et cela a fonctionné.
Savez-vous si le nombre d'actions que l'on peut réaliser au sein d'une même transaction est limité ?