Simplicite 5.0 upgrade

Dans les logs je vois ça un peu avant l’erreur PG :

ALTER TABLE m_field ALTER COLUMN fld_precision TYPE varchar(50)

Il semble manquer dans les patch upgradedb, du coup il passe quand l’attribut XML est modifié.

OK je vais l’ajouter au niveau SQL et refaire le test d’upgrade sur PostgreSQL

l’ALTER en question a été ajouté dans les patches SQL et le code du delete cascade a été rendu plus robuste. L’image release 5 (tag 5-latest) a été rebuildée et poussée.

L’erreur PostgreSQL “ERROR: cached plan must not change result type” ainsi que les erreurs parasite de delete cascade ne se produisent plus.

Il demeure malgré tout des erreurs sur l’import des fichiers joints des ressources, qui aboutissent toujours au résultat des ressources non trouvées. Nous poursuivons l’investigation de ce point.

Le workaround décrit plus haut reste valable.

La version release mineure 5.0.3 (disponible dans l’image 5-latest) corrige ce pb de migration d’une 4.0 à jour vers une 5.0 à jour sur PostgreSQL

NB : Si vous ne pouvez pas restaurer votre instance dans son état initial 4.0 à jour, vous devrez appliquer le workround indiqué.

Bonjour, Merci de votre support
Pouvez vous me dire ou puis-je trouver le workround à appliquer?

J’ai indiqué le workaround dans une réponse précédente

Pour recréer ces ressources perdues de la UI j’ai réimporté via /io?service=xmlmport le module UI :

UI.xml (67.9 KB)

Puis j’ai forcé un clear cache, via /io?service=clearcache

1 Like

PS: pour vos prochains upgrades 4.0 à jour => 5.0 à jour (i.e >=5.0.3), s’il vous en reste encore à faire, il n’y aura plus de pb et donc pas de workaround à appliquer

Je viens d’appliquer le workaround, j’ai récupéré mon environnement :slight_smile:

En vérifiant le health, je suis à la version 5 sans avoir à redéployer pour une nouvelle image Docker

Il y a cependant des message d’erreur qui stipulent qu’on arrive pas à trouver les classses des différents business objects

``2021-01-18 10:47:17,362 ERROR [com.simplicite.util.engine.CoreCache] SIMPLICITE|http://a0f81c1c0938:8080||ERROR|designer|com.simplicite.util.engine.CoreCache|instantiateObject||Event: Class not found for SitesDataQuality: checks definition and script compilation.

2021-01-18 10:47:08,649 ERROR [com.simplicite.util.engine.CoreCache] SIMPLICITE|http://a0f81c1c0938:8080||ERROR|designer|com.simplicite.util.engine.CoreCache|instantiateObject||Event: Class not found for SitesCountry: checks definition and script compilation.

2021-01-18 10:47:08,644 ERROR [com.simplicite.util.engine.CoreCache] SIMPLICITE|http://a0f81c1c0938:8080||ERROR|designer|com.simplicite.util.engine.CoreCache|instantiateObject||Event: Class not found for SitesCity: checks definition and script compilation.

2021-01-18 10:47:08,111 ERROR [com.simplicite.util.engine.CoreCache] SIMPLICITE|http://a0f81c1c0938:8080||ERROR|designer|com.simplicite.util.engine.CoreCache|instantiateObject||Event: Class not found for SitesAssignment: checks definition and script compilation.

2021-01-18 10:47:07,993 ERROR [com.simplicite.util.engine.CoreCache] SIMPLICITE|http://a0f81c1c0938:8080||ERROR|designer|com.simplicite.util.engine.CoreCache|instantiateObject||Event: Class not found for SitesAssignmentHistoric: checks definition and script compilation.

2021-01-18 10:47:07,988 ERROR [com.simplicite.util.engine.CoreCache] SIMPLICITE|http://a0f81c1c0938:8080||ERROR|designer|com.simplicite.util.engine.CoreCache|instantiateObject||Event: Class not found for SitesAccessPointHistoric: checks definition and script compilation.

2021-01-18 10:47:07,983 ERROR [com.simplicite.util.engine.CoreCache] SIMPLICITE|http://a0f81c1c0938:8080||ERROR|designer|com.simplicite.util.engine.CoreCache|instantiateObject||Event: Class not found for SitesAccessPoint: checks definition and script compilation.

2021-01-18 10:47:07,978 ERROR [com.simplicite.util.engine.CoreCache] SIMPLICITE|http://a0f81c1c0938:8080||ERROR|designer|com.simplicite.util.engine.CoreCache|instantiateObject||Event: Class not found for SitesRealEstateProperty: checks definition and script compilation.

2021-01-18 10:47:07,882 ERROR [com.simplicite.util.engine.CoreCache] SIMPLICITE|http://a0f81c1c0938:8080||ERROR|designer|com.simplicite.util.engine.CoreCache|instantiateObject||Event: Class not found for SitesSiteGroupingAssignment: checks definition and script compilation.

2021-01-18 10:47:07,877 ERROR [com.simplicite.util.engine.CoreCache] SIMPLICITE|http://a0f81c1c0938:8080||ERROR|designer|com.simplicite.util.engine.CoreCache|instantiateObject||Event: Class not found for SitesRealEstateAssetIdentifierValue: checks definition and script compilation.

2021-01-18 10:47:07,784 ERROR [com.simplicite.util.engine.CoreCache] SIMPLICITE|http://a0f81c1c0938:8080||ERROR|designer|com.simplicite.util.engine.CoreCache|instantiateObject||Event: Class not found for SitesRealEstateAssetIdentifierValueHistoric: checks definition and script compilation.

2021-01-18 10:47:07,778 ERROR [com.simplicite.util.engine.CoreCache] SIMPLICITE|http://a0f81c1c0938:8080||ERROR|designer|com.simplicite.util.engine.CoreCache|instantiateObject||Event: Class not found for SitesDocument: checks definition and script compilation.

2021-01-18 10:47:07,696 ERROR [com.simplicite.util.engine.CoreCache] SIMPLICITE|http://a0f81c1c0938:8080||ERROR|designer|com.simplicite.util.engine.CoreCache|instantiateObject||Event: Class not found for SitesResLob: checks definition and script compilation.

2021-01-18 10:47:07,398 ERROR [com.simplicite.util.engine.CoreCache] SIMPLICITE|http://a0f81c1c0938:8080||ERROR|designer|com.simplicite.util.engine.CoreCache|instantiateObject||Event: Class not found for SitesRealEstateSite: checks definition and script compilation.

2021-01-18 10:47:07,397 ERROR [com.simplicite.util.engine.CoreCache] SIMPLICITE|http://a0f81c1c0938:8080||ERROR|designer|com.simplicite.util.engine.CoreCache|instantiateObject||Event: Class not found for SitesRealEstateSite: checks definition and script compilation.

2021-01-18 10:47:07,397 ERROR [com.simplicite.util.engine.CoreCache] SIMPLICITE|http://a0f81c1c0938:8080||ERROR|designer|com.simplicite.util.engine.CoreCache|instantiateObject||Event: Class not found for SitesRealEstateSite: checks definition and script compilation.

2021-01-18 10:47:07,396 ERROR [com.simplicite.util.engine.CoreCache] SIMPLICITE|http://a0f81c1c0938:8080||ERROR|designer|com.simplicite.util.engine.CoreCache|instantiateObject||Event: Class not found for SitesRealEstateSite: checks definition and script compilation.``

y a t-il une explication à ceci?

D’avance Merci!

Oui le workaround indiqué marchait déjà sur la 5.0.0. Il faudrait quand même mettre à jour l’image pour être en 5.0.3 car il y a eu d’autres corrections depuis la 5.0.0

Les message d’erreur de compilation doivent sans doute être liés à des changements dans les APIs Java (ex: des deprecated V4 qui ont été supprimés en V5). Il faudrait aller dans l’éditeur de code, ouvrir un des source Java, y faire un changement mineur (ex modifier un commentaire) et faire “Save” cela relancera la compilation et ça affichera les éventuelles erreurs de compilation.

Oui c’est parfait Merci !

Je constate une lenteur quand je fais un clear cache, suivie par le message d’erreur suivant:

2021-01-18 12:50:42,959 ERROR [com.simplicite.util.ScriptedPlatformHooks] SIMPLICITE|http://c2d15e486b58:8080||ERROR|system|com.simplicite.util.ScriptedPlatformHooks|callMethod (customStartPage)||Event: [1]
    java.lang.NoSuchMethodException: com.simplicite.commons.RenaultSites.GrantHooks.customStartPage(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
     at java.base/java.lang.Class.getMethod(Class.java:2122)
     at com.simplicite.util.ScriptedPlatformHooks.callMethod(ScriptedPlatformHooks.java:307)
     at com.simplicite.util.ScriptedPlatformHooks.customStartPage(ScriptedPlatformHooks.java:352)
     at com.simplicite.webapp.servlets.ui.MainPublicServlet.service(MainPublicServlet.java:141)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
     at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
     at com.simplicite.webapp.filters.RewriteFilter.doFilter(RewriteFilter.java:86)
     at com.simplicite.webapp.filters.AbstractFilter.doFilter(AbstractFilter.java:37)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
     at com.simplicite.webapp.filters.HTTPHeadersFilter.doFilter(HTTPHeadersFilter.java:39)
     at com.simplicite.webapp.filters.AbstractFilter.doFilter(AbstractFilter.java:37)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:188)
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
     at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
     at com.simplicite.tomcat.valves.APISessionValve.invoke(APISessionValve.java:192)
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
     at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
     at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
     at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
     at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:888)
     at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1597)
     at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
     at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
     at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
     at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
     at java.base/java.lang.Thread.run(Thread.java:832)

Cf. la release note à la section “Compatibility breaking changes”: Simplicité® 5/releasenote/releasenote-5.0

En V5 GrantHooks doit être refactoré en PlatformHooks. La différence principale est que PlatfomHooks est un singleton et que ses hooks ne sont donc plus des méthodes statics (qui posaient parfois des pbs complexes au class loader dynamique).

Bonjour,

Quand je me connecte à mon environnement, une alerte s’affiche:

cette alerte disparait “momentannément” quand je clique sur ok mais réapparait assez souvent.

Auriez vous une explication à ceci?

D’avance Merci :slight_smile:

Non aucun raison connue pour un 403 de ce type => il faudrait regarder le logs serveurs et/ou la console du navigateur et l’onglet “Network” en particulier pour voir quel(s) appel(s) HTTP fini(ssent) en 403

Sans ces éléments minimaux on n’a aucun élément pour comprendre ce qui se passe…

voilà ce qui est affiché au niveau Console

Ok ce sont des appels sur l’objet WebNews => il faudrait vérifier ses habilitations pour le user connecté dans le scope considéré vs les items présents sur la page d’accueil, etc.

“out of the box” cet objet est habilité en lecture via le groupe WEB_USER qui est dans divers profiles

Ce qui n’est pas normal si c’est un pb de droits c’est que ces requêtes se fassent alors que le user n’a pas les droits sur cet objet… on va regarder ça de plus près.

PS: “out of the box” le shortcut “News” est lui aussi associé au groupe WEB_USER or c’est sans doute lui qui induit ces appels (en mode menu et/ou en page d’accueil) => vérifiez les droits sur ce raccourci dans votre cas

J’ai fait le test de retirer tous les droits directs ou indirects sur WEB_USER à l’utilisateur designer et je ne vois plus d’appels à WebNews.

Les news sont invoquées par la UI au logon (pour afficher d’éventuels message popup), ou pour afficher un compteur au niveau du raccourci sur la page d’accueil, ou en barre de défilement en bas de page.

Il faudrait qu’on renforce peut-être les catch d’erreur sur ces requêtes en simple log dans la console pour éviter ce popup. Mais bon normalement la UI vérifie les droits de lecture sur les news avant de faire les appels.

Je n’ai pas réussi à reproduire le pb sur une 5.0 “out of the box”: soit on a les droits sur WebNews et le raccourci News (i.e. ce qu’il y a dans le groupe WEB_USER) et tout va bien, soit on a pas ces droits et tout va bien aussi (mais sans les news).

Je pense qu’on doit être ici dans un “entre deux” à préciser…

Bonjour,

Maintenant que j’ai effectué les changements nécessaires suivant la section “Compatibility breaking changes”: Simplicité® 5/releasenote/releasenote-5.0

Plus aucun message d’erreur ne s’affiche au niveau des logs.

Cependant, deux problèmes persistent:

  • Une lenteur quand je fais un clear cache (et d’ailleurs, quand je clique sur “Clear all sessions and all server caches (c)” voilà comment la partie inférieure devient noire:

"

puis il faudra attendre environ 30 secondes pour me reconnecter

  • L’alerte qui s’affiche à la connexion

Y a t-il des actions à effectuer de mon cote?

Merci de votre support.

Ce comportement n’est pas normal.

Un clear cache global est sensé ne prendre que quelques secondes (entre 5 et 10s en général sur une infra raisonnablement dimensionnée/chargée) => ce qui est le plus long dans l’opération c’est la recompilation des sources java spécifiques, donc plus il y en a, plus c’est long, mais dans tous les cas 30s ça me semble énorme.

Le 405 qui finit par s’afficher est sans doute lié à cette lenteur qui finit quelque part par un timeout.

@Francois les logs remontées dans la page de clear cache utilisent aussi les websockets ? Si oui il faudrait voir ce qui se passe quand l’infra ne les laisse pas (bien) passer (ç’est parfois le cas) et/ou quand celles-ci sont globalement inhibées (démarrage avec -Dserver.websocket=false et/ou le param système USE_WEBSOCKET_LOGS à no y compris pour designer). Peut être une attente qui finit en timeout ?

PS: faites le test d’un clearcache sur le endpoint I/o (/io?service=clearcache) pour voir combien de temps ça prend via cette interface de service qui n’est pas impacté par d’éventuels pbs de remontées de logs