Sur ce post : Connexion impossible - #3 par Magoswing
Nous avons vu qu’il fallait supprimer le _checkSumDb.txt, ce que nous avons fait puis redémarré le serveur, et effectivement maintenant on peut se connecter mais tous les ateliers sont vides :
Nous n’arrivons pas à exécuter la commande : http://[xxx.xxx.xxx.xxx]:8080/scserver63/s/u/adminOdb?cdaction=CheckAuto
Pouvez-vous nous aider ? Nous sommes complètements bloqués…
Voici les derniers logs du serveur (après redémarrage suite suppression du checksum) :
1--- Info : Wed Jan 22 18:02:43 CET 2025[818] (main) ---
================================================================================
Starting SCENARIsuite-starter 6 : SCENARIsuite-starter 6.3.13 202501180417 on OpenJDK 64-Bit Server VM 11.0.25+9-post-Debian-1deb11u1 / Linux amd64
1--- Info : Wed Jan 22 18:02:43 CET 2025[829] (main) ---
OpenDocument editor found by env. var. 'PATH' in: /usr/lib/libreoffice/program
1--- Warning : Wed Jan 22 18:02:44 CET 2025[687] (main) ---
No CheckSumDb could be achieved (files missing) for /var/lib/scenari/data/prl-chain/db
1--- Warning : Wed Jan 22 18:02:45 CET 2025[230] (ForkJoinPool.commonPool-worker-3) ---
Init random password failed for: User 'svc-remote-depot' in account.svc-remote-depot.password. Server response: 502. Retry in 1 s...
1--- Info : Wed Jan 22 18:02:46 CET 2025[310] (ForkJoinPool.commonPool-worker-3) ---
Init random password done for: User 'svc-remote-depot' in account.svc-remote-depot.password
<message type="Warning" ts="1737619733386" appCtx="chain" user="admin" thread="qtp1857815974-19" desc="Check db auto with warnings in 4608ms. See file: /var/log/scenari/prl-chain/adminOdb/checkDb.2025-01-23_09-08-53.1.txt"/>
Au delà de cette erreur du checkAuto, pas d’erreur dans les logs scenari ? Vous arrivez à vous connecter ? Vous voyez la liste des ateliers mais ne pouvez y accéder ?
Oui on arrive à se connecter, on voit la liste des ateliers mais on ne peut pas y accéder, c’est ça.
Le fichier de logs checkDb.2025-01-23_09-08-53.1.txt fait 38Mo, je vous l’envoie quand même ?
En gros dans le fichier il y a plein de lignes avec :
Missing entry in index 'ScIdIndex' for key '0Q7NVY4CQbJ6wZ3tBj1fR3'. Value should be '#2:18'.
Missing entry in index 'ScIdIndex' for key '0Q4NVY4CQbJ6wZ3tBj1fR3'. Value should be '#2:19'.
Missing entry in index 'ScIdIndex' for key '0Q5NVY4CQbJ6wZ3tBj1fR3'. Value should be '#2:20'.
Missing entry in index 'ScIdIndex' for key '0Q2NVY4CQbJ6wZ3tBj1fR3'. Value should be '#2:21'.
Missing entry in index 'ScIdIndex' for key '0Q0NVY4CQbJ6wZ3tBj1fR3'. Value should be '#2:22'.
Missing entry in index 'ScIdIndex' for key '0PyNVY4CQbJ6wZ3tBj1fR3'. Value should be '#2:23'.
et
BlobRef missing in current index : 1/2m/5q
BlobRef missing in current index : 1/1u/qt
BlobRef missing in current index : 1/1e/9n
BlobRef missing in current index : 1/p/1a7
BlobRef missing in current index : 1/4/11s
BlobRef missing in current index : 1/3a/094
BlobRef missing in current index : 1/2g/m9
On a également essayé un Rebuild via l’application d’administration Python, on a une erreur 403 et dans les logs on voit :
1--- Info : Thu Jan 23 09:35:40 CET 2025[268] - chain/admin (qtp1857815974-13) ---
Start rebuild Db : dbStorage - /var/lib/scenari/data/prl-chain/db
1--- Exception : Thu Jan 23 09:35:40 CET 2025[341] - chain/admin (qtp1857815974-13) ---
Error on retrieving record #5:15368 (cluster: histo)
com.orientechnologies.orient.core.exception.ODatabaseException: Error on retrieving record #5:15368 (cluster: histo)
at com.orientechnologies.orient.core.db.raw.ODatabaseRaw.read(ODatabaseRaw.java:125)
at com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeReadRecord(ODatabaseRecordAbstract.java:303)
at com.orientechnologies.orient.core.tx.OTransactionNoTx.loadRecord(OTransactionNoTx.java:56)
at com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.load(ODatabaseRecordTx.java:193)
at com.orientechnologies.orient.core.iterator.OIdentifiableIterator.readCurrentRecord(OIdentifiableIterator.java:240)
at com.orientechnologies.orient.core.iterator.ORecordIteratorCluster.next(ORecordIteratorCluster.java:153)
at eu.scenari.orient.tools.rebuild.Rebuild.browseClusters(Rebuild.java:283)
at eu.scenari.orient.tools.rebuild.Rebuild$1.call(Rebuild.java:214)
at eu.scenari.orient.tools.rebuild.Rebuild$1.call(Rebuild.java:200)
at com.orientechnologies.orient.core.storage.OStorageAbstract.callInLock(OStorageAbstract.java:111)
at com.orientechnologies.orient.core.db.ODatabaseWrapperAbstract.callInLock(ODatabaseWrapperAbstract.java:241)
at eu.scenari.orient.tools.rebuild.Rebuild.call(Rebuild.java:200)
at eu.scenari.orient.tools.rebuild.Rebuild.call(Rebuild.java:165)
at eu.scenari.orient.service.adminodb.SvcAdminOdbDialog.xExecuteDialog(SvcAdminOdbDialog.java:302)
at eu.scenari.core.dialog.DialogBase.executeDialog(DialogBase.java:93)
at eu.scenari.core.execframe.httpservlet.HttpRequestConnectorBase.handleRequest(HttpRequestConnectorBase.java:94)
at eu.scenari.core.execframe.httpservlet.servlets.ServiceServlet.service(ServiceServlet.java:163)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
at org.eclipse.jetty.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1450)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799)
at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1656)
at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:292)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:552)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:600)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:505)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:234)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.Server.handle(Server.java:516)
at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: com.orientechnologies.orient.core.exception.OStorageException: Error on reading record from file 'default.0.oda', position 25944875, size 1,57Gb: the record size is bigger then the file itself (103,31Mb). Probably the record is dirty due to a previous crash. It is strongly suggested to restore the database or export and reimport this one.
at com.orientechnologies.orient.core.storage.impl.local.ODataLocal.getRecord(ODataLocal.java:242)
at com.orientechnologies.orient.core.storage.impl.local.OStorageLocal.readRecord(OStorageLocal.java:1427)
at com.orientechnologies.orient.core.storage.impl.local.OStorageLocal.readRecord(OStorageLocal.java:809)
at com.orientechnologies.orient.core.db.raw.ODatabaseRaw.read(ODatabaseRaw.java:122)
... 56 more
1--- Exception : Thu Jan 23 09:35:40 CET 2025[341] - chain/admin (qtp1857815974-13) ---
Error on retrieving record #5:15368 (cluster: histo)
com.orientechnologies.orient.core.exception.ODatabaseException: Error on retrieving record #5:15368 (cluster: histo)
at com.orientechnologies.orient.core.db.raw.ODatabaseRaw.read(ODatabaseRaw.java:125)
at com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeReadRecord(ODatabaseRecordAbstract.java:303)
at com.orientechnologies.orient.core.tx.OTransactionNoTx.loadRecord(OTransactionNoTx.java:56)
at com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.load(ODatabaseRecordTx.java:193)
at com.orientechnologies.orient.core.iterator.OIdentifiableIterator.readCurrentRecord(OIdentifiableIterator.java:240)
at com.orientechnologies.orient.core.iterator.ORecordIteratorCluster.next(ORecordIteratorCluster.java:153)
at eu.scenari.orient.tools.rebuild.Rebuild.browseClusters(Rebuild.java:283)
at eu.scenari.orient.tools.rebuild.Rebuild$1.call(Rebuild.java:214)
at eu.scenari.orient.tools.rebuild.Rebuild$1.call(Rebuild.java:200)
at com.orientechnologies.orient.core.storage.OStorageAbstract.callInLock(OStorageAbstract.java:111)
at com.orientechnologies.orient.core.db.ODatabaseWrapperAbstract.callInLock(ODatabaseWrapperAbstract.java:241)
at eu.scenari.orient.tools.rebuild.Rebuild.call(Rebuild.java:200)
at eu.scenari.orient.tools.rebuild.Rebuild.call(Rebuild.java:165)
at eu.scenari.orient.service.adminodb.SvcAdminOdbDialog.xExecuteDialog(SvcAdminOdbDialog.java:302)
at eu.scenari.core.dialog.DialogBase.executeDialog(DialogBase.java:93)
at eu.scenari.core.execframe.httpservlet.HttpRequestConnectorBase.handleRequest(HttpRequestConnectorBase.java:94)
at eu.scenari.core.execframe.httpservlet.servlets.ServiceServlet.service(ServiceServlet.java:163)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
at org.eclipse.jetty.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1450)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799)
at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1656)
at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:292)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:552)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:600)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:505)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:234)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.Server.handle(Server.java:516)
at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: com.orientechnologies.orient.core.exception.OStorageException: Error on reading record from file 'default.0.oda', position 25944875, size 1,57Gb: the record size is bigger then the file itself (103,31Mb). Probably the record is dirty due to a previous crash. It is strongly suggested to restore the database or export and reimport this one.
at com.orientechnologies.orient.core.storage.impl.local.ODataLocal.getRecord(ODataLocal.java:242)
at com.orientechnologies.orient.core.storage.impl.local.OStorageLocal.readRecord(OStorageLocal.java:1427)
at com.orientechnologies.orient.core.storage.impl.local.OStorageLocal.readRecord(OStorageLocal.java:809)
at com.orientechnologies.orient.core.db.raw.ODatabaseRaw.read(ODatabaseRaw.java:122)
... 56 more
Comme nous n’avions pas de réponse, nous avons restauré une sauvegarde de notre VM pour tenter de retrouver tous les ateliers, puis on a eu le problème de connexion, d’où le présent thread
Non, tel que cela a été installé, la VM est sauvegardée toutes les nuits par Veeam mais aucune commande n’était exécutée dans Scenari en amont et en aval de la sauvegarde
Votre sonde checkAuto donnait quel résultat sur l’environnement initial avant restauration ?
Je ne peux pas vous dire…
Mais la sonde est exécutée quotidiennement via un outil de monitoring ? Si oui, une anomalie aurait été remontée en cas de retour d’erreur dans le checkAuto
Non, tel que cela a été installé, la VM est sauvegardée toutes les nuits par Veeam mais aucune commande n’était exécutée dans Scenari en amont et en aval de la sauvegarde
Dans ce cas, il est malheureusement fort probable que ce qui est sauvegardé soit incorrect : comme le remonte la sonde checkAuto, la db présente de nombreux problèmes.
Avez-vous encore les datas initiales, AVANT restauration ?
Nous avons des sauvegardes de la VM sur des dates où elle fonctionnait correctement, mais c’est des sauvegardes à chaud (sans la procédure décrite). On peut accéder aux fichiers dans ces VM sauvegardées, si cela peut nous aider ?
Est-ce que par exemple si on restaure uniquement le dossier /var/lib/scenari/data/prl-chain/db, cela pourrait marcher ?