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

Discussion in 'Java' started by ashwin.dasanahalli@gmail.com, Mar 21, 2007.

  1. Guest

    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
     
    , Mar 21, 2007
    #1
    1. Advertising

  2. Esmond Pitt Guest

    wrote:

    > 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.
     
    Esmond Pitt, Mar 22, 2007
    #2
    1. Advertising

  3. Guest

    On Mar 22, 5:27 am, Esmond Pitt <>
    wrote:
    > wrote:
    > > 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.


    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?
     
    , Mar 22, 2007
    #3
  4. Esmond Pitt Guest

    wrote:
    > On Mar 22, 5:27 am, Esmond Pitt <>
    > wrote:
    >
    >> wrote:
    >>
    >>>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.

    >
    >
    > 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.
     
    Esmond Pitt, Mar 22, 2007
    #4
  5. steve Guest

    On Wed, 21 Mar 2007 15:24:59 +0800, wrote
    (in article <>):

    > 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
     
    steve, Mar 23, 2007
    #5
  6. Guest

    On Mar 23, 4:51 am, Esmond Pitt <>
    wrote:
    > wrote:
    > > On Mar 22, 5:27 am, Esmond Pitt <>
    > > wrote:

    >
    > >> wrote:

    >
    > >>>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.

    >
    > > 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.- 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!!!
     
    , Mar 27, 2007
    #6
  7. Esmond Pitt Guest

    wrote:
    > 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?
     
    Esmond Pitt, Mar 28, 2007
    #7
    1. Advertising

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

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Ravi Ambros Wallau
    Replies:
    1
    Views:
    532
    =?Utf-8?B?UGV0ZXIgQnJvbWJlcmcgW0MjIE1WUF0=?=
    Feb 14, 2006
  2. Douwe
    Replies:
    3
    Views:
    8,495
    Randy Howard
    Aug 23, 2003
  3. baibaichen

    how to decrease link time

    baibaichen, Jan 10, 2006, in forum: C++
    Replies:
    12
    Views:
    1,144
    =?iso-8859-1?q?Stephan_Br=F6nnimann?=
    Jan 11, 2006
  4. Chris
    Replies:
    4
    Views:
    535
    Chris
    Jun 8, 2007
  5. carlos seramos
    Replies:
    2
    Views:
    498
    carlos seramos
    Aug 1, 2003
Loading...

Share This Page