Bug 5826 - ClassNotFoundException in recovery of subscription resources
: ClassNotFoundException in recovery of subscription resources
Status: RESOLVED FIXED
: Java WS Core
globus_wsrf_core
: alpha
: Macintosh All
: P1 blocker
: 4.2.0
Assigned To:
:
:
:
:
  Show dependency treegraph
 
Reported: 2008-02-04 15:02 by
Modified: 2008-04-18 17:50 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2008-02-04 15:02:42
If i shutdown a container in the middle of processing of jobs
with staging and restart it ClassNotFoundException's show up when
subscription resources of RFT transfer resources are about to
be loaded from disk.
It seems that RFT resumes an interrupted transfer after restarting
the container and tries to notify Gram (who submitted the staging
request) when a transfer resource changes it's state. In Gram the
class StagingListener (implements NotifyCallback) is responsible
for catching RFT's notifications. But this class cannot be found.

I talked to Tom about this and it might be that a wrong ClassLoader
is used.

This issue didn't show up in 4.0.x. Maybe because all jar files are
located in $GLOBUS_LOCATION/lib there


Here's a stack trace:

2008-02-02T19:59:28.783-06:00 ERROR notification.SimpleSubscription
[WorkThread-211,load:137] [JWSCORE-154] Failed to load the resource
java.lang.ClassNotFoundException:
org.globus.exec.service.exec.processing.StagingListener
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:242)
        at
org.globus.wsrf.impl.security.util.FixedObjectInputStream.resolveClass(FixedObjectInputStream.java:37)
        at
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1544)
        at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1466)
        at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1699)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
        at
org.globus.wsrf.impl.notification.PersistentSubscription.load(PersistentSubscription.java:133)
        at
org.globus.wsrf.impl.notification.PersistentSubscription.load(PersistentSubscription.java:104)
        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.wsrf.impl.SimpleSubscriptionTopicListener.getSubscription(SimpleSubscriptionTopicListener.java:155)
        at
org.globus.wsrf.impl.SimpleSubscriptionTopicListener.topicChanged(SimpleSubscriptionTopicListener.java:108)
        at org.globus.wsrf.impl.SimpleTopic.topicChanged(SimpleTopic.java:205)
        at org.globus.wsrf.impl.SimpleTopic.notify(SimpleTopic.java:112)
        at
org.globus.wsrf.impl.ResourcePropertyTopic.fireNotification(ResourcePropertyTopic.java:213)
        at
org.globus.wsrf.impl.ResourcePropertyTopic.set(ResourcePropertyTopic.java:241)
        at
org.globus.transfer.reliable.service.TransferWork.setRequestStatus(TransferWork.java:244)
        at
org.globus.transfer.reliable.service.TransferWork.statusChanged(TransferWork.java:194)
        at
org.globus.transfer.reliable.service.TransferWork.processStates(TransferWork.java:519)
        at
org.globus.transfer.reliable.service.TransferWork.run(TransferWork.java:747)
        at
org.globus.wsrf.impl.work.WorkManagerImpl$WorkWrapper.run(WorkManagerImpl.java:376)
        at java.lang.Thread.run(Thread.java:595)
------- Comment #1 From 2008-03-25 15:00:53 -------
*** Bug 5941 has been marked as a duplicate of this bug. ***
------- Comment #2 From 2008-03-27 10:04:50 -------
Fix committed to trunk.  Based on some initial test things look good but will
hold off on closing this one out for now.