Bugzilla – Bug 5958
Exceptions ws-gram recovery
Last modified: 2008-05-08 19:24:42
You need to log in before you can comment on or make changes to this bug.
During container startup persisted gram jobs get reloaded from disk. I saw the following two exceptions. In both cases deserializers cannot be found. Wild speculation: is the a classpath issue? If the persisted job contains an RFT fault, the following exception happens: 2008-03-26T12:27:19.762-05:00 WARN factory.ManagedJobFactoryResource [Thread-4,run:182] Recovery exception org.globus.wsrf.ResourceException: [JWSCORE-154] Failed to load the resource; nested exception is: org.xml.sax.SAXException: No deserializer for {http://www.globus.org/namespaces/2004/10/rft}TransferFaultType at org.globus.wsrf.utils.XmlPersistenceHelper.load(XmlPersistenceHelper.java:209) at org.globus.exec.service.utils.PersistenceHelper.load(PersistenceHelper.java:148) at org.globus.exec.service.exec.PersistentManagedExecutableJobResource.load(PersistentManagedExecutableJobResource.java:151) at org.globus.wsrf.impl.ResourceHomeImpl.createNewInstanceAndLoad(ResourceHomeImpl.java:276) at org.globus.wsrf.impl.ResourceHomeImpl.get(ResourceHomeImpl.java:314) at org.globus.wsrf.impl.ResourceHomeImpl.find(ResourceHomeImpl.java:299) at org.globus.exec.service.exec.ManagedExecutableJobHome.recover(ManagedExecutableJobHome.java:197) at org.globus.exec.service.factory.ManagedJobFactoryResource$1RecoveryThread.run(ManagedJobFactoryResource.java:179) Caused by: org.xml.sax.SAXException: No deserializer for {http://www.globus.org/namespaces/2004/10/rft}TransferFaultType at org.apache.axis.encoding.ser.BeanDeserializer.onStartChild(BeanDeserializer.java:320) at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035) at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(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 javax.xml.parsers.SAXParser.parse(Unknown Source) at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227) at org.globus.wsrf.utils.XmlPersistenceHelper.load(XmlPersistenceHelper.java:205) ... 7 more Also, i saw this: org.xml.sax.SAXException: No deserializer for {http://www.w3.org/2001/XMLSchema}anyType at org.apache.axis.AxisFault.makeFault(AxisFault.java:104) at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:700) at org.apache.axis.Message.getSOAPEnvelope(Message.java:435) at org.globus.axis.message.addressing.handler.AddressingHandler.processClientResponse(AddressingHandler.java:367) at org.globus.wsrf.handlers.AddressingHandler.processClientResponse(AddressingHandler.java:92) at org.globus.axis.message.addressing.handler.AddressingHandler.invoke(AddressingHandler.java:132) at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32) at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) at org.apache.axis.client.AxisClient.invokeInbound(AxisClient.java:207) at org.apache.axis.client.AxisClient.invoke(AxisClient.java:298) at org.apache.axis.client.Call.invokeEngine(Call.java:2838) at org.apache.axis.client.Call.invoke(Call.java:2824) at org.apache.axis.client.Call.invoke(Call.java:2501) at org.apache.axis.client.Call.invoke(Call.java:2424) at org.apache.axis.client.Call.invoke(Call.java:1835) at org.globus.rft.generated.bindings.ReliableFileTransferPortTypeSOAPBindingStub.start(ReliableFileTransferPortTypeSOAPBindingStub.java:1665) at org.globus.exec.service.exec.utils.WSStagingHelper.startTransferJob(WSStagingHelper.java:223) at org.globus.exec.service.exec.processing.handler.RestartStateHandler.process(RestartStateHandler.java:80) at org.globus.exec.service.exec.processing.handler.InternalStateHandler.processInternalState(InternalStateHandler.java:34) at org.globus.exec.service.exec.processing.StateMachine.processInternalState(StateMachine.java:118) at org.globus.exec.service.exec.processing.StateProcessingTask.run(StateProcessingTask.java:68) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) at java.lang.Thread.run(Thread.java:595)
Martin, could we get a full container log file from similar run(s) with some additional debug logging enabled? Can you set "log4j.category.org.globus.wsrf=DEBUG" for a run and provide a URL to the log file? Also, if you could provide an additional log that includes GRAM and RFT service activity, it will be very useful in addition to the core-only file as mentioned above.
Just talked to Rachana about this. Core will have a call on Friday where they decide on how to deal with this.
Core team: i think you found a solution. Is this right?
By adding the type mappings for RFT faults into RFT client-config.wsdd, we were able to workaround this problem. I think the issue can be closed. Martin, can you confirm that the workaround was sufficient to fix the problem?
Works for me. Martin says 'thanks' to the core folks. Closing.