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é.
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 moduleUI
:UI.xml (67.9 KB)
Puis j’ai forcé un clear cache, via
/io?service=clearcache
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
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 static
s (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
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…
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:
"
puis il faudra attendre environ 30 secondes pour me reconnecter
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