Decrease time out period if server is not registered in the rmiregistery

A

ashwin.dasanahalli

I have written a tiny RMI client. Before I bind to the RMI server, I'm
doing a Naming.lookup to check if the server is registered. It is
taking too much time to throw an exception if the server is not
registered in the rmiregistery. Is there any way I can decrease this
time???

Any help will be appreciated..........

Thanks
Ashwin
 
E

Esmond Pitt

I have written a tiny RMI client. Before I bind to the RMI server, I'm
doing a Naming.lookup to check if the server is registered. It is
taking too much time to throw an exception if the server is not
registered in the rmiregistery. Is there any way I can decrease this
time???

How much time is too much? It should take less than a second if the
registry is running.
 
A

ashwin.dasanahalli

How much time is too much? It should take less than a second if the
registry is running.

Thanx for a quick reply.
I have an up and running registry. Lets say, the server fails to
register itself with the rmiregistery. Now when the client tries to
lookup this server in the registry, it will fail. The amount of time
Naming.lookup is taking to throw an exception is approx 2mins. My
concern is to reduce this time. Is there a way to do it?
 
E

Esmond Pitt

Thanx for a quick reply.
I have an up and running registry. Lets say, the server fails to
register itself with the rmiregistery. Now when the client tries to
lookup this server in the registry, it will fail. The amount of time
Naming.lookup is taking to throw an exception is approx 2mins. My
concern is to reduce this time. Is there a way to do it?

How much time does it take if the lookup is successful?

RMI delays of this order are almost always due to incorrect DNS
configuration, not RMI itself.
 
S

steve

I have written a tiny RMI client. Before I bind to the RMI server, I'm
doing a Naming.lookup to check if the server is registered. It is
taking too much time to throw an exception if the server is not
registered in the rmiregistery. Is there any way I can decrease this
time???

Any help will be appreciated..........

Thanks
Ashwin
we did an analysis of this problem about a year ago, in the java group. it
is a problem with various windows platforms and the implementation of the
look-up, if the ip port does not respond.

Even setting a time-out value on a port you open will not circumvent the
problem.

as i say It was worse on windows, and non-existent on OSX, but recently even
that platform is ignoring the time out values, so that if it is set for 5
seconds , it can still take like 30!!!

AHHHH you lucky guy, I still have the notes from another java group.
here we found 4 seconds on an internal network.


/* bug found on windows!!
Output for this always is something like
< ----------------------------------------------------------------
4802
282
281
282
266
282
281
282
281
282
282
4771
problem found: the JVM is running on Windows XP with netbios over
TCP/IP activated. On connect() the JVM tries to resolve the hostname
(java.net.InetAddress.getHostFromNameService, getHostByAddr).

Windows tries a netbios ns query on udp port 137 with a timeout of
1500ms, ignores any ICMP "port unreachable" packages and repeats this
two more times, adding up to a value of 4.5 seconds (!).

Deactivating netbios "fixes" this, but isn´t always an option ... any
ideas very welcome.

*/




Steve








Steve
 
A

ashwin.dasanahalli

How much time does it take if the lookup is successful?

RMI delays of this order are almost always due to incorrect DNS
configuration, not RMI itself.- Hide quoted text -

- Show quoted text -

If the server is registerd in the rmiregistery, it takes hardly a
fraction o second to lookup and respond back with result!!!
 
E

Esmond Pitt

If the server is registerd in the rmiregistery, it takes hardly a
fraction o second to lookup and respond back with result!!!

If the registry is running and the server is not registered in it, it
should take more or less exactly the same time as if the server is
registered. It just has to transmit an exception instead of a remote
stub. I've never seen it take longer in ten years of using and writing
about RMI, and I've never seen a reason in the RMI source code why it
would. Are you sure you aren't retrying or doing something else at the
application level in the NotBound case?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top