Projet

Général

Profil

Tâche #11468

Scénario #11288: Résoudre les problèmes d'instabilité constatés sur Zéphir 2.3.16

corriger les problèmes d'accès concurrents apparaissant dans les logs du backend (objets creole 2.3)

Ajouté par Bruno Boiget il y a environ 9 ans. Mis à jour il y a environ 9 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Début:
30/04/2015
Echéance:
% réalisé:

100%

Temps estimé:
1.00 h
Temps passé:
Restant à faire (heures):
0.0

Description

des messages de ce type peuvent apparaître dans les logs (création en parallèle de 2 objets EoleDict ?) :

Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011Traceback (most recent call last):
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011  File "/usr/lib/python2.6/threading.py", line 504, in __bootstrap
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011    self.__bootstrap_inner()
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011  File "/usr/lib/python2.6/threading.py", line 532, in __bootstrap_inner
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011    self.run()
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011  File "/usr/lib/python2.6/threading.py", line 484, in run
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011    self.__target(*self.__args, **self.__kwargs)
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011--- <exception caught here> ---
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011  File "/usr/lib/python2.6/dist-packages/twisted/python/threadpool.py", line 210, in _worker
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011    result = context.call(ctx, function, *args, **kwargs)
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011  File "/usr/lib/python2.6/dist-packages/twisted/python/context.py", line 59, in callWithContext
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011    return self.currentContext().callWithContext(ctx, func, *args, **kw)
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011  File "/usr/lib/python2.6/dist-packages/twisted/python/context.py", line 37, in callWithContext
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011    return func(*args,**kw)
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011  File "/usr/lib/python2.6/dist-packages/zephir/backend/uucp_rpc.py", line 1250, in _maj_site
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011    serv.check_maj_status(self.parent.maj_checker)
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011  File "/usr/lib/python2.6/dist-packages/zephir/backend/lib_backend.py", line 1096, in check_maj_status
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011    dico = self.parsedico()
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011  File "/usr/lib/python2.6/dist-packages/zephir/backend/lib_backend.py", line 578, in parsedico
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011    dico = self.get_config(mode, encode)
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011  File "/usr/lib/python2.6/dist-packages/zephir/backend/lib_backend.py", line 476, in get_config
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011    dico = self.check_dict(mode, encode)
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011  File "/usr/lib/python2.6/dist-packages/zephir/backend/lib_backend.py", line 536, in check_dict
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011    dico = ZephirDict(dicos, self.confdir, mode, self.version, force_instanciate, eole_version=self.module_version)
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011  File "/usr/lib/python2.6/dist-packages/zephir/utils/creolewrap.py", line 139, in __init__
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011    self.dico = EDict(logfile='/dev/null')
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011  File "/usr/lib/pymodules/python2.6/creole/cfgparser.py", line 75, in __init__
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011    self.log.set_logfile(logfile)
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011  File "/usr/lib/pymodules/python2.6/creole/log.py", line 20, in set_logfile
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011    self.remove_handler()
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011  File "/usr/lib/pymodules/python2.6/creole/log.py", line 38, in remove_handler
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011    self.handler.close()
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011  File "/usr/lib/python2.6/logging/__init__.py", line 828, in close
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011    self.stream.close()
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011exceptions.IOError: close() called during concurrent operation on the same file object.
Apr  6 06:26:30 pne-eole-01 zephir_backend: [HTTPChannel,304,10.33.0.5] Traceback (most recent call last):
Apr  6 06:26:30 pne-eole-01 zephir_backend: [HTTPChannel,304,10.33.0.5]   File "/usr/lib/python2.6/logging/__init__.py", line 789, in emit
Apr  6 06:26:30 pne-eole-01 zephir_backend: [HTTPChannel,304,10.33.0.5]     stream.write(fs % msg)
Apr  6 06:26:30 pne-eole-01 zephir_backend: [HTTPChannel,304,10.33.0.5] ValueError: I/O operation on closed file

Le problème semble se situer sur la mise en place du fichier de log des objets creole (2.0 -> 2.3). Sur Zéphir, ces logs sont redirigés sur /dev/null.

Révisions associées

Révision f3e2985f (diff)
Ajouté par Bruno Boiget il y a environ 9 ans

Création des objets creole 2.3 en mode 'NOLOG'

ref #11468 @30m

Révision 9fc0b48b (diff)
Ajouté par Bruno Boiget il y a environ 9 ans

Ajout d'une dépendance sur la version de creole 2.3 gérant l'option 'NOLOG'

ref #11468 @5m

Historique

#1 Mis à jour par Bruno Boiget il y a environ 9 ans

  • Statut changé de Nouveau à En cours

#2 Mis à jour par Scrum Master il y a environ 9 ans

  • Statut changé de En cours à Résolu

#3 Mis à jour par Bruno Boiget il y a environ 9 ans

  • % réalisé changé de 0 à 100

#4 Mis à jour par Joël Cuissinat il y a environ 9 ans

  • Statut changé de Résolu à Fermé
  • Restant à faire (heures) changé de 1.0 à 0.0

Formats disponibles : Atom PDF