Projet

Général

Profil

Bug #58403

multiplication de sync-ldap-users

Ajouté par Frédéric Péters il y a plus de 2 ans. Mis à jour il y a plus de 2 ans.

Statut:
Nouveau
Priorité:
Normal
Assigné à:
-
Catégorie:
-
Version cible:
-
Début:
05 novembre 2021
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

Description

Il doit manquer une gestion d'un timeout et/ou un lock pour ne pas avoir plusieurs jobs en même temps, parce que là :

$ ps ax | grep sync-ldap
  400 ?        Ss     0:00 /bin/sh -c authentic2-multitenant-manage tenant_command sync-ldap-users --all-tenants
  403 ?        S      0:00 /bin/sh /usr/bin/authentic2-multitenant-manage tenant_command sync-ldap-users --all-tenants
  407 ?        Sl     0:15 python3 /usr/lib/authentic2/manage.py tenant_command sync-ldap-users --all-tenants
 1167 ?        Ss     0:00 /bin/sh -c authentic2-multitenant-manage tenant_command sync-ldap-users --all-tenants
 1171 ?        S      0:00 /bin/sh /usr/bin/authentic2-multitenant-manage tenant_command sync-ldap-users --all-tenants
 1177 ?        Sl     0:10 python3 /usr/lib/authentic2/manage.py tenant_command sync-ldap-users --all-tenants
 4398 ?        Ss     0:00 /bin/sh -c authentic2-multitenant-manage tenant_command sync-ldap-users --all-tenants
 4399 ?        S      0:00 /bin/sh /usr/bin/authentic2-multitenant-manage tenant_command sync-ldap-users --all-tenants
 4406 ?        Sl     0:09 python3 /usr/lib/authentic2/manage.py tenant_command sync-ldap-users --all-tenants
 4481 ?        Ss     0:00 /bin/sh -c authentic2-multitenant-manage tenant_command sync-ldap-users --all-tenants
 4485 ?        S      0:00 /bin/sh /usr/bin/authentic2-multitenant-manage tenant_command sync-ldap-users --all-tenants
 4493 ?        Sl     0:15 python3 /usr/lib/authentic2/manage.py tenant_command sync-ldap-users --all-tenants
 7649 ?        Ss     0:00 /bin/sh -c authentic2-multitenant-manage tenant_command sync-ldap-users --all-tenants
 7652 ?        S      0:00 /bin/sh /usr/bin/authentic2-multitenant-manage tenant_command sync-ldap-users --all-tenants
 7657 ?        Sl     0:08 python3 /usr/lib/authentic2/manage.py tenant_command sync-ldap-users --all-tenants
 7706 ?        Ss     0:00 /bin/sh -c authentic2-multitenant-manage tenant_command sync-ldap-users --all-tenants
 7709 ?        S      0:00 /bin/sh /usr/bin/authentic2-multitenant-manage tenant_command sync-ldap-users --all-tenants
 7714 ?        Sl     0:14 python3 /usr/lib/authentic2/manage.py tenant_command sync-ldap-users --all-tenants
10785 ?        Ss     0:00 /bin/sh -c authentic2-multitenant-manage tenant_command sync-ldap-users --all-tenants
10789 ?        S      0:00 /bin/sh /usr/bin/authentic2-multitenant-manage tenant_command sync-ldap-users --all-tenants
10796 ?        Sl     0:08 python3 /usr/lib/authentic2/manage.py tenant_command sync-ldap-users --all-tenants
10909 ?        Ss     0:00 /bin/sh -c authentic2-multitenant-manage tenant_command sync-ldap-users --all-tenants
10912 ?        S      0:00 /bin/sh /usr/bin/authentic2-multitenant-manage tenant_command sync-ldap-users --all-tenants
10918 ?        Sl     0:14 python3 /usr/lib/authentic2/manage.py tenant_command sync-ldap-users --all-tenants
14147 ?        Ss     0:00 /bin/sh -c authentic2-multitenant-manage tenant_command sync-ldap-users --all-tenants
14150 ?        S      0:00 /bin/sh /usr/bin/authentic2-multitenant-manage tenant_command sync-ldap-users --all-tenants
14162 ?        Sl     0:13 python3 /usr/lib/authentic2/manage.py tenant_command sync-ldap-users --all-tenants
14234 ?        Ss     0:00 /bin/sh -c authentic2-multitenant-manage tenant_command sync-ldap-users --all-tenants
14238 ?        S      0:00 /bin/sh /usr/bin/authentic2-multitenant-manage tenant_command sync-ldap-users --all-tenants
14242 ?        Sl     0:07 python3 /usr/lib/authentic2/manage.py tenant_command sync-ldap-users --all-tenants
17373 ?        Ss     0:00 /bin/sh -c authentic2-multitenant-manage tenant_command sync-ldap-users --all-tenants
17376 ?        S      0:00 /bin/sh /usr/bin/authentic2-multitenant-manage tenant_command sync-ldap-users --all-tenants
17384 ?        Sl     0:13 python3 /usr/lib/authentic2/manage.py tenant_command sync-ldap-users --all-tenants
17481 ?        Ss     0:00 /bin/sh -c authentic2-multitenant-manage tenant_command sync-ldap-users --all-tenants
17485 ?        S      0:00 /bin/sh /usr/bin/authentic2-multitenant-manage tenant_command sync-ldap-users --all-tenants
17491 ?        Sl     0:07 python3 /usr/lib/authentic2/manage.py tenant_command sync-ldap-users --all-tenants
20602 ?        Ss     0:00 /bin/sh -c authentic2-multitenant-manage tenant_command sync-ldap-users --all-tenants
20604 ?        S      0:00 /bin/sh /usr/bin/authentic2-multitenant-manage tenant_command sync-ldap-users --all-tenants
20610 ?        Sl     0:12 python3 /usr/lib/authentic2/manage.py tenant_command sync-ldap-users --all-tenants
21535 ?        Ss     0:00 /bin/sh -c authentic2-multitenant-manage tenant_command sync-ldap-users --all-tenants
21541 ?        S      0:00 /bin/sh /usr/bin/authentic2-multitenant-manage tenant_command sync-ldap-users --all-tenants
21546 ?        Sl     0:07 python3 /usr/lib/authentic2/manage.py tenant_command sync-ldap-users --all-tenants
23684 pts/0    S+     0:00 grep --color=auto sync-ldap
23853 ?        Ss     0:00 /bin/sh -c authentic2-multitenant-manage tenant_command sync-ldap-users --all-tenants
23857 ?        S      0:00 /bin/sh /usr/bin/authentic2-multitenant-manage tenant_command sync-ldap-users --all-tenants
23863 ?        Sl     0:11 python3 /usr/lib/authentic2/manage.py tenant_command sync-ldap-users --all-tenants
27083 ?        Ss     0:00 /bin/sh -c authentic2-multitenant-manage tenant_command sync-ldap-users --all-tenants
27087 ?        S      0:00 /bin/sh /usr/bin/authentic2-multitenant-manage tenant_command sync-ldap-users --all-tenants
27092 ?        Sl     0:11 python3 /usr/lib/authentic2/manage.py tenant_command sync-ldap-users --all-tenants
29623 ?        Ss     0:00 /bin/sh -c authentic2-multitenant-manage tenant_command sync-ldap-users --all-tenants
29625 ?        S      0:00 /bin/sh /usr/bin/authentic2-multitenant-manage tenant_command sync-ldap-users --all-tenants
29631 ?        Sl     0:16 python3 /usr/lib/authentic2/manage.py tenant_command sync-ldap-users --all-tenants
30354 ?        Ss     0:00 /bin/sh -c authentic2-multitenant-manage tenant_command sync-ldap-users --all-tenants
30356 ?        S      0:00 /bin/sh /usr/bin/authentic2-multitenant-manage tenant_command sync-ldap-users --all-tenants
30361 ?        Sl     0:10 python3 /usr/lib/authentic2/manage.py tenant_command sync-ldap-users --all-tenants

Demandes liées

Lié à Hobo - Development #58427: multitenant : classe de commande de base limitant l’exécution concurrentielle de la commandeRejeté05 novembre 2021

Actions
Lié à Publik - Development #58466: activation provisionning HTTP par défautFermé08 novembre 2021

Actions

Historique

#2

Mis à jour par Paul Marillonnet il y a plus de 2 ans

J’imagine que cela pourrait aussi se produire pour d’autre commandes (clean-unused-accounts, deactivate-orphaned-ldap-users entre autres).
Je remarque à l’occasion que le comportement de check-and-repair et différent, la commande itère sur les tenants un à un en assurant l’atomicité à chaque fois.

Peut-être serait-ce l’occasion de fournir dans hobo la base de commandes qui (A) doivent acquérir un verrou global à tous les tenants, ou bien carrément, façon check-and-repair, qui (B) ne peuvent pas s’exécuter de façon concurrentielle ?

#3

Mis à jour par Paul Marillonnet il y a plus de 2 ans

  • Lié à Development #58427: multitenant : classe de commande de base limitant l’exécution concurrentielle de la commande ajouté
#4

Mis à jour par Paul Marillonnet il y a plus de 2 ans

La conclusion de la discussion de vive voix à ce sujet était l’activation du provisionning HTTP par défaut. Cela n’empêche pas qu’on pourrait corriger la commande pour que la situation ne se reproduise pas à l’avenir sur un Publik dont le provisionning ne serait pas encore en HTTP. Je regarde.

#5

Mis à jour par Paul Marillonnet il y a plus de 2 ans

Formats disponibles : Atom PDF