Simplicité devient inaccessible après quelques minutes d'inactivité

Request description

Bonjour,

Je débute avec le déploiement de Simplicité 5.3.6 sur AlmaLinux. Lorsque je fais un docker run, j’ai bien le conteneur qui tourne et l’application qui fonctionne. Du moins pendant un certain temps.
Après quelques minutes d’inactivité, l’application devient inaccessible bien le conteneur soit toujours actif.

Est-ce le comportement attendu ? Est-ce une configuration ?

Technical information

Simplicité logs
2023-06-26 07:49:38,968|SIMPLICITE|INFO||http://e4f58faca3d6:8080||ICORELI001|system|com.simplicite.util.tools.LicenseTool|isValid||License server is valid.

2023-06-26 07:49:39,665|SIMPLICITE|INFO||http://e4f58faca3d6:8080||INFO|system|com.simplicite.util.engine.CoreCleaner|cleaner||Event: GC: DynamicClassLoader@32e65852 has been removed from memory.
2023-06-26 07:50:00,068|SIMPLICITE|INFO||http://e4f58faca3d6:8080||ICORECM004|system|com.simplicite.util.CronJob|run||Execute job deadlockTimestamp at 2023-06-26 07:50:00
2023-06-26 07:50:00,085|SIMPLICITE|INFO||http://e4f58faca3d6:8080||ICORECM005|system|com.simplicite.util.CronJob|run||Result of job deadlockTimestamp : 0 object(s) unlocked.#INFO
2023-06-26 07:50:00,460|SIMPLICITE|INFO||http://e4f58faca3d6:8080||INFO|system|com.simplicite.util.engine.CronManager|run||Event: Next cron job: deadlockTimestamp at Mon Jun 26 07:55:00 UTC 2023
2023-06-26 07:50:00,461|SIMPLICITE|INFO||http://e4f58faca3d6:8080||INFO|system|com.simplicite.util.engine.CronManager|run||Event: Cron manager is sleeping for 0:04:59...
2023-06-26 07:50:00,469|SIMPLICITE|INFO||http://e4f58faca3d6:8080||ICORECM004|system|com.simplicite.util.CronJob|run||Execute job ObjectDynGC at 2023-06-26 07:50:00
2023-06-26 07:50:00,474|SIMPLICITE|INFO||http://e4f58faca3d6:8080||MEMGC|system|com.simplicite.util.tools.SystemTool|objectGC||Dyn=0 Full=0
2023-06-26 07:50:00,484|SIMPLICITE|INFO||http://e4f58faca3d6:8080||ICORECM005|system|com.simplicite.util.CronJob|run||Result of job ObjectDynGC : ObjectDynGC cleared 0 object(s) dynamic data.#INFO
2023-06-26 07:55:00,006|SIMPLICITE|INFO||http://e4f58faca3d6:8080||INFO|system|com.simplicite.util.engine.CronManager|run||Event: Next cron job: HealthCheck at Mon Jun 26 08:00:00 UTC 2023
2023-06-26 07:55:00,008|SIMPLICITE|INFO||http://e4f58faca3d6:8080||INFO|system|com.simplicite.util.engine.CronManager|run||Event: Next cron job: ImportXML at Mon Jun 26 08:00:00 UTC 2023
2023-06-26 07:55:00,009|SIMPLICITE|INFO||http://e4f58faca3d6:8080||INFO|system|com.simplicite.util.engine.CronManager|run||Event: Next cron job: deadlockTimestamp at Mon Jun 26 08:00:00 UTC 2023
2023-06-26 07:55:00,010|SIMPLICITE|INFO||http://e4f58faca3d6:8080||INFO|system|com.simplicite.util.engine.CronManager|run||Event: Next cron job: deadlineProcess at Mon Jun 26 08:00:00 UTC 2023
2023-06-26 07:55:00,010|SIMPLICITE|INFO||http://e4f58faca3d6:8080||ICORECM004|system|com.simplicite.util.CronJob|run||Execute job deadlockTimestamp at 2023-06-26 07:55:00
2023-06-26 07:55:00,010|SIMPLICITE|INFO||http://e4f58faca3d6:8080||INFO|system|com.simplicite.util.engine.CronManager|run||Event: Next cron job: ClearUserTokens at Mon Jun 26 08:00:00 UTC 2023
2023-06-26 07:55:00,013|SIMPLICITE|INFO||http://e4f58faca3d6:8080||ICORECM005|system|com.simplicite.util.CronJob|run||Result of job deadlockTimestamp : 0 object(s) unlocked.#INFO
2023-06-26 07:55:00,018|SIMPLICITE|INFO||http://e4f58faca3d6:8080||INFO|system|com.simplicite.util.engine.CronManager|run||Event: Next cron job: deadlineActivity at Mon Jun 26 08:00:00 UTC 2023
2023-06-26 07:55:00,019|SIMPLICITE|INFO||http://e4f58faca3d6:8080||INFO|system|com.simplicite.util.engine.CronManager|run||Event: Next cron job: deadlockActivity at Mon Jun 26 08:00:00 UTC 2023
2023-06-26 07:55:00,020|SIMPLICITE|INFO||http://e4f58faca3d6:8080||INFO|system|com.simplicite.util.engine.CronManager|run||Event: Next cron job: deadlineState at Mon Jun 26 08:00:00 UTC 2023
2023-06-26 07:55:00,021|SIMPLICITE|INFO||http://e4f58faca3d6:8080||INFO|system|com.simplicite.util.engine.CronManager|run||Event: Cron manager is sleeping for 0:04:59...
2023-06-26 08:00:01,246|SIMPLICITE|INFO||http://e4f58faca3d6:8080||ICORECM004|system|com.simplicite.util.CronJob|run||Execute job HealthCheck at 2023-06-26 08:00:01
2023-06-26 08:00:01,252|SIMPLICITE|INFO||http://e4f58faca3d6:8080||ICORECM005|system|com.simplicite.util.CronJob|run||Result of job HealthCheck : Application version : 1.0.0
Platform version : 5 patchlevel P03#TEXT
2023-06-26 08:00:01,379|SIMPLICITE|INFO||http://e4f58faca3d6:8080||INFO|system|com.simplicite.util.engine.JobQueue$PoolWorker|run||Event: Worker SimplicitePoolWorker-1 has been started.
2023-06-26 08:00:01,395|SIMPLICITE|INFO||http://e4f58faca3d6:8080||ICORECM004|system|com.simplicite.util.CronJob|run||Execute job ImportXML at 2023-06-26 08:00:01
2023-06-26 08:00:01,397|SIMPLICITE|INFO||http://e4f58faca3d6:8080||ICORECM005|system|com.simplicite.util.CronJob|run||Result of job ImportXML : No XML file to import.
2023-06-26 08:00:01,411|SIMPLICITE|INFO||http://e4f58faca3d6:8080||ICORECM004|system|com.simplicite.util.CronJob|run||Execute job deadlockTimestamp at 2023-06-26 08:00:01
2023-06-26 08:00:01,413|SIMPLICITE|INFO||http://e4f58faca3d6:8080||ICORECM005|system|com.simplicite.util.CronJob|run||Result of job deadlockTimestamp : 0 object(s) unlocked.#INFO
2023-06-26 08:00:01,610|SIMPLICITE|INFO||http://e4f58faca3d6:8080||ICORECM004|system|com.simplicite.util.CronJob|run||Execute job deadlineProcess at 2023-06-26 08:00:01
2023-06-26 08:00:01,626|SIMPLICITE|INFO||http://e4f58faca3d6:8080||ICORETM004|system|com.simplicite.util.engine.ProcessScheduler|manageDeadlineProcess||found 0 process(es)
2023-06-26 08:00:01,627|SIMPLICITE|INFO||http://e4f58faca3d6:8080||ICORECM005|system|com.simplicite.util.CronJob|run||Result of job deadlineProcess :
2023-06-26 08:00:01,733|SIMPLICITE|INFO||http://e4f58faca3d6:8080||ICORECM004|system|com.simplicite.util.CronJob|run||Execute job ClearUserTokens at 2023-06-26 08:00:01
2023-06-26 08:00:01,759|SIMPLICITE|INFO||http://e4f58faca3d6:8080||ICORECM005|system|com.simplicite.util.CronJob|run||Result of job ClearUserTokens : No expired tokens to delete#WARN
2023-06-26 08:00:01,931|SIMPLICITE|INFO||http://e4f58faca3d6:8080||ICORECM004|system|com.simplicite.util.CronJob|run||Execute job deadlineActivity at 2023-06-26 08:00:01
2023-06-26 08:00:01,962|SIMPLICITE|INFO||http://e4f58faca3d6:8080||ICORETM005|system|com.simplicite.util.engine.ProcessScheduler|manageDeadlineActivity||found 0 activity(ies)
2023-06-26 08:00:01,963|SIMPLICITE|INFO||http://e4f58faca3d6:8080||ICORECM005|system|com.simplicite.util.CronJob|run||Result of job deadlineActivity :
2023-06-26 08:00:02,133|SIMPLICITE|INFO||http://e4f58faca3d6:8080||ICORECM004|system|com.simplicite.util.CronJob|run||Execute job deadlockActivity at 2023-06-26 08:00:02
2023-06-26 08:00:02,154|SIMPLICITE|INFO||http://e4f58faca3d6:8080||ICORETM009|system|com.simplicite.util.engine.ProcessScheduler|manageDeadlockActivity||System param ACTIVITY_LOCK_LIMIT = 3600s
2023-06-26 08:00:02,158|SIMPLICITE|INFO||http://e4f58faca3d6:8080||ICORECM005|system|com.simplicite.util.CronJob|run||Result of job deadlockActivity :
2023-06-26 08:00:02,314|SIMPLICITE|INFO||http://e4f58faca3d6:8080||INFO|system|com.simplicite.util.engine.CronManager|run||Event: Next cron job: ObjectFullGC at Mon Jun 26 08:03:00 UTC 2023
2023-06-26 08:00:02,314|SIMPLICITE|INFO||http://e4f58faca3d6:8080||INFO|system|com.simplicite.util.engine.CronManager|run||Event: Cron manager is sleeping for 0:02:57...
2023-06-26 08:00:02,317|SIMPLICITE|INFO||http://e4f58faca3d6:8080||ICORECM004|system|com.simplicite.util.CronJob|run||Execute job deadlineState at 2023-06-26 08:00:02
2023-06-26 08:00:02,344|SIMPLICITE|INFO||http://e4f58faca3d6:8080||ICORECM005|system|com.simplicite.util.CronJob|run||Result of job deadlineState :
2023-06-26 08:03:01,243|SIMPLICITE|INFO||http://e4f58faca3d6:8080||INFO|system|com.simplicite.util.engine.CronManager|run||Event: Next cron job: deadlockTimestamp at Mon Jun 26 08:05:00 UTC 2023
2023-06-26 08:03:01,245|SIMPLICITE|INFO||http://e4f58faca3d6:8080||INFO|system|com.simplicite.util.engine.CronManager|run||Event: Next cron job: ObjectDynGC at Mon Jun 26 08:05:00 UTC 2023
2023-06-26 08:03:01,245|SIMPLICITE|INFO||http://e4f58faca3d6:8080||INFO|system|com.simplicite.util.engine.CronManager|run||Event: Next cron job: PruneSessions at Mon Jun 26 08:05:00 UTC 2023
2023-06-26 08:03:01,246|SIMPLICITE|INFO||http://e4f58faca3d6:8080||INFO|system|com.simplicite.util.engine.CronManager|run||Event: Cron manager is sleeping for 0:01:58...
2023-06-26 08:03:01,256|SIMPLICITE|INFO||http://e4f58faca3d6:8080||ICORECM004|system|com.simplicite.util.CronJob|run||Execute job ObjectFullGC at 2023-06-26 08:03:01
2023-06-26 08:03:01,272|SIMPLICITE|INFO||http://e4f58faca3d6:8080||MEMGC|system|com.simplicite.util.tools.SystemTool|objectGC||Dyn=0 Full=0
2023-06-26 08:03:01,276|SIMPLICITE|INFO||http://e4f58faca3d6:8080||ICORECM005|system|com.simplicite.util.CronJob|run||Result of job ObjectFullGC : ObjectFullGC removed 0 object(s) from cache.#INFO
2023-06-26 08:05:00,039|SIMPLICITE|INFO||http://e4f58faca3d6:8080||ICORECM004|system|com.simplicite.util.CronJob|run||Execute job deadlockTimestamp at 2023-06-26 08:05:00
2023-06-26 08:05:00,054|SIMPLICITE|INFO||http://e4f58faca3d6:8080||ICORECM004|system|com.simplicite.util.CronJob|run||Execute job ObjectDynGC at 2023-06-26 08:05:00
2023-06-26 08:05:00,060|SIMPLICITE|INFO||http://e4f58faca3d6:8080||ICORECM005|system|com.simplicite.util.CronJob|run||Result of job deadlockTimestamp : 0 object(s) unlocked.#INFO
2023-06-26 08:05:00,063|SIMPLICITE|INFO||http://e4f58faca3d6:8080||MEMGC|system|com.simplicite.util.tools.SystemTool|objectGC||Dyn=0 Full=0
2023-06-26 08:05:00,067|SIMPLICITE|INFO||http://e4f58faca3d6:8080||ICORECM005|system|com.simplicite.util.CronJob|run||Result of job ObjectDynGC : ObjectDynGC cleared 0 object(s) dynamic data.#INFO
2023-06-26 08:05:01,126|SIMPLICITE|INFO||http://e4f58faca3d6:8080||INFO|system|com.simplicite.util.engine.CronManager|run||Event: Next cron job: PruneRedoLogs at Mon Jun 26 08:10:00 UTC 2023
2023-06-26 08:05:01,127|SIMPLICITE|INFO||http://e4f58faca3d6:8080||INFO|system|com.simplicite.util.engine.CronManager|run||Event: Next cron job: deadlockTimestamp at Mon Jun 26 08:10:00 UTC 2023
2023-06-26 08:05:01,128|SIMPLICITE|INFO||http://e4f58faca3d6:8080||INFO|system|com.simplicite.util.engine.CronManager|run||Event: Cron manager is sleeping for 0:04:58...
2023-06-26 08:05:01,138|SIMPLICITE|INFO||http://e4f58faca3d6:8080||ICORECM004|system|com.simplicite.util.CronJob|run||Execute job PruneSessions at 2023-06-26 08:05:01
2023-06-26 08:05:01,142|SIMPLICITE|INFO||http://e4f58faca3d6:8080||ICORECM005|system|com.simplicite.util.CronJob|run||Result of job PruneSessions : 0 row deleted.#INFO
2023-06-26 08:10:00,371|SIMPLICITE|INFO||http://e4f58faca3d6:8080||INFO|system|com.simplicite.util.engine.CronManager|run||Event: Next cron job: ImportXML at Mon Jun 26 08:15:00 UTC 2023
2023-06-26 08:10:00,372|SIMPLICITE|INFO||http://e4f58faca3d6:8080||INFO|system|com.simplicite.util.engine.CronManager|run||Event: Next cron job: deadlockTimestamp at Mon Jun 26 08:15:00 UTC 2023
2023-06-26 08:10:00,373|SIMPLICITE|INFO||http://e4f58faca3d6:8080||INFO|system|com.simplicite.util.engine.CronManager|run||Event: Next cron job: deadlockActivity at Mon Jun 26 08:15:00 UTC 2023
2023-06-26 08:10:00,373|SIMPLICITE|INFO||http://e4f58faca3d6:8080||INFO|system|com.simplicite.util.engine.CronManager|run||Event: Cron manager is sleeping for 0:04:59...
2023-06-26 08:10:00,376|SIMPLICITE|INFO||http://e4f58faca3d6:8080||ICORECM004|system|com.simplicite.util.CronJob|run||Execute job PruneRedoLogs at 2023-06-26 08:10:00
2023-06-26 08:10:00,379|SIMPLICITE|INFO||http://e4f58faca3d6:8080||ICORECM004|system|com.simplicite.util.CronJob|run||Execute job deadlockTimestamp at 2023-06-26 08:10:00
2023-06-26 08:10:00,381|SIMPLICITE|INFO||http://e4f58faca3d6:8080||ICORECM005|system|com.simplicite.util.CronJob|run||Result of job deadlockTimestamp : 0 object(s) unlocked.#INFO
2023-06-26 08:10:00,387|SIMPLICITE|INFO||http://e4f58faca3d6:8080||ICORECM005|system|com.simplicite.util.CronJob|run||Result of job PruneRedoLogs : 0 row deleted.#INFO
s---

Bonjour

Non, une fois lancée, une instance Simplicité reste active jusqu’à ce qu’on l’arrête.
Le symptôme que vous décrivez ne nous donc dit rien…

Pouvez vous nous indiquer le commande Docker exacte que vous utilisez ?

Pouvez vous nous préciser ce que vous voulez dire précisément par “inaccessible” ?

Parle-t-on uniquement de la UI ? Si oui depuis où constatez vous cette “inaccessibilité” ? Je pose la question car c’est peut être un pb de “tuyauterie” d’accès externe à Simplicité qui pose pb.

Pour savoir si l’instance tourne la page à consulter est /health, idéalement au plus “proche” du serveur, ex : faire un curl http://localhost:<port>/health<port> est le port HTTP mappé sur le port 8080 de votre container. Si celle page répond c’est que l’instance fonctionne et qu’il faut chercher les causes d’inaccessibilité ailleurs.

Bonjour,

La commande est la suivante:

docker run -d --restart=always --name simplicite -p 8445:8444 artifactory.lausanne.ch/simplicite-remote/platform:5-latest

J’utilise ces ports car j’ai fait face au problème décrit ici:

Par inaccessible c’est effectivement d’un point de vue de la UI. J’ai un timeout.

Cependant, voici la réponse du health au niveau localhost:

[root@lslmrot01:~] # curl --insecure https://localhost:8445/health

[Platform]
Status=OK
Version=5.3.6
BuiltOn=2023-06-22 15:34
Git=5.3/4ce1086959ce7d6e8493aa1e022b5afe38e305da
Encoding=UTF-8
EndpointIP=10.88.0.14
EndpointURL=http://e4f58faca3d6:8080
TimeZone=UTC
SystemDate=2023-06-26 08:50:44

[Application]
ApplicationVersion=1.0.0
ContextPath=
ContextURL=https://localhost:8445
ActiveSessions=0
TotalUsers=3
EnabledUsers=1
LastLoginDate=2023-06-26 07:49:38

[Server]
ServerInfo=Apache Tomcat/9.0.76
ServerType=WEB
ServerActiveSessions=0
ServerSessionTimeout=30

[OS]
Name=Linux
Architecture=amd64
Version=4.18.0-477.10.1.el8_8.x86_64
DockerImageName=centos7
SystemEncoding=UTF-8

[JavaVM]
Version=17.0.7
Vendor=Eclipse Adoptium
VMName=OpenJDK 64-Bit Server VM
VMVersion=17.0.7+7
ScriptEngine=rhino
ScriptEngineVersion=Rhino 1.7.13 2020 09 02
HeapFree=85631
HeapSize=248764
HeapMaxSize=433600
TotalFreeSize=270467

[Cache]
ObjectCache=46
ObjectCacheMax=10000
ObjectCacheRatio=0
ProcessCache=46
ProcessCacheMax=10000
ProcessCacheRatio=0
APIGrantCache=0
APIGrantCacheMax=1000
APIGrantRatio=0

[Database]
Vendor=1
ProductName=HSQL Database Engine
ProductVersion=2.7.1
DriverName=HSQL Database Engine Driver
DriverVersion=2.7.1
DBDate=2023-06-26 08:50:44.483422+0:00
DBDateOffset=0
DBPatchLevel=5;P03;64bddacaa7d9a19671cd6b14b0020974
UsingBLOBs=false

[Healthcheck]
Date=2023-06-26 08:50:44
ElapsedTime=5

Si l’instance répond sur /health en localhost c’est qu’elle fonctionne (c’est à ça que sert ce endpoint - ainsi que le endpoint plus basique /ping dédié à la supervision technique - i.e. à vérifier que l’instance est en “bonne santé”)

Donc votre problème d’accès à la UI via votre URL est donc sans doute plutôt un problème dans la “tuyauterie” d’accès réseau en amont de l’instance.

PS: Le port 8444 est le port SSL de Tomcat, il faut idéalement monter un certificat SSL ad hoc sur votre container (cf. Simplicité® documentation/90-operation/docker) sinon ça utilise le certificat par défaut qui générera des avertissements non bloquants sur le navigateur

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.