Entrepôt distant inaccessible

Bonjour,

Nous ne parvenons plus à accéder à notre entrepôt distant, sur l’interface utilisateur il est juste indiqué “Entrepôt inaccessible” et lorsque l’on teste l’application via : http://scenari42:8080/scserver42/web/u/adminServer
nous avons cette erreur :

Type Rapport d’'exception

description Le serveur a rencontré une erreur interne qui l’'a empêché de satisfaire la requête.

exception

java.lang.NullPointerException
	eu.scenari.core.execframe.httpservlet.servlets.ServiceServlet.service(ServiceServlet.java:75)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de ce serveur.

Voici nos logs si cela peut aider :

1--- Error : Tue Feb 13 16:48:42 CET 2018[663] (http-nio-8080-exec-15) ---
            Init servlet failed : svcWeb

2--- Error : Tue Feb 13 16:48:42 CET 2018[663] (http-nio-8080-exec-15) ---
Universe 'null' not found.

3--- Exception : Tue Feb 13 16:48:42 CET 2018[663] (http-nio-8080-exec-15) ---
eu.scenari.commons.util.lang.ScException
    at eu.scenari.commons.log.LogMgr.newException(LogMgr.java:388)
    at eu.scenari.core.execframe.httpservlet.servlets.UniverseServletBase.xL
ookForUniverse(UniverseServletBase.java:135)
    at eu.scenari.core.execframe.httpservlet.servlets.UniverseServletBase.in
it(UniverseServletBase.java:157)
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.
java:1183)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.
java:1099)
    at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.jav
a:779)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:133)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:96)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica
torBase.java:478)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:140)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:80)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAcce
ssLogValve.java:650)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:87)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:342)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java
:799)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLig
ht.java:66)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(Abstract
Protocol.java:868)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpo
int.java:1457)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBas
e.java:49)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:622)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskTh
read.java:61)
    at java.lang.Thread.run(Thread.java:748)

La webapps est bien démarrée dans tomcat (8.5), mais il n’est pas possible d’y accéder.
Savez-vous quel est le problème et comment le résoudre ?

Bien cordialement,

Gaëlle

Bonjour Gaelle,

Il doit y avoir une erreur en amont. Tu peux me transmettre l’intégralité du fichier de log serveur ?

Antoine

Kelis

Bonjour Antoine,

D’accord, comment le récupère-t-on ?

Gaëlle

Ces fichiers de log sont présents sur le serveur, à un endroit paramétré lors de l’installation de SCENARIserver via la variable server.log.path.
Par défaut, ce sont les fichiers scenari_yyyy-mm-dd.log présents dans le répertoire des données de l’application.
Antoine

Merci, voici le fichier log : (j’ai juste modifié l’extension pour pouvoir l’uploader sur le forum)
scenari_2018-02-13.xml (88,4 Ko)

Gaëlle

Je vois dans la trace les éléments suivants :

4--- Error : Tue Feb 13 16:23:13 CET 2018[320] (http-nio-8080-exec-7) ---
Check sum on db files failed for db : /var/opt/scserver42/data/db

5--- Error : Tue Feb 13 16:23:13 CET 2018[319] (http-nio-8080-exec-7) ---
New file(s) found in current db : [default.odh, subrec.och, versions.och, index.och, default.0.ocl, default.0.oda, _timestamp, histo.0.ocl, roots.och, internal.0.ocl, database.ocf, subrec.0.ocl, default.och, versions.0.ocl, index.odh, users.och, histo.och, roots.0.ocl, index.0.ocl, internal.och, users.0.ocl, _timestampSystem, index.0.oda]

Autrement dit, un contrôle a relevé une incohérence dans les fichiers constitutifs de la base de donnée.
Cela est souvent du à une coupure brutale du serveur (ex : arrêt électrique).

Tu peux demander à l’admin de supprimer les fichiers de contrôle “checkSum.txt” des dossiers [ScServerData]/data/blobs1 et [ScServerData]/data/db, ce qui permettra de supprimer ce contrôle d’intégrité au démarrage.

Une fois cette action réalisée, et tomcat relancé, il faut vérifier que l’incident ci-dessus n’a pas endommagé la base de donnée plus profondément. Pour ce faire, tu peux appeler le service checkAuto (cf http://docs.kelis.fr/sc42/scsrv/adminTech/lin/co/monitoring.html#mo2bd0tJS2dRP3ZExXJ8uj16).

  • si le test est concluant (retour 200), tout va bien et la production peut reprendre ;
  • si le test n’est pas concluant (erreur 5xx - peu probable), il faudra restaurer une sauvegarde.

Merci beaucoup, ca fonctionne !

Bonne soirée,
Gaëlle