Instance bcsi.renault.simplicite.io en carafe pendant plusieurs minutes lors des clear cache

Bonjour,
Je prépare l’upgrade 4->5 de l’instance https://bcsi.renault.simplicite.io (je teste nos modules progressivement sur une nouvelle instance temporaire bcsidev.renault.simplicite.io initialisée en 5.1.2).

Dans notre ancienne configuration il y a(vait) une disposition ‘bcsi’ configurée initialement sur la 3.2 en 2017 et des paramètres de disposition qui ne passent pas l’import et que j’ai supprimée.

J’ai aussi configuré un thème ‘renault’ qui porte la nouvelle identité de marque ‘Renault Group’ (divers SVG associés au thème ou comme Resources).

J’ai l’impression que depuis que j’ai effectué ces ajustements, les clear cache prennent plusieurs minutes… Je n’arrive pas à déterminer pourquoi.

Cela peut-il être lié aux modifications évoquées ci-dessus ?

Voici un extrait des logs système au moment du clear cache:

2021-09-27 14:26:42,900 INFO [com.simplicite.webapp.filters.AuthMethodFilter] SIMPLICITE|http://renault.simplicite.io:10028||DAUTHCS001|system|com.simplicite.webapp.filters.AuthMethodFilter|methodOAuth2||Debug authentification: OAuth2 requested URI = [/ui]
2021-09-27 14:26:32,105 INFO [com.simplicite.webapp.filters.AuthMethodFilter] SIMPLICITE|http://renault.simplicite.io:10028||DAUTHCS001|system|com.simplicite.webapp.filters.AuthMethodFilter|methodOAuth2||Debug authentification: OAuth2 requested URI = [/ui/logs]
2021-09-27 14:24:30,735 INFO [com.simplicite.util.engine.CoreCache] SIMPLICITE|http://renault.simplicite.io:10028||INFO|system|com.simplicite.util.engine.CoreCache|initProcessCache||Evénement: PROCESS_CACHE_SIZE=10000
2021-09-27 14:24:30,734 INFO [com.simplicite.util.engine.CoreCache] SIMPLICITE|http://renault.simplicite.io:10028||INFO|system|com.simplicite.util.engine.CoreCache|initObjectCache||Evénement: OBJECT_CACHE_SIZE=10000
2021-09-27 14:24:30,725 INFO [com.simplicite.util.engine.GrantManager] SIMPLICITE|http://renault.simplicite.io:10028||INFO|system|com.simplicite.util.engine.GrantManager|clearCache||Evénement: Reload core cache...
2021-09-27 14:24:21,760 INFO [com.simplicite.util.Grant] SIMPLICITE|http://renault.simplicite.io:10028||ICORED0001|public|com.simplicite.util.Grant|init||Info: public connected, session ID: FCF4D265165680424BAB64C080D78EBB, timeout: 5 min , user agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36
2021-09-27 14:24:21,639 WARN [com.simplicite.util.Grant] SIMPLICITE|http://renault.simplicite.io:10028||WCORED0001|system|com.simplicite.util.Grant|getDisposition||Avertissement: Unable to get disposition empty
2021-09-27 14:24:21,624 WARN [com.simplicite.util.Grant] SIMPLICITE|http://renault.simplicite.io:10028||WCORED0001|system|com.simplicite.util.Grant|getDisposition||Avertissement: Unable to get disposition empty
2021-09-27 14:24:21,605 INFO [com.simplicite.webapp.filters.AuthMethodFilter] SIMPLICITE|http://renault.simplicite.io:10028||DAUTHCS001|system|com.simplicite.webapp.filters.AuthMethodFilter|methodOAuth2||Debug authentification: OAuth2 requested URI = [/ui/logs]
2021-09-27 14:24:18,180 INFO [com.simplicite.util.engine.GrantManager] SIMPLICITE|http://renault.simplicite.io:10028||INFO|system|com.simplicite.util.engine.GrantManager|clearCache||Evénement: Compile resources CSS and JS...
2021-09-27 14:24:18,169 INFO [com.simplicite.util.engine.GrantManager] SIMPLICITE|http://renault.simplicite.io:10028||INFO|system|com.simplicite.util.engine.GrantManager|clearCache||Evénement: Clean ObjectLoader and ObjectManager cache...

NB: le message ‘Unable to get disposition empty’ était je crois déjà présent avant que je n’applique les modifications…

Déjà la notion de disposition, depuis la version 4, ne doit plus être utilisée quand on utilise la UI responsive standard.

Elle ne sert plus que lorsqu’on souhaite fabriquer une interface utilisateur totalement spécifique tout en étant au sein de la session UI.

En version 4 et 5 la UI standard se customise (logos, styles, etc.) désormais via la notion de thème.

PS: C’était différent en 3.x où les notions de disposition et de thème étaient mélangées

Ok, c’est clair de mon côté… je nettoie ce que je peux si je pense qu’il n’y a pas d’impact en aval…
J’ai encore deux dispositions dans ma conf qui ne portent que des ressources :

  • default (issue de la conf std Simplicité)
  • responsive (je ne sais plus si elle vient de la conf std ou si on l’avait ajoutée avec Zouhair qd on est passé en v4 responsive)

Je préfère ne pas toucher à celles-là pour l’instant…

D’ailleurs, la disposition responsive porte des ressources utilisées pour notre site “front” (à base de bootstrap, sans session UI) ou pour des objets externes ou composants de vues spécifiques (dans le cadre d’une session UI) donc ça correspond à ce que tu évoques a priori…

J’ai constaté avec l’équipe que depuis que j’ai installé le nouveau thème, les clear cache sur notre instance interne prennent aussi plusieurs minutes (mini 5 et jusqu’à 10)… j’ai changé tous les logos en prenant les SVG de notre BRANDHUB (pourtant, ils sont tout petits)… le fait d’avoir pris des SVG et pas des PNG peut-il expliquer les temps de clear cache longs ?

Voilà le thème en question (associé à 21 pages d’accueil) : KISS - RCM

La disposition default est historique, elle correspondait à la disposition UI standard legacy (des version 3.x, elle avait été conservée en 4.0 pour la transition 3.x vers 4)

La disposition de la UI 4.0 et 5 c’est responsive (et en 5 default renvoie sur responsive).

En tout état de cause, quand on utilise uniquement la UI standard, il ne faut plus rien faire du coté de la disposition mais uniquement paramétrer des thèmes pour en customiser ce qui est légitime de customiser (logos, styles, …)

Une disposition spécifique est quelque chose de complexe à réserver à des besoins pointus d’IHM totalement “sur mesure”.

Les styles d’un thème se compilent effectivement au clear cache, il n’y a pas de raison que ça prenne des minutes (plutôt moins d’une seconde), mais je ne maitrise pas l’impact que peuvent avoir des images/icones custom sur ce processus de compilation de thème… elles sont bien livrées sous forme d’un “set” (= une unique ressource ZIP) ?

Non, en fait je les ai ajoutées manuellement via les boutons “modifier” / “sélection de fichier”

Alors je viens de constater un autre symptôme : lorsque je réenregistre le code renault.less (code du thème ‘renault’) qui ne contient que deux lignes, le save prend plusieurs minutes avant de rendre la main… (idem instance simplicite.io ou instance interne)

Une compilation du LESS d’un thème surtout s’il n’a que qques lignes ne devrait jamais prendre plus d’une seconde.

Je ne sais pas dire quel impact pourraient avoir des ressources d’images/icones livrées autrement que sous forme d’un “set”. @Francois, un avis sur ce point ?

Je vois que votre serveur renault.simplicite.io est à 100% de CPU:

Je viens de relancer un clear cache (il y a ~5 minutes)

Visiblement c’est l’instance prsdev qui est en boucle…

Il doit y avoir une boucle infinie ou un truc dans le genre sur cette instance.
Du coup les temps de réponse de ce qui tourne par ailleurs sur ce serveur ne sont pas significatifs

C’est normal qu’il y ait plusieurs process pour le user bcsi ? Ne devrait-il pas y en avoir qu’un ? (à moins que ça ne soit lié aux différents threads de l’instance?)

Ce sont des threads, pas des processus. Je ne suis pas un expert en lecture du htop mais il n’y a bien qu’un seul processus Java pour bcsi

Clairement le pb c’est sur l’instance prsdev qui consomme 100% de la puissance de la VM.
Peut on arrêter cette instance ?

Bon je l’ai arrêtée et redémarrée car de toute façon elle était en “out of memory exception”…

Pour le moment le CPU est revenu à un niveau normal mais les gens en charge de cette instance doivent regarder pourquoi elle est partie en vrille.

Avec un niveau de CPU normal, combien de temps prends ta compilation de thème ?

Je ne connais pas l’auteur… mais je pense que oui (aucune trace de login dans les logs depuis le dernier démarrage le 23/09)

ce n’est pas mieux…image

Mais l’enregistrement de ce code n’est pas une fin en soi et sert juste à révéler le pb…

Le save a commencé là:

2021-09-27 16:30:53,099 INFO [com.simplicite.objects.System.Theme] SIMPLICITE|http://renault.simplicite.io:10028||INFO|system|com.simplicite.objects.System.Theme|partialClearCache||Evénement: Partial clear cache for theme renault