users@glassfish.java.net

"No RDV provider" error at shoal-gms module

From: <glassfish_at_javadesktop.org>
Date: Mon, 14 Apr 2008 02:42:20 PDT

Dear everyone:

There is "No RDV provider" error was found in server.log file. and it
was repeated every 2 seconds.

it is the error message:
[#|2008-04-14T16:01:25.203+0800|WARNING|sun-appserver9.1|ShoalLogger|_ThreadID=29;_ThreadName=HealthMonitor;_RequestID=ad38ac62-6102-4bea-9f48-80125b69a400;|Failed to send message
java.io.IOException: No RDV provider
        at net.jxta.impl.rendezvous.RendezVousServiceImpl.propagateToNeighbors(RendezVousServiceImpl.java:757)
        at net.jxta.impl.rendezvous.RendezVousServiceInterface.propagateToNeighbors(RendezVousServiceInterface.java:311)
        at net.jxta.impl.pipe.WirePipe.sendMessage(WirePipe.java:487)
        at net.jxta.impl.pipe.NonBlockingWireOutputPipe.sendUnModified(NonBlockingWireOutputPipe.java:217)
        at net.jxta.impl.pipe.NonBlockingWireOutputPipe.send(NonBlockingWireOutputPipe.java:202)
        at com.sun.enterprise.jxtamgmt.HealthMonitor.send(HealthMonitor.java:369)
        at com.sun.enterprise.jxtamgmt.HealthMonitor.reportMyState(HealthMonitor.java:300)
        at com.sun.enterprise.jxtamgmt.HealthMonitor.run(HealthMonitor.java:330)
        at java.lang.Thread.run(Thread.java:595)
|#]

I used the version of UR1. there was one domain(domain1) and one
nodeagent(mynodeagent) at my box.
I think there must be 3 conditions to reproduce the error
1) two or more clusters were started
2) domain must be restarted after clusters was started
3) firstly started cluster was deleted this Exception is coming out.

I tryed to found the cause from the shoal-gms module's source.
in the HealthMonitor.java ,net.jxta.pipe.OutputPipe's object outputPipe
was defined, outputPipe.send()was used to do JXTA.

and in NetworkManager.java ,static net.jxta.peergroup.PeerGroup's object netPeerGroup
was defined, the netPeerGroup manages all the outputPipe.

when firstly started cluster(cluster1) was deleted?netPeerGroup is
closed by netPeerGroup.stopApp() function in NetworkManager#stop().
so outputPipe object could not be used any more. therefor
Exception were happened while other clusters(cluster2) do JXTA by
calling outputPipe.send() function.

solution 1:
    check the netPeerGroup before call outputPipe.send() function, if
null, donn't call outputPipe.send().

solution 2:
    don't close the netPeerGroup while firstly started cluster(cluster1)
was deleted. so, remain clusters (cluster2) could use outputPipe.send()
function to do JXTA, and all the clusters ware deleted then close the
netPeerGroup.

Does anyone has any idea of the "No RDV provider" error at shoal-gms
module?

Best Regards
Wang Wei
[Message sent by forum member '5417' (5417)]

http://forums.java.net/jive/thread.jspa?messageID=269017