One Star

Error with MDM (maybe with crossreference) again and again...

Hello everybody.
I have a job that perfectly works with few lines (15) but sometimes it crashes (more than 50% runs go wrong)...
I try to insert data into a "Client" entity . The creation triggers an insert into the crossreference table.
So, when it crashes, I try to relaunch it but I have the issue :
nov. 23, 2016 11:18:53 AM org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean buildServiceFromClass
INFOS: Creating Service {}TMDMService from class org.talend.mdm.webservice.TMDMService
nov. 23, 2016 11:18:54 AM org.apache.cxf.phase.PhaseInterceptorChain doDefaultLogging
AVERTISSEMENT: Interceptor for {}TMDMService#{}ping has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Unmarshalling Error: Unexpected EOF; was expecting a close tag for element <soap:Body>
at :
at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:905)
at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:712)
at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:179)
at org.apache.cxf.wsdl.interceptors.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:109)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:798)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1669)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1550)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1347)
at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:651)
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:514)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:423)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:324)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:277)
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:139)
at com.sun.proxy.$Proxy41.ping(Unknown Source)
at dwhess.dedoublonnage_full_mdm_0_2.Dedoublonnage_FULL_mdm.tMDMConnection_1Process(Dedoublonnage_FULL_mdm.java:1534)
at dwhess.dedoublonnage_full_mdm_0_2.Dedoublonnage_FULL_mdm.runJobInTOS(Dedoublonnage_FULL_mdm.java:10557)
at dwhess.dedoublonnage_full_mdm_0_2.Dedoublonnage_FULL_mdm.main(Dedoublonnage_FULL_mdm.java:10231)
Caused by: javax.xml.bind.UnmarshalException
- with linked exception:
: ]
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:485)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:417)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:394)
at org.apache.cxf.jaxb.JAXBEncoderDecoder.doUnmarshal(JAXBEncoderDecoder.java:855)
at org.apache.cxf.jaxb.JAXBEncoderDecoder.access$100(JAXBEncoderDecoder.java:102)
at org.apache.cxf.jaxb.JAXBEncoderDecoder$2.run(JAXBEncoderDecoder.java:894)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:892)
... 22 more
Caused by: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF; was expecting a close tag for element <soap:Body>
at :
at com.ctc.wstx.sr.StreamScanner.throwUnexpectedEOF(StreamScanner.java:685)
at com.ctc.wstx.sr.BasicStreamReader.throwUnexpectedEOF(BasicStreamReader.java:5519)
at com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2722)
at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1073)
at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:199)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:415)
... 28 more
Exception in component tMDMConnection_1
: dwhess.dedoublonnage_full_mdm_0_2.Dedoublonnage_FULL_mdm - tMDMConnection_1 Unmarshalling Error: Unexpected EOF; was expecting a close tag for element <soap:Body>
at :
javax.xml.ws.soap.SOAPFaultException: Unmarshalling Error: Unexpected EOF; was expecting a close tag for element <soap:Body>
at :
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:161)
at com.sun.proxy.$Proxy41.ping(Unknown Source)
at dwhess.dedoublonnage_full_mdm_0_2.Dedoublonnage_FULL_mdm.tMDMConnection_1Process(Dedoublonnage_FULL_mdm.java:1534)
at dwhess.dedoublonnage_full_mdm_0_2.Dedoublonnage_FULL_mdm.runJobInTOS(Dedoublonnage_FULL_mdm.java:10557)
at dwhess.dedoublonnage_full_mdm_0_2.Dedoublonnage_FULL_mdm.main(Dedoublonnage_FULL_mdm.java:10231)
Caused by: javax.xml.bind.UnmarshalException
- with linked exception:
: ]
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:485)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:417)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:394)
at org.apache.cxf.jaxb.JAXBEncoderDecoder.doUnmarshal(JAXBEncoderDecoder.java:855)
at org.apache.cxf.jaxb.JAXBEncoderDecoder.access$100(JAXBEncoderDecoder.java:102)
at org.apache.cxf.jaxb.JAXBEncoderDecoder$2.run(JAXBEncoderDecoder.java:894)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:892)
at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:712)
at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:179)
at org.apache.cxf.wsdl.interceptors.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:109)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:798)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1669)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1550)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1347)
at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:651)
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:514)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:423)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:324)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:277)
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:139)
... 4 more
Caused by: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF; was expecting a close tag for element <soap:Body>
at :
at com.ctc.wstx.sr.StreamScanner.throwUnexpectedEOF(StreamScanner.java:685)
at com.ctc.wstx.sr.BasicStreamReader.throwUnexpectedEOF(BasicStreamReader.java:5519)
at com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2722)
at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1073)
at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:199)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:415)
... 28 more
disconnected

In this case I can access to web UI and navigate into the "Client" entity but cannot access to cross reference.
I cannot either access to  :

tat HTTP 500 - A non-transactional (auto-commit) operation has an active transaction after operation completion.
type Rapport d''exception
message A non-transactional (auto-commit) operation has an active transaction after operation completion.
description Le serveur a rencontré une erreur interne qui l''a empêché de satisfaire la requête.
exception
java.lang.IllegalStateException: A non-transactional (auto-commit) operation has an active transaction after operation completion.
com.amalto.core.storage.transaction.ImplicitTransactionState.checkNoCurrentTransaction(Unknown Source)
com.amalto.core.storage.transaction.ImplicitTransactionState.cancelRequest(Unknown Source)
com.amalto.core.storage.transaction.InTransactionInterceptor.handleFault(Unknown Source)
org.apache.cxf.phase.PhaseInterceptorChain.unwind(PhaseInterceptorChain.java:445)
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:241)
org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:248)
org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:222)
org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:153)
org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:171)
org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:286)
org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:211)
javax.servlet.http.HttpServlet.service(HttpServlet.java:618)
org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:262)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:154)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:144)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)

I have to restart the MDM server... this is very unstable.
It happens with very few data but the goal is to handle 500 000 rows !
Could you help me please ?
Thank a lot.
6 REPLIES
Moderator

Re: Error with MDM (maybe with crossreference) again and again...

Hi,
Could you please indicate on which build version you got this issue?
Best regards
Sabrina
--
Don't forget to give kudos when a reply is helpful and click Accept the solution when you think you're good with it.
One Star

Re: Error with MDM (maybe with crossreference) again and again...

Hello,
I am running on 6.1.1
Thank for your help !
Best regards
Five Stars

Re: Error with MDM (maybe with crossreference) again and again...

Hello,
I am running on 6.1.1
Thank for your help !
Best regards

I had the same problem, what component you use for your job ? If it is tMDMOutput and tMDMConnection, verify that your connection is perfectly opened and closed in your job.
Another thing verify : your hibernate configuration, to relase properly connection ...
Pat
Four Stars

Re: Error with MDM (maybe with crossreference) again and again...

Hello patgream,

 

Yes, the issue tends to be with connections staying open between SQL and MDM. Turning on Auto Commit on the connection component helps. Also try tweaking the buffer size on output components if there is still an issue. Setting the hibernate configuration to auto close open connections after a shorter time helps during development.

 

Whenever anyone is seeing issues like 'logout has thrown exception, unwinding now' when using Talend MDM. Ask a DBA to look at open connections. 

Employee

Re: Error with MDM (maybe with crossreference) again and again...

Hi,

 

    It will be a good idea to add a tMDMClose component in the tPostJob to make sure that connections are getting closed when you are moving out of the job.

 

Warm Regards,

 

Nikhil Thampi

Four Stars

Re: Error with MDM (maybe with crossreference) again and again...

Nikhil,

 

Logically adding a close connect to the post job section of the job would make sense. We have one there and it appears to close the connect from Talend to MDM but not from MDM to SQL server. Another work around was to add close connections to the pre job section after each tMDMInput component but turning on auto commit was cleaner.

 

Thanks,

James