[Mulgara-general] Can't connect to remote Mulgara repository using ConnectionFactory

David Legg david.legg at searchevent.co.uk
Thu Nov 20 16:08:52 UTC 2008


> Those JRMI calls, I presume they are on port 1099 (i.e. talking to the
> registry)? And there are no other attempts to create connections from
> the client to the server on other ports? Because the ConnectException
> "Connection refused: connect" really means it failed to create a TCP
> connection, and that should show up as at least a SYN (from client to
> server) and probably a RST in the reverse direction (make sure you
> don't filter out too much traffic in wireshark).

I've now installed WireShark on both the client (windows XP) and the 
server (Ubuntu) and watched the traffic from both systems.  Apart from 
the windows version complaining about invalid checksums on some packets 
(of which I'm happy to ignore [1]) both machines are seeing the same 

I've enclosed a copy of the output from WireShark for bed time reading 
;-)  The client is on and the server is on   
The network is simply held together with a Draytek router and there is 
no DNS.  This is why you can see some NetBIOS calls where you might 
expect DNS.  I'm happy that there are no firewall issues involved here 
and since the machines are on the same router it is nothing to do with 
NAT etc.

If I run Mulgara locally on the windows machine along side my test 
program then all is well.  Unfortunately, WireShark doesn't appear to 
pick up internal packets sent between processes on the same machine so I 
can't get hold of a working trace of RMI calls to compare with the 
broken one.

I did notice something else strange... If I use the built in example 
webapp to populate the triplestore with data I can use the same app to 
list it again as you would expect.  If I cut and paste the SPARQL query 
into my test program I get syntax exceptions.  It seems the webapp uses: -

  select $subject $predicate $object from 
<rmi://SearchMaster/server1#sampledata> where $subject $predicate $object;

but my test program using RMI only works if I add a couple of curly 
braces and remove the semi-colon... like so: -

  select $subject $predicate $object from 
<rmi://SearchMaster/server1#sampledata> where {$subject $predicate $object}

So, back to my network problem... communication seems fine if the JVMs 
are on the same machine but fail if they are truly remote.  Is there 
something else I should be setting up?

David Legg

[1] http://wiki.wireshark.org/TCP_checksum_offload
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: MulgaraRMI.txt
URL: <http://lists.mulgara.org/pipermail/mulgara-general/attachments/20081120/3a9c647a/attachment.txt>

More information about the Mulgara-general mailing list