Archived

This forum has been archived. Please start a new discussion on GitHub.

How to remve extra connection endpoint on Icestorm

Hello,

I am trying to configure the IceStorm service to only use the host
127.0.0.1, but the debug information shows some other host
connection:
[ 11/14/08 13:48:30.593 Network: accepting tcp connections at 127.0.0.1:9999 ]
[ 11/14/08 13:48:30.594 Network: accepting tcp connections at 127.0.0.1:9998 ]
[ 11/14/08 13:49:05.781 Network: accepted tcp connection
local address = 127.0.0.1:9999
remote address = 127.0.0.1:33685 ]
[ 11/14/08 13:49:06.027 Network: accepted tcp connection
local address = 127.0.0.1:9998
remote address = 127.0.0.1:54989 ]
[ 11/14/08 13:49:06.028 Network: tcp connection established
local address = 192.168.1.2:56675
remote address = 192.168.1.2:56519 ]


How can I configure to remove 192.168.1.2 connection in order to improve
performance?(192.168.1.2 is eth0 IP)

Here is the config file:(myserver IP:127.0.0.1)

Ice.Default.Host=myserver
Ice.Override.Timeout=3000
IceStorm.TopicManager.Proxy=IceStorm/TopicManager:default -h myserver -p 9999
IceStorm.InstanceName=IceStorm
IceStorm.Publish.Endpoints=default -h myserver -p 9998
Ice.Trace.Network=1
Freeze.DbEnv.IceStorm.DbHome=db

This is on Ice3.2.0.

Thanks,
Shifu

Comments

  • bernard
    bernard Jupiter, FL
    Hi Shifu,

    We only offer free support on these forums for the current version of Ice. Could you upgrade to Ice 3.3.0?

    If this is not practical for you, you should consider subscribing to our Priority support. Please contact sales@zeroc.com for details.

    Thanks,
    Bernard
  • Hi, Bernard,

    I upgraded to Ice3.3, My application works and the performance has been greately increased compared with Ice3.2!!
    Thank you.

    I changed the config.storm a little:

    Ice.Default.Host=myserver
    Ice.Override.Timeout=3000
    IceStorm.TopicManager.Endpoint=default -h myserver -p 9999
    IceStorm.InstanceName=IceStorm
    IceStorm.Publish.Endpoints=default -h myserver -p 9998
    Ice.Trace.Network=1
    Freeze.DbEnv.IceStorm.DbHome=db

    I still got some extra connections. How can I remove the connection with 192.168.1.2 IP?

    Thanks much!
    Shifu
  • bernard
    bernard Jupiter, FL
    Hi Shifu,

    Which platform/operating system are you using?

    Best regards,
    Bernard
  • Hi, Bernard,

    This is on Fedora 9 /x86 pc platform.

    Thanks
    Shifu
  • matthew
    matthew NL, Canada
    Hi Shifu,

    I'm sorry, but I'm afraid you still haven't provided enough information. The configuration you've provided above cannot be the IceStorm configuration file, as it doesn't provide the endpoint configuration for the topic manager. Also the debug trace doesn't show the 192.168.2.1 endpoint being opened. Can you please provide the correct IceBox & IceStorm configuration, the full debug trace and the steps you are using to reproduce this?

    Best Regards, Matthew
  • Hi, Matthew,
    Here is the config.icebox file:

    IceBox.ServiceManager.Endpoints=tcp -p 10000
    Ice.Default.Host=myserver (127.0.0.1)
    IceBox.Service.IceStorm=IceStormService,33:createIceStorm --Ice.Config=config.icestorm
    Ice.Trace.Network=2

    Here is the config.icestorm file:

    Ice.Default.Host=myserver
    Ice.Override.Timeout=3000
    IceStorm.TopicManager.Endpoint=default -h myserver -p 9999
    IceStorm.InstanceName=IceStorm
    IceStorm.Publish.Endpoints=default -h myserver -p 9998
    Ice.Trace.Network=1
    Freeze.DbEnv.IceStorm.DbHome=db

    The Ice configuration files for the server and client
    application contain:
    Ice.Default.Locator=DemoIceGrid/Locator:default -h myserver -p 12000
    Ice.Default.Host=myserver

    The following is the display on Icestorm terminal.

    #After starting IceStorm: /opt/Ice-3.3/bin/icebox --Ice.Config=config.icebox
    [ 11/20/08 10:45:23.828 /opt/Ice-3.3/bin/icebox: Network: attempting to bind to tcp socket 127.0.0.1:10000 ]
    [ 11/20/08 10:45:23.828 /opt/Ice-3.3/bin/icebox: Network: accepting tcp connections at 127.0.0.1:10000 ]
    [ 11/20/08 10:45:23.849 /opt/Ice-3.3/bin/icebox: Network: accepting tcp connections at 127.0.0.1:9999 ]
    [ 11/20/08 10:45:23.850 /opt/Ice-3.3/bin/icebox: Network: accepting tcp connections at 127.0.0.1:9998 ]


    #After starting server app.

    [ 11/20/08 10:45:37.497 /opt/Ice-3.3/bin/icebox: Network: accepted tcp connection
    local address = 127.0.0.1:9999
    remote address = 127.0.0.1:39196 ]
    [ 11/20/08 10:45:37.505 /opt/Ice-3.3/bin/icebox: Network: closing tcp connection
    local address = 127.0.0.1:9999
    remote address = 127.0.0.1:39196 ]
    [ 11/20/08 10:45:40.298 /opt/Ice-3.3/bin/icebox: Network: accepted tcp connection
    local address = 127.0.0.1:9999
    remote address = 127.0.0.1:39199 ]
    [ 11/20/08 10:45:40.338 /opt/Ice-3.3/bin/icebox: Network: accepted tcp connection
    local address = 127.0.0.1:9998
    remote address = 127.0.0.1:44272 ]
    [ 11/20/08 10:45:40.341 /opt/Ice-3.3/bin/icebox: Network: tcp connection established
    local address = 192.168.1.2:40829
    remote address = 192.168.1.2:58938 ]
    [ 11/20/08 10:45:40.341 /opt/Ice-3.3/bin/icebox: Network: closing tcp connection
    local address = 192.168.1.2:48730
    remote address = <not connected> ]
    [ 11/20/08 10:45:40.341 /opt/Ice-3.3/bin/icebox: Network: closing tcp connection
    local address = 127.0.0.1:42390
    remote address = <not connected> ]
    [ 11/20/08 10:45:40.341 /opt/Ice-3.3/bin/icebox: Network: tcp connection established
    local address = 192.168.1.2:40829
    remote address = 192.168.1.2:58938 ]

    ....

    #After start client app.
    [ 11/20/08 10:48:54.820 /opt/Ice-3.3/bin/icebox: Network: accepted tcp connection
    local address = 127.0.0.1:9999
    remote address = 127.0.0.1:42102 ]
    [ 11/20/08 10:48:59.967 /opt/Ice-3.3/bin/icebox: Network: closing tcp connection
    local address = 127.0.0.1:40804
    remote address = <not connected> ]
    [ 11/20/08 10:48:59.967 /opt/Ice-3.3/bin/icebox: Network: closing tcp connection
    local address = 127.0.0.1:40806
    remote address = <not connected> ]
    [ 11/20/08 10:48:59.968 /opt/Ice-3.3/bin/icebox: Network: tcp connection established
    local address = 127.0.0.1:50328
    remote address = 127.0.0.1:47977 ]
    [ 11/20/08 10:48:59.977 /opt/Ice-3.3/bin/icebox: Network: closing tcp connection
    local address = 192.168.1.2:38149
    remote address = <not connected> ]
    [ 11/20/08 10:48:59.988 /opt/Ice-3.3/bin/icebox: Network: tcp connection established
    local address = 192.168.1.2:55498
    remote address = 192.168.1.2:58938 ]
    [ 11/20/08 10:49:01.353 /opt/Ice-3.3/bin/icebox: Network: tcp connection established
    local address = 127.0.0.1:35229
    remote address = 127.0.0.1:34384 ]


    My question is why we got some connection with IP 192.168.1.2, connections with local address port number other than 9999, 9998, 10000? Also how we got connection with " remote address = <not connected>"?

    Thanks,
    Shifu
  • matthew
    matthew NL, Canada
    Hi Shifu,
    [ 11/20/08 10:45:40.341 /opt/Ice-3.3/bin/icebox: Network: tcp connection established
    local address = 192.168.1.2:40829
    remote address = 192.168.1.2:58938 ]

    This message is almost certainly IceStorm connecting to the subscriber. You should ensure that the endpoints used by the subscriber are suitably configured.

    Also, do you really need to use Ice.Default.Host, and Ice.Override.Timeout in your configuration? That is typically not necessary.

    Regards, Matthew
  • Hi, Matthew,

    I used Ice.Default.Host=myserver (127.0.0.1) on every configuration file in order that all connections only use one IP address. I don't how come the other IP address comes out. Yes, maybe I can remove Ice.Override.Timeout.

    Thank you for your reply.
    Shifu
  • matthew
    matthew NL, Canada
    If you have Ice.Default.Host set, and you do not have an endpoint configured on the endpoint, then the default host value will be used. That is:

    Ice.Default.Host=127.0.0.1
    Foo.Endpoints=tcp -p 10000

    The endpoint for the object adapter foo, in this case, will advertise 127.0.0.1.

    Foo.Endpoints=tcp -h 192.168.2.1 -p 10000

    In this case, the endpoint will advertise 192.168.2.1.

    I would suggest trying to duplicate your configuration with the clock demo (demo/IceStorm/clock). If things don't work as you expect, then let us know what configuration you are using with this demo, and we'll try to help!
  • Hi, Matthew,

    I have never used other IP address except myserver in the configuration files
    (and source code).

    I may try the demo to see what is going on.

    Thanks,
    Shifu
  • matthew wrote: »
    Also, do you really need to use Ice.Default.Host, and Ice.Override.Timeout in your configuration? That is typically not necessary.

    I aslo use these two properties in every config file.
    Without Ice.Default.Host, Ice<3.3.0 will produce an endpoint for every eth device, and publish these endpoints to IceGrid. But this causes huge problem to me.

    For example:
    All my servers have eth0 with external ip address and eth1 with internal ip address. Some of my clients have only internal ip address. These clients will periodically wait a timeout to the external endpoint.

    Ice-3.3.0 listens on 0.0.0.0 may solved this problem.
  • matthew
    matthew NL, Canada
    Brent, you can also solve that issue by explicitly setting the host on each of the endpoints.