Import DATA en erreur

Request description

Bonjour, j’ai un import de DATA d’un module assez long (30 min environ) qui finit systématiquement avec l’erreur suivante :

2024-02-14 10:52:35,891|SIMPLICITE|ERROR||http://simplicite-poc-78bcfc499-p6996:8080||ERROR|designer|com.simplicite.util.integration.SAXImportXML|process||Event: Error during XML processing: java.util.ConcurrentModificationException
    org.xml.sax.SAXException: java.util.ConcurrentModificationException
    java.util.ConcurrentModificationException
     at com.simplicite.util.integration.SimpleSAXParserAdapter$SimpleSAXParserHandler.endElement(SimpleSAXParserAdapter.java:132)
     at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
     at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
     at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
     at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
     at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
     at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
     at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
     at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
     at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
     at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
     at java.xml/javax.xml.parsers.SAXParser.parse(SAXParser.java:197)
     at com.simplicite.util.integration.SAXParserAdapter.process(SAXParserAdapter.java:144)
     at com.simplicite.util.integration.SimpleSAXParserAdapter.process(SimpleSAXParserAdapter.java:144)
     at com.simplicite.util.engine.Interface.importSAX(Interface.java:955)
     at com.simplicite.util.engine.Interface.importSAX(Interface.java:1058)
     at com.simplicite.util.engine.Interface.importData(Interface.java:625)
     at com.simplicite.util.engine.Interface.importZIP(Interface.java:469)
     at com.simplicite.util.engine.Interface.importZIP(Interface.java:450)
     at com.simplicite.util.engine.IntegrationDirect.importZIP(IntegrationDirect.java:223)
     at com.simplicite.util.Integration.importZIP(Integration.java:476)
     at com.simplicite.objects.System.Dataset.apply(Dataset.java:70)
     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
     at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     at java.base/java.lang.reflect.Method.invoke(Method.java:568)
     at com.simplicite.util.engine.ObjectManager.invokeActionSync(ObjectManager.java:4447)
     at com.simplicite.util.engine.ObjectDirect.invokeAction(ObjectDirect.java:660)
     at com.simplicite.util.ObjectDB.invokeAction(ObjectDB.java:2164)
     at com.simplicite.util.ScriptedObjectDB.invokeAction(ScriptedObjectDB.java:930)
     at com.simplicite.util.ObjectDB.invokeAction(ObjectDB.java:2132)
     at com.simplicite.webapp.tools.JSONServletTool.action(JSONServletTool.java:1992)
     at com.simplicite.webapp.ObjectJson.action(ObjectJson.java:1144)
     at com.simplicite.webapp.tools.JSONServletTool.businessObjectService(JSONServletTool.java:681)
     at com.simplicite.webapp.servlets.AbstractJSONServlet.process(AbstractJSONServlet.java:168)
     at com.simplicite.webapp.servlets.AbstractJSONServlet.service(AbstractJSONServlet.java:127)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
     at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
     at com.simplicite.webapp.filters.RewriteFilter.doFilter(RewriteFilter.java:68)
     at com.simplicite.webapp.filters.AbstractFilter.doFilter(AbstractFilter.java:49)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
     at com.simplicite.webapp.filters.HTTPHeadersFilter.doFilter(HTTPHeadersFilter.java:39)
     at com.simplicite.webapp.filters.AbstractFilter.doFilter(AbstractFilter.java:49)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
     at com.simplicite.webapp.filters.AuthMethodFilter.doFilter(AuthMethodFilter.java:222)
     at com.simplicite.webapp.filters.AbstractFilter.doFilter(AbstractFilter.java:49)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:156)
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
     at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
     at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:670)
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
     at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390)
     at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
     at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:928)
     at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1794)
     at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
     at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
     at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
     at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
     at java.base/java.lang.Thread.run(Thread.java:840)
    Caused by: java.util.ConcurrentModificationException
     at java.base/java.util.LinkedHashMap$LinkedHashIterator.nextNode(LinkedHashMap.java:756)
     at java.base/java.util.LinkedHashMap$LinkedValueIterator.next(LinkedHashMap.java:783)
     at com.simplicite.util.integration.SAXImportXML.finalRecycling(SAXImportXML.java:848)
     at com.simplicite.util.integration.SAXImportXML.endTagProcess(SAXImportXML.java:345)
     at com.simplicite.util.integration.SimpleSAXParserAdapter$SimpleSAXParserHandler.endElement(SimpleSAXParserAdapter.java:122)
     ... 70 more

Les données semblent être importées correctement cependant.
J’ai trouvé ce ticket sur le même sujet mais le correctif semble avoir été livré de longue date Export CSV plus long - #14 by Benoit

Avez-vous une idée de l’origine de cette erreur ?
Y a-t-il des logs particuliers que je peux activer pour en savoir plus ?

Merci d’avance
Emmanuelle

Technical information

Instance /health
[Platform]
Status=OK
Version=5.3.27
BuiltOn=2024-01-31 11:28
Simplicité logs
---paste the content of the **relevant** server-side logs---

Bonjour Emmanuelle,

Tu parles bien d’un jeu de données du module ? Pourquoi dure t’il 30 minutes ?

Peux tu nous dire comment tu importes le dataset ? par la UI ou autre ?

Merci

Bonjour Nathalie,

Oui c’est bien un jeu de données, pour la durée je pense que c’est parce que des règles s’exécutent derrière, on en a désamorcé un maximum avec isBatchInstance mais il en reste sûrement.
Je lance l’import via le bouton Apply dans l’onglet Dataset du module.

Merci pour ton aide !
Emmanuelle

Bonjour Emmanuelle,

En optimisant tous les contrôles tu as toujours l’erreur ?
Je ne sais pas ce que fait cet import. Est ce que la création de données entraine des créations en cascade ?
Peut être que dans ton cas un adaptateur serait une meilleure solution.

En fait l’import se fait correctement, c’est juste à la fin que j’ai l’erreur
Je ne sais pas si c’est lié à la durée …

Normalement on n’a plus rien en cascade mais je vais quand même refaire une passe pour essayer de raccourcir la durée !

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