Incidents Traitements Batch J2EE
Bonjour,
Pourriez-vous m'aiguiller sur le problème suivant :
Contexte :
Nous utilisons le logiciel(ordonnanceur) Dollar Univers pour lancer des traitements Batch J2EE (traitement qui met … jour une base
de donn‚es DB2 … partir d'un fichier s‚quentiel.txt).
Ces traitements batch J2EE sont cod‚s sur Websphere Studio Application Developper V4.
Le principe est le suivant: (Lien entre Dollar U et l'application J2EE)
Dans le traitements J2EE, on initialise une variable code retour … '0'. Lors du traitement, si on rencontre une exception,
celle-ci est catch‚e et on valorise le code retour … '1'. L'application J2EE s'arrˆte alors anormalement.
Le code retour est envoy‚ … Dollar Universe qui fait un traitement sp‚cifique lorsqu'il re‡oit un code retour 1.
Dollar Universe ne sait g‚rer dans notre cas qu'un code retour 0 ou 1.
Il s'agit de traitements quotidiens.
Problème :
Il arrive parfois, que Dollar Univers plante et affiche un message avec le code retour suivant : -143 ou -1073741819
Ces plantages surviennent al‚atoirement. La fréquence va de moins de 1 fois par mois … 1 fois en 15 jours.
Deplus lorsque le traitement plante, celui-ci repasse le lendemain, dans les mˆmes conditions, avec les mêmes données, et l…, il se termine correctement.
Les données non trait‚es le jour du plantage, sont donc trait‚es le lendemain. Ce qui fait que ce problŠme n'est pas Bloquant, mais Génant.
Il n'est donc pas possible de reproduire le plantage dans notre environnement de test.
Pour informations :- Il s'agit de traitements de production, nous ne pouvons donc pas modifier le code J2EE pour faire des tests.
- Il est impossible de reproduire un plantage en environnement de d‚veloppement ou Recette car ceci ne sont pas identiques … celui de production.
- Nous ne pouvons pas augmenter le niveau de d‚tails des Logs, car ceci ralenti trop le temps de traitement.
- Nous ne pouvons pas pr‚voir quand le prochain plantage se produira.
- Ce cas ne s'est jamais produit en environnement de d‚veloppement ou de recette.
Pistes étudiées :
1/ Une exception non g‚r‚e dans l'application J2EE. -> il faudrait pour chaque bloque Try Catch, faire un catch de toutes les exceptions.
2/ Un oubli de valorisation du code retour envoy‚ … Dollar Universe.
3/ Conflit lors d'un multiThread.
4/ ProblŠme r‚seau
5/ ProblŠme serveur
6/ ....
Merci d'avance pour vos r‚ponses.
Ci-joint quelques logs obtenus lors des plantages décrit précédemment :
Exemple 1 :
[ 2009-10-01 06:23:48,328] DEBUG - FRGVMIN : debut du traitement Lancement du thread avec le fichier : D:/temp/frgvmin0 Lancement du thread avec le fichier : D:/temp/frgvmin2 Lancement du thread avec le fichier : D:/temp/frgvmin1 Lancement du thread avec le fichier : D:/temp/frgvmin3 debut frgvmin : 6:23 debut frgvmin : 6:23 debut frgvmin : 6:23 debut frgvmin : 6:23
---------------------------
UNE ERREUR A ETE RENCONTREE
CODE RETOUR = -1073741819
---------------------------
WWMDLAN005 : Procedure terminee en erreur !!!
Invalid value for RESEXE variable
Log du traitement incidenté :
Exemple 2 :
[2009-09-17 06:23:07,750] DEBUG - FRGVMIN : debut du traitement
Lancement du thread avec le fichier : D:/temp/frgvmin0
Lancement du thread avec le fichier : D:/temp/frgvmin1
Lancement du thread avec le fichier : D:/temp/frgvmin3
Lancement du thread avec le fichier : D:/temp/frgvmin2
debut frgvmin : 6:23
debut frgvmin : 6:23
debut frgvmin : 6:23
debut frgvmin : 6:23
---------------------------
UNE ERREUR A ETE RENCONTREE
CODE RETOUR = 143
---------------------------
WWMDLAN005 : Procedure terminee en erreur !!!
---------------------------------------------------------------
REPONSE des MAINTENANCES
--------------------------------------------------------------